/* デフォルト設定&定義 --------------------------------------*/

/* デフォルト設定 ---------------------------------- */

@keyframes floating-y {
    0% {
        transform: translateY(-1.5%);
    }

    100% {
        transform: translateY(1.5%);
    }
}

:root {
    /* Alarmboxのオレンジ（必要に応じて調整） */
    --alarm-orange: #ff6a00;
    --axis-color: #cfcfcf;
    --grid-color: #e9e9e9;
    --label-color: #666;
}

body {
    font-family: "noto-sans-jp";
    font-size: 16px;
    font-weight: 400;
    color: #333333;
    box-sizing: border-box !important;
}

img {
    width: 100%;
}

a,
input[type="radio"],
input[type="button"] {
    cursor: pointer;
}

/* End デフォルト設定 ---------------------------------- */

/* 定義 ------------------------------------------------*/
/* フォントサイズ ------------------------------------*/
.page_title {
    font-size: 42px;
}

.message_strong {
    font-size: 36px;
    color: #DB6525;
    font-weight: bold;
}

.head_l {
    font-size: 28px;
}

.head_s {
    font-size: 20px;
}

.text {
    font-size: 16px;
}

.text_etc {
    font-size: 14px;
}

.notes {
    font-size: 12px;
}

/* ※例外: そのスペースに合わせて調整したフォント */
/* End フォントサイズ ----------------------------------*/

/* 共有（bootstrapの代替）  -----------------------------------*/

.mb-1 {
    margin-bottom: 0.5rem;
}

.mb-2 {
    margin-bottom: 1rem;
}

.mb-3 {
    margin-bottom: 1.5rem;
}

.mb-4 {
    margin-bottom: 2rem;
}

.mb-5 {
    margin-bottom: 3rem;
}


/* 太さ  -----------------------------------*/
.fw-bl {
    font-weight: 900;
}

.fw-b {
    font-weight: 700;
}

.fw-m {
    font-weight: 500;
}

.fw-r {
    font-weight: 400;
}

/* ※通常: font-weight: 400; */
/* End 太さ  -----------------------------------*/


/* 配色 --------------------------------------*/
.text_strong {
    color: #DB6525;
    font-weight: 700;
}

.error_msg_items, .error_msg_item, .error_msg_accidental{
    color: #ee0101;
}

.bg_head1 {
    background-color: #F3AD18;
}

.bg_head2 {
    background-color: #F29118;
}

.bg_con1 {
    background-color: #FCE6B4;
}

.bg_con2 {
    background-color: #FDE9D1;
}

.bg_orange {
    background-color: #F3AD18;
}

.bg_lightorange {
    background-color: #FEF8EC;
}

.bg_white {
    background-color: #FFFFFF;
}

.bg_gray {
    background-color: #E9E9E9;
}

.bg_lightgray {
    background-color: #F8F8F8;
}

.bg_darkgray {
    background-color: #182E38;
}

/* ※例外: そのページに合わせて調整した配色 */
/* End 配色 --------------------------------------*/

/* その他 --------------------------------------*/
.primary_button {
    background-color: #0872CE;
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;

    a {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #ffffff;

        img {
            width: 6%;
        }

        p {
            padding-left: 10px;
        }

        &:hover {
            box-shadow: 0px 4px 2px rgba(8, 114, 206, 0.6);
        }
    }
}

.secondary_button {
    background-color: #fff;
    border: 1px solid #0872CE;
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;

    a {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #0872CE;

        img {
            width: 6%;
        }

        p {
            padding-left: 10px;
        }

        &:hover {
            box-shadow: 0px 4px 2px rgba(8, 114, 206, 0.6);
        }
    }
}

.tertiary_button {
    background-color: #fff;
    border: 1px solid #000000;
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;

    a {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #000000;

        img {
            width: 6%;
        }

        p {
            padding-left: 10px;
        }

        &:hover {
            box-shadow: 0px 4px 2px rgba(0, 0, 0, 0.3);
        }

    }
}

.form_next_button {
    background-color: #0872CE;
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    color: #FFF;
    border: none;
    width: 200px;
    height: 52px;
    font-size: 16px;

    &:hover {
        box-shadow: 0px 4px 2px rgba(8, 114, 206, 0.6);
    }
}

.form_prev_button {
    background-color: #E9E9E9;
    border: 1px solid #C9C9C9;
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    color: #333333;
    width: 200px;
    height: 52px;
    font-size: 16px;

    &:hover {
        box-shadow: 0px 4px 2px rgba(0, 0, 0, 0.3);
    }
}

.pc {
    display: block;
}

.sp {
    display: none !important;
}

.sp_flex {
    display: none !important;
}

/* End その他 --------------------------------------*/
/* End 定義---------------------------------------------- */
/* End 定義 & デフォルト設定 ------------------------------------- */


/* 全体項目 */
/* 下層ページ（お問い合わせ、資料請求以外） */
#real_estate,
#owner,
#tenant,
#guarantee,
#about,
#faq,
#document {

    /* ヘッダー */
    header {
        width: 100%;
        background-color: #FFFFFF;
        border-top: 5px solid #F3AD18;
        position: fixed;
        z-index: 999;
        transition: background-color 0.5s;

        >.inner {
            width: 96%;
            display: flex;
            justify-content: space-between;
            align-items: center;
            height: 80px;
            margin: 0 auto;
            padding: 0 2%;

            .header_logo {
                width: 150px;
            }

            .header_navi {
                width: 78%;

                .navi_section {
                    display: flex;
                    justify-content: space-around;
                    align-items: center;
                    font-size: 1cqw;

                    li {
                        position: relative;

                        &:not(:last-of-type) {
                            a {
                                color: #333333;

                                &:hover {
                                    opacity: 0.7;

                                    &:before {
                                        content: '';
                                        position: absolute;
                                        left: 50%;
                                        bottom: -25px;
                                        /*線の上下位置*/
                                        display: inline-block;
                                        width: 50px;
                                        /*線の長さ*/
                                        height: 2.5px;
                                        /*線の太さ*/
                                        -webkit-transform: translateX(-50%);
                                        transform: translateX(-50%);
                                        /*位置調整*/
                                        background-color: black;
                                        /*線の色*/
                                        border-radius: 3px;
                                        /*線の丸み*/
                                    }
                                }
                            }

                            div {
                                input {
                                    color: #333333;
                                    background-color: #FFF;
                                    border: none;
                                    cursor: pointer;
                                    font-size: 1cqw;
                                }

                                &:hover {
                                    opacity: 0.7;

                                    &:before {
                                        content: '';
                                        position: absolute;
                                        left: 50%;
                                        bottom: -20px;
                                        /*線の上下位置*/
                                        display: inline-block;
                                        width: 50px;
                                        /*線の長さ*/
                                        height: 2.5px;
                                        /*線の太さ*/
                                        -webkit-transform: translateX(-50%);
                                        transform: translateX(-50%);
                                        /*位置調整*/
                                        background-color: black;
                                        /*線の色*/
                                        border-radius: 3px;
                                        /*線の丸み*/
                                    }
                                }
                            }
                        }

                        &:last-of-type {
                            background-color: #F3AD18;
                            border-radius: 30px;
                            width: 90px;
                            height: 35px;
                            display: flex;
                            justify-content: center;
                            align-items: center;

                            input {
                                background-color: #0872CE;
                                border: none;
                                font-family: "noto-sans-jp";
                                font-size: 14px;
                                color: #FFF;
                                height: 35px;
                                width: 100%;
                                display: flex;
                                justify-content: center;
                                align-items: center;
                                border-radius: 30px;

                                &:hover {
                                    box-shadow: 0px 4px 2px rgba(0, 0, 0, 0.3);
                                    cursor: pointer;
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    /* End ヘッダー */

    /* フッター */
    footer {
        .cta {
            padding: 40px 0;

            >.inner {
                width: 96%;
                max-width: 1200px;
                margin: 0 auto;
                padding: 20px 0;
                border-radius: 7px;

                ul {
                    display: flex;
                    padding: 10px;
                    border-radius: 7px;

                    li {
                        width: 33%;
                        display: flex;
                        align-items: center;

                        .inner {
                            text-align: center;
                            width: 100%;
                        }
                    }

                    .phone {
                        .inner {
                            border-right: 2px solid #F3AD18;
                            padding: 20px 12px 20px 0;

                            >p {
                                letter-spacing: 2px;
                            }

                            a {
                                color: #333333;
                                display: flex;
                                justify-content: center;
                                width: 100%;
                                padding-top: 5px;

                                img {
                                    width: 10%;
                                    object-fit: contain;
                                }

                                p {
                                    font-size: clamp(28px, 3vw, 36px);
                                }
                            }

                            span {
                                padding-top: 8px;
                                display: block;
                                font-size: 14px;
                            }
                        }
                    }

                    .request,
                    .inquiry {
                        .inner {
                            >p {
                                font-size: 14px;
                            }

                            .button {
                                width: 80%;
                                margin: 0 auto;
                                margin-top: 10px;

                                a {
                                    padding: 20px 0;
                                    border-radius: 30px;
                                }
                            }
                        }
                    }
                }
            }
        }

        .navi {
            color: #FFF;

            a {
                color: #FFF;
            }

            >.inner {
                width: 96%;
                max-width: 1200px;
                margin: 0 auto;
                display: flex;
                justify-content: space-between;
                flex-wrap: wrap;
                padding: 60px 2% 0;

                .navi_text {
                    width: 75%;

                    .navi_logo {
                        display: flex;
                        align-items: center;
                        width: 60%;

                        a {
                            width: 55%;

                            img {
                                padding-right: 16px;
                                width: 90%;
                            }

                            &:hover {
                                opacity: 0.7;
                            }
                        }

                        >img {
                            width: 45%;
                        }
                    }

                    >ul {
                        display: flex;
                        justify-content: space-between;

                        >li {
                            padding-top: 20px;

                            >ul {
                                margin-top: 16px;
                                padding-top: 16px;
                                border-top: 1px solid #fff;

                                >li {
                                    font-size: 14px;
                                    margin-bottom: 16px;

                                    &:hover {
                                        filter: opacity(70%);
                                    }
                                }
                            }
                        }

                        >:nth-of-type(1) {
                            width: 30%;
                        }

                        >:nth-of-type(2) {
                            width: 30%;
                        }

                        >:nth-of-type(3) {
                            width: 35%;
                        }
                    }
                }

                .navi_icon {
                    width: 24%;
                    display: flex;
                    flex-wrap: wrap;

                    .sns {
                        width: 100%;
                        display: flex;
                        justify-content: flex-end;
                        align-items: center;
                        padding-top: 20px;
                        padding-bottom: 10px;

                        a {
                            img {
                                width: 100%;
                                object-fit: contain;

                                &:hover {
                                    filter: opacity(70%);
                                }
                            }
                        }

                        >:nth-of-type(1) {
                            margin-right: 20px;
                        }
                    }

                    .banner {
                        width: 100%;
                        display: flex;
                        justify-content: space-between;
                        align-items: flex-start;

                        >div:nth-of-type(1) {
                            width: 30%;
                            background-color: #FFF;

                            img {
                                width: 100%;
                                object-fit: contain;
                            }
                        }

                        >div:nth-of-type(2) {
                            width: 65%;

                            a {
                                background-color: #FFF;
                                display: block;

                                img {
                                    &:hover {
                                        filter: opacity(70%);
                                    }
                                }
                            }

                            p {
                                font-size: 10px;
                                text-align: right;
                                padding-top: 10px;
                                padding-top: 5px;
                                line-height: 1.35;
                            }
                        }
                    }
                }

                >p {
                    margin: 0 auto;
                    padding-top: 80px;
                    padding-bottom: 10px;
                }
            }
        }
    }

    /* End フッター */
}

/* End 下層ページ */

/* お問い合わせ、資料請求共通パーツ */
#inquiry_entry,
#inquiry_conf,
#inquiry_comp,
#request_entry,
#request_comp {

    /* ヘッダー */
    header {
        width: 100%;
        background-color: #FFFFFF;
        border-top: 5px solid #F3AD18;
        position: fixed;
        z-index: 999;
        transition: background-color 0.5s;

        >.inner {
            width: 100%;
            max-width: 1200px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            height: 80px;
            margin: 0 auto;

            .header_logo {
                width: 150px;
                padding-left: 12px;
            }
        }
    }

    /* End ヘッダー */
    /* フッター */
    footer {
        .navi {
            color: #FFF;

            a {
                color: #FFF;
            }

            >.inner {
                width: 100%;
                max-width: 1200px;
                margin: 0 auto;
                display: flex;
                justify-content: space-between;
                flex-wrap: wrap;

                >p {
                    margin: 0 auto;
                    padding: 20px 0;
                }
            }
        }
    }

    /* End フッター */
}

#inquiry_comp,
#request_comp {
    position: relative;

    footer {
        top: 100vh;
        width: 100%;
        position: absolute;
        transform: translate(0px, -54px);
    }
}

/* End お問い合わせ、資料請求共通パーツ */
/* End 全体項目 */


/* 個別項目 ------------------------------------- */
/* トップページ------------------------------------ */
#top {
    header {
        width: 100%;
        background-color: #8ED7E8;
        position: fixed;
        z-index: 999;
        transition: background-color 0.5s;
        transition: background-color 0.5s ease-in-out;

        >.inner {
            width: 96%;
            display: flex;
            justify-content: space-between;
            align-items: center;
            height: 80px;
            margin: 0 auto;
            padding: 0 2%;

            .header_logo {
                width: 150px;
            }

            .header_navi {
                width: 78%;

                .navi_section {
                    display: flex;
                    justify-content: space-around;
                    align-items: center;
                    font-size: 1cqw;
                    

                    li {
                        position: relative;

                        &:not(:last-of-type) {
                            a {
                                color: #333333;

                                &:hover {
                                    opacity: 0.7;

                                    &:before {
                                        content: '';
                                        position: absolute;
                                        left: 50%;
                                        bottom: -25px;
                                        /*線の上下位置*/
                                        display: inline-block;
                                        width: 50px;
                                        /*線の長さ*/
                                        height: 2.5px;
                                        /*線の太さ*/
                                        -webkit-transform: translateX(-50%);
                                        transform: translateX(-50%);
                                        /*位置調整*/
                                        background-color: black;
                                        /*線の色*/
                                        border-radius: 3px;
                                        /*線の丸み*/
                                    }
                                }
                            }

                            div {
                                input {
                                    color: #333333;
                                    background-color: #8ED7E8;
                                    border: none;
                                    cursor: pointer;
                                    font-size: 1cqw;
                                }

                                &:hover {
                                    opacity: 0.7;

                                    &:before {
                                        content: '';
                                        position: absolute;
                                        left: 50%;
                                        bottom: -20px;
                                        /*線の上下位置*/
                                        display: inline-block;
                                        width: 50px;
                                        /*線の長さ*/
                                        height: 2px;
                                        /*線の太さ*/
                                        -webkit-transform: translateX(-50%);
                                        transform: translateX(-50%);
                                        /*位置調整*/
                                        background-color: black;
                                        /*線の色*/
                                        border-radius: 3px;
                                        /*線の丸み*/
                                    }
                                }
                            }
                        }

                        &:nth-of-type(7) {
                            input {
                                transition: background-color 0.5s ease-in-out;
                            }
                        }

                        &:last-of-type {
                            border-radius: 30px;
                            width: 90px;
                            height: 35px;
                            display: flex;
                            justify-content: center;
                            align-items: center;

                            input {
                                background-color: #F3AD18;
                                color: #000000;
                                height: 35px;
                                width: 100%;
                                display: flex;
                                justify-content: center;
                                align-items: center;
                                border-radius: 30px;
                                border: none;
                                font-family: "noto-sans-jp";
                                font-size: 14px;

                                &:hover {
                                    box-shadow: 0px 4px 2px rgba(0, 0, 0, 0.3);
                                    cursor: pointer;
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    main {
        width: 100%;

        section {
            >.inner {
                width: 96%;
                max-width: 1200px;
                margin: 0 auto;
                padding: 0 2%;
            }
        }

        .main_visual {
            display: flex;
            background-color: rgb(233, 233, 233);
            width: 100%;
            padding-top: 80px;
            position: relative;
            min-height: clamp(360px, 90vh, 880px);
            height: auto;

            #lottie_pc {
                position: absolute;
                height: auto;
                width: 100%;
            }

            #lottie_sp {
                display: none;
            }

            >.inner {
                display: flex;
                height: auto;
                padding-top: 100px;

                .main_catch {
                    bottom: 5%;
                    width: 60%;
                    padding-left: 15%;
                    position: relative;

                    h1 {
                        :nth-of-type(1) {
                            font-size: 2cqw;
                        }

                        :nth-of-type(2) {
                            font-size: 4.52cqw;
                            padding-top: 10px;
                            display: block;
                        }
                    }
                }

                .sub_catch {
                    position: absolute;
                    width: 32cqw;
                    max-width: 400px;
                    top: 20%;
                    right: 5%;

                    .title-area {
                        display: flex;
                        flex-wrap: wrap;
                        justify-content: center;
                        color: #FFFFFF;
                        padding: 15px;

                        h2 {
                            font-size: 2.25cqw;
                            padding: 5px 0;
                        }
                    }

                    .button_area {
                        background-color: rgba(255, 255, 255, 0.9);

                        .inner {
                            display: flex;
                            justify-content: center;
                            flex-wrap: wrap;
                            padding-top: 20px;
                            width: 80%;
                            margin: 0 auto;

                            .button {
                                width: 100%;
                                margin: 0 auto;
                                height: 44px;

                                a {
                                    border-radius: 30px;
                                }
                            }

                            .phone {
                                width: 100%;
                                padding: 10px 0 20px 0;

                                span {
                                    font-size: 14px;
                                }

                                a {
                                    color: #333333;
                                    display: flex;
                                    flex-wrap: wrap;
                                    justify-content: center;
                                    padding-top: 5px;

                                    img {
                                        width: 10%;
                                        padding-top: 2px;
                                        object-fit: contain;
                                    }

                                    p {
                                        font-size: clamp(24px, 3vw, 28px);
                                    }
                                }
                            }

                            :nth-of-type(2) {
                                margin-top: 10px;
                            }

                            :nth-of-type(3) {
                                margin-top: 10px;
                            }
                        }
                    }
                }
            }
        }

        @media (min-width: 767.98px) and (max-width: 991.98px) {
            .main_visual {
                min-height: 65vh;
            }
        }

        .user_category {
            >.inner {
                padding: 4% 2%;

                ul {
                    display: flex;
                    justify-content: space-between;

                    li {
                        width: 23.5%;
                        border-radius: 7px;
                        background-color: #fff;
                        box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.15);

                        .inner {
                            width: 88%;
                            margin: 0 auto;
                            padding: 20px 0 20px 0;
                            display: flex;
                            flex-direction: column;
                            height: 100%;
                            box-sizing: border-box;

                            .title {
                                text-align: center;
                            }

                            .image {
                                height: 112px;
                                display: flex;
                                justify-content: center;
                                align-items: flex-end;
                                border-radius: 7px;
                                margin-top: 12px;

                                img {
                                    height: 100%;
                                    width: auto;
                                }
                            }

                            .message {
                                padding-top: 12px;
                                padding-left: 3px;
                                line-height: 1.35;
                                letter-spacing: 1px;
                            }

                            .button {
                                width: 80%;
                                height: 36px;
                                margin: 0 auto;
                                margin-top: auto;

                                a {
                                    border-radius: 30px;

                                    &:hover {
                                        box-shadow: 0px 4px 2px rgba(0, 0, 0, 0.3);
                                    }
                                }
                            }
                        }
                    }

                    li:nth-of-type(1) {
                        border: 2px solid #73A6CD;

                        .image {
                            background-color: #E1F3FF;
                        }

                        .button {
                            margin-top: 20px;
                        }
                    }

                    li:nth-of-type(2) {
                        border: 2px solid #EF9A6B;

                        .image {
                            background-color: #ffe7d9;
                        }
                    }

                    li:nth-of-type(3) {
                        border: 2px solid #6EBC86;

                        .image {
                            background-color: #E1F9E9;
                        }
                    }

                    li:nth-of-type(4) {
                        border: 2px solid #D2CE6C;

                        .image {
                            background-color: #FFFAD9;
                        }
                    }
                }
            }
        }

        .case {
            .inner {
                padding-top: 80px;
                padding-bottom: 60px;

                h2 {
                    text-align: center;
                    position: relative;

                    &:before {
                        content: '';
                        position: absolute;
                        left: 50%;
                        bottom: -25px;
                        /*線の上下位置*/
                        display: inline-block;
                        width: 50px;
                        /*線の長さ*/
                        height: 2.5px;
                        /*線の太さ*/
                        -webkit-transform: translateX(-50%);
                        transform: translateX(-50%);
                        /*位置調整*/
                        background-color: black;
                        /*線の色*/
                        border-radius: 3px;
                        /*線の丸み*/
                    }
                }

                ul {
                    display: flex;
                    justify-content: space-between;
                    padding-top: 80px;

                    li {
                        width: 32%;
                        border: 2px solid #F5AF18;
                        border-radius: 7px;
                        position: relative;

                        .inner {
                            padding: 50px 20px 20px 20px;

                            span {
                                position: absolute;
                                top: 0;
                                left: 0;
                                display: flex;
                                justify-content: center;
                                align-items: center;
                                width: 100px;
                                height: 30px;
                                background-color: #F5AF18;
                                text-align: center;
                                border-radius: 0 0 7px 0;
                            }

                            .overview {
                                display: flex;

                                img {
                                    width: 35%;
                                    object-fit: contain;
                                }

                                .text {
                                    width: 60%;
                                    padding-left: 5%;
                                    line-height: 1.2;

                                    .about {
                                        padding-top: 10px;
                                    }
                                }
                            }

                            .detail {
                                line-height: 1.35;
                                padding-top: 10px;
                            }
                        }
                    }
                }
            }
        }

        .message {
            .inner {
                padding-top: 56px;
                padding-bottom: 60px;

                h2,
                p {
                    text-align: center;
                }

                p {
                    padding-top: 32px;
                    line-height: 2;
                    letter-spacing: 0.5px;
                }
            }
        }
    }

    footer {
        .cta {
            >.inner {
                width: 96%;
                max-width: 1200px;
                margin: 0 auto;
                padding: 40px 2%;

                ul {
                    display: flex;

                    li {
                        width: 33%;
                        display: flex;
                        align-items: center;

                        .inner {
                            text-align: center;
                            width: 100%;
                        }
                    }

                    .phone {
                        .inner {
                            border-right: 2px solid #F3AD18;
                            padding: 20px 12px 20px 0;

                            >p {
                                letter-spacing: 2px;
                            }

                            a {
                                color: #333333;
                                display: flex;
                                justify-content: center;
                                width: 100%;
                                padding-top: 5px;

                                img {
                                    width: 10%;
                                    object-fit: contain;
                                }

                                p {
                                    font-size: clamp(30px, 3vw, 36px);
                                }
                            }

                            span {
                                padding-top: 8px;
                                display: block;
                                font-size: 14px;
                            }
                        }
                    }

                    .request,
                    .inquiry {
                        .inner {
                            >p {
                                font-size: 14px;
                            }

                            .button {
                                width: 77%;
                                margin: 0 auto;
                                margin-top: 10px;

                                a {
                                    padding: 20px 0;
                                    border-radius: 30px;
                                }
                            }
                        }
                    }
                }
            }
        }

        .navi {
            color: #FFF;

            a {
                color: #FFF;
            }

            >.inner {
                width: 92%;
                max-width: 1200px;
                margin: 0 auto;
                padding: 60px 4% 0;
                display: flex;
                justify-content: space-between;
                flex-wrap: wrap;

                .navi_text {
                    width: 75%;

                    .navi_logo {
                        display: flex;
                        align-items: center;

                        a {
                            width: 30%;
                            padding-right: 2.5%;

                            img {
                                width: 85%;
                            }
                        }

                        >img {
                            width: 25%;
                        }
                    }

                    >ul {
                        display: flex;
                        justify-content: space-between;

                        >li {
                            padding-top: 20px;

                            >ul {
                                margin-top: 16px;
                                padding-top: 16px;
                                border-top: 1px solid #fff;

                                >li {
                                    font-size: 14px;
                                    margin-bottom: 10px;

                                    &:hover {
                                        filter: opacity(70%);
                                    }
                                }
                            }
                        }

                        >:nth-of-type(1) {
                            width: 30%;
                        }

                        >:nth-of-type(2) {
                            width: 30%;
                        }

                        >:nth-of-type(3) {
                            width: 35%;
                        }
                    }
                }

                .navi_icon {
                    width: 24%;
                    display: flex;
                    flex-wrap: wrap;

                    .sns {
                        width: 100%;
                        display: flex;
                        justify-content: flex-end;
                        align-items: center;
                        padding-top: 20px;
                        padding-bottom: 10px;

                        a {
                            img {
                                width: 100%;
                                object-fit: contain;

                                &:hover {
                                    filter: opacity(70%);
                                }
                            }
                        }

                        >:nth-of-type(1) {
                            margin-right: 20px;
                        }
                    }

                    .banner {
                        width: 100%;
                        display: flex;
                        justify-content: space-between;
                        align-items: flex-start;

                        >div:nth-of-type(1) {
                            width: 30%;
                            background-color: #FFF;

                            img {
                                width: 100%;
                                object-fit: contain;

                                &:hover {
                                    filter: opacity(70%);
                                }
                            }
                        }

                        >div:nth-of-type(2) {
                            width: 65%;

                            a {
                                background-color: #FFF;
                                display: block;

                                img {
                                    &:hover {
                                        filter: opacity(70%);
                                    }
                                }
                            }

                            p {
                                font-size: 10px;
                                text-align: right;
                                padding-top: 10px;
                                padding-top: 5px;
                                line-height: 1.35;
                            }
                        }
                    }
                }

                >p {
                    margin: 0 auto;
                    padding-top: 80px;
                    padding-bottom: 10px;
                }
            }
        }
    }

    /* チャットボット */
    .open-chat {
        border: solid 4px #fff;
        border-radius: 100px;
        position: fixed;
        bottom: 50px;
        right: 50px;
        width: 140px;
        height: 140px;
        box-shadow: 1px 2px 6px 3px rgba(100, 100, 100, 0.3);
        cursor: pointer;
        animation: floating-y 1.2s ease-in-out infinite alternate-reverse;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.5s ease, visibility 0.5s;
    }

    .open-chat.show {
        opacity: 1;
        visibility: visible;
    }

    .open-chat-bg {
        background-color: #00A89C;
        border-radius: 100px;
        text-align: center;
        width: 100%;
        height: 100%;

        & img {
            width: 100px;
            margin-left: -20px;
        }

        & p {
            color: #fff;
            font-feature-settings: 'palt' 1;
        }
    }

    .close-chat-icon {
        background-color: #fff;
        border-radius: 100px;
        position: absolute;
        right: 0;
        width: 35px;
        height: 35px;
    }

    .close-icon {
        color: #989898;
        font-weight: bold;
        line-height: 2;
    }

    .chat-button {
        position: fixed;
        bottom: 20px;
        right: 20px;
        background-color: #00A89C;
        color: white;
        border: none;
        border-radius: 50%;
        width: 60px;
        height: 60px;
        font-size: 24px;
        cursor: pointer;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    }

    .chat-container {
        width: 450px;
        height: 70vh;
        border: 1px solid #ccc;
        border-radius: 10px 10px 0 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        background-color: white;
        position: fixed;
        bottom: 0;
        right: 20px;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
        display: none;
    }

    .chat-header {
        background-color: #00A89C;
        color: white;
        padding: 10px 20px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .close-chat {
        background: none;
        border: none;
        color: white;
        font-size: 20px;
        font-weight: bold;
        cursor: pointer;
    }

    .chat-messages {
        flex-grow: 1;
        font-size: 12px;
        overflow-y: auto;
        padding: 20px;
        .message {
            line-height: 1.25;
            margin-bottom: 10px;
            padding: 8px 12px;
            border-radius: 10px;
            max-width: 70%;
            position: relative;
        }

        .message::after {
            content: '';
            position: absolute;
            top: 10px;
            width: 0;
            height: 0;
            border: 15px solid transparent;
        }
    }

    .bot-message-container {
        display: flex;
        align-items: start;
        margin-bottom: 15px;
    }

    .bot-message {
        background-color: #EDEDED;
        align-self: flex-start;
        margin-left: 5px;
        min-height: 31px;
        min-width: 70px;

        & .question {
            background-color: #fff;
            border: solid 1px #00A89C;
            border-radius: 50px;
            display: block;
            padding: 10px;
            margin-bottom: 5px;
            text-align: center;
            width: 100%;

            &:nth-of-type(1) {
                margin-top: 10px;
            }
        }
    }

    .bot-message::after {
        left: -14px;
        border: 5px solid transparent;
        border-right: 10px solid #EDEDED;
    }

    .bot-message-link {
        color: blue !important;
        text-decoration: underline;
        overflow-wrap: break-word;
    }

    .bot-icon {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        margin-right: 10px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 20px;
        color: white;
    }

    .bot-icon {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        margin-right: 10px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 20px;
        color: white;

        & img {
            width: 35px;
        }
    }

    .user-message {
        background-color: #00A89C;
        color: white;
        align-self: flex-end;
        margin-left: auto;
    }

    .user-message::after {
        right: -14px;
        border: 5px solid transparent;
        border-left: 10px solid #00A89C;
    }

    .chat-input {
        display: flex;
        padding-left: 5px;
        border-top: 1px solid #ccc;
    }

    .chat-input input {
        flex-grow: 1;
        font-size: 1rem;
        border: none;
        padding: 0.75rem;
        border-radius: 20px;
        margin-right: 10px;
        outline: none;
    }

    .chat-input input::placeholder {
        color: #989898
    }

    .chat-input button {
        background-color: #00A89C;
        color: white;
        border: none;
        padding: 5px 15px;
        cursor: pointer;
    }

}

/* End トップページ------------------------------------ */

/* 管理会社さまページ */
#real_estate {
    main {
        width: 100%;

        section {
            >.inner {
                width: 96%;
                max-width: 1200px;
                margin: 0 auto;
                padding: 0 2%;
            }
        }

        >.title {
            display: flex;
            width: 100%;
            padding-top: 80px;
            background: linear-gradient(rgba(225, 243, 255, 0.95)), url("../images/image_bg_01.png");

            >.inner {
                display: flex;
                height: 160px;
                justify-content: center;
                align-items: center;
            }
        }

        .main_visual {
            >.inner {
                display: flex;
                padding-top: 120px;
                padding-bottom: 60px;
                justify-content: space-between;
                position: relative;

                .breadcrumb {
                    position: absolute;
                    top: 12px;
                    font-size: 14px;
                    display: flex;

                    a {
                        text-decoration: underline;
                        color: #0872CE;
                        margin-right: 6px;
                    }
                }

                .text {
                    width: 60%;

                    p {
                        padding-top: 42px;
                        letter-spacing: 1.5px;
                        line-height: 2;
                    }

                    ;
                }

                .image {
                    width: 30%;
                }
            }
        }

        .user_merit {
            >.inner {
                padding: 80px 0;

                >h2 {
                    text-align: center;
                    position: relative;

                    &:before {
                        content: '';
                        position: absolute;
                        left: 50%;
                        bottom: -25px;
                        /*線の上下位置*/
                        display: inline-block;
                        width: 50px;
                        /*線の長さ*/
                        height: 2.5px;
                        /*線の太さ*/
                        -webkit-transform: translateX(-50%);
                        transform: translateX(-50%);
                        /*位置調整*/
                        background-color: black;
                        /*線の色*/
                        border-radius: 3px;
                        /*線の丸み*/
                    }
                }

                ul {
                    display: flex;
                    justify-content: space-between;
                    padding-top: 80px;

                    li {
                        width: 32%;
                        border-radius: 7px;
                        background-color: #fff;
                        box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.15);
                        border: 2px solid #F5AF18;

                        .inner {
                            width: 88%;
                            margin: 0 auto;
                            padding: 24px 0 24px 0;
                            display: flex;
                            flex-direction: column;
                            height: 100%;
                            box-sizing: border-box;

                            .title {
                                text-align: center;
                                padding-top: 24px;
                            }

                            .image {
                                height: 112px;
                                display: flex;
                                justify-content: center;
                                align-items: flex-end;
                                border-radius: 7px;
                                margin-top: 12px;

                                img {
                                    height: 100%;
                                    width: auto;
                                }
                            }

                            .message {
                                padding-top: 20px;
                                line-height: 1.6;
                                text-align: left;
                            }
                        }
                    }

                    li:nth-of-type(1) {
                        .image {
                            /* img{width: 50%;} */
                        }
                    }

                    li:nth-of-type(2) {
                        .image {
                            /* img{width: 40%;} */
                        }
                    }

                    li:nth-of-type(3) {
                        .image {
                            /* img{width: 40%;} */
                        }
                    }
                }
            }
        }

        .property {
            background-color: #E1F3FF;

            >.inner {
                padding: 80px 0;

                >h2 {
                    text-align: center;
                    position: relative;

                    &:before {
                        content: '';
                        position: absolute;
                        left: 50%;
                        bottom: -25px;
                        /*線の上下位置*/
                        display: inline-block;
                        width: 50px;
                        /*線の長さ*/
                        height: 2.5px;
                        /*線の太さ*/
                        -webkit-transform: translateX(-50%);
                        transform: translateX(-50%);
                        /*位置調整*/
                        background-color: black;
                        /*線の色*/
                        border-radius: 3px;
                        /*線の丸み*/
                    }
                }

                ul {
                    display: flex;
                    justify-content: space-between;
                    width: 75%;
                    margin: 0 auto;
                    padding-top: 80px;

                    li {
                        width: 15%;

                        .inner {
                            .image {
                                background-color: #FFF;
                                padding: 16px 0;
                                height: 80px;
                                display: flex;
                                align-items: center;
                                border-radius: 7px;

                                img {
                                    display: block;
                                    margin: 0 auto;
                                }
                            }

                            p {
                                text-align: center;
                                padding-top: 12px;
                            }
                        }
                    }

                    li:nth-of-type(1) {
                        .inner {
                            .image {
                                img {
                                    width: 50%;
                                }
                            }
                        }
                    }

                    li:not(:nth-of-type(1)) {
                        .inner {
                            .image {
                                img {
                                    width: 58%;
                                }
                            }
                        }
                    }
                }
            }
        }

        .plan {
            .inner {
                padding: 80px 0 40px 0;

                h2 {
                    text-align: center;
                    position: relative;

                    &:before {
                        content: '';
                        position: absolute;
                        left: 50%;
                        bottom: -25px;
                        /*線の上下位置*/
                        display: inline-block;
                        width: 50px;
                        /*線の長さ*/
                        height: 2.5px;
                        /*線の太さ*/
                        -webkit-transform: translateX(-50%);
                        transform: translateX(-50%);
                        /*位置調整*/
                        background-color: black;
                        /*線の色*/
                        border-radius: 3px;
                        /*線の丸み*/
                    }
                }

                table {
                    width: 85%;
                    text-align: center;
                    margin-top: 80px;
                    border-collapse: collapse;
                    margin: 0 auto;
                    padding-top: 80px;

                    tr {
                        display: flex;
                        justify-content: center;
                        border-bottom: 1px solid #C9C9C9;

                        th {
                            width: 24%;
                            display: flex;
                            justify-content: center;
                            align-items: center;
                        }

                        td {
                            width: 38%;
                            display: flex;
                            justify-content: center;
                            align-items: center;
                            border-right: 1px solid #C9C9C9;
                        }

                        td:nth-of-type(1) {
                            border-left: 1px solid #C9C9C9;
                        }

                        td:nth-of-type(2) {
                            border-right: none;
                        }
                    }

                    .plan-name {
                        border-bottom: 0;

                        td {
                            height: 72px;
                            border-bottom: 1px solid #C9C9C9;
                        }

                        :nth-of-type(1) {
                            border-radius: 7px 0 0 0;
                        }

                        :nth-of-type(2) {
                            border-radius: 0 7px 0 0;
                        }
                    }

                    .plan-description {
                        border-bottom: none;

                        th {
                            position: relative;

                            img {
                                position: absolute;
                                width: 50%;
                            }

                            p {
                                position: absolute;
                                bottom: 113%;
                                left: 51%;
                                transform: translate(-50%, 0);
                                z-index: 3;
                                line-height: 1.2;
                                width: 100%;
                            }

                            img:nth-of-type(1) {
                                bottom: 80%;
                                left: 50%;
                                transform: translate(-50%, 0);
                                z-index: 2;
                                height: 90%;
                                width: auto;
                            }

                            img:nth-of-type(2) {
                                bottom: -5%;
                                left: 50%;
                                transform: translate(-50%, 0);
                                z-index: 1;
                                height: 80%;
                                width: auto;
                            }
                        }

                        td {
                            box-sizing: border-box;
                            padding: 20px 5%;
                            line-height: 1.2;
                            letter-spacing: 1px;
                            text-align: left;
                        }

                        td:nth-of-type(2) {
                            display: flex;
                            flex-wrap: wrap;

                            a {
                                text-decoration: underline;
                                color: #0872CE;
                            }
                        }
                    }

                    .range {
                        th {
                            border-radius: 7px 0 0 0;
                        }

                        td {
                            width: 76%;
                            display: flex;
                            flex-wrap: wrap;
                            justify-content: center;
                            padding: 20px 0 32px 0;

                            ul {
                                display: flex;
                                flex-wrap: wrap;
                                width: 85%;

                                li {
                                    width: 33%;
                                    display: flex;
                                    padding: 12px 8px;
                                    box-sizing: border-box;

                                    img {
                                        width: 10%;
                                        object-fit: contain;
                                    }
                                }
                            }

                            p {
                                display: block;
                                width: 85%;
                                text-align: left;
                            }
                        }
                    }

                    .limitation {
                        td {
                            width: 76%;
                            padding: 32px 0;
                        }
                    }

                    .initial-fee,
                    .yearly-fee,
                    .monthly-fee {
                        td {
                            padding: 24px 0;
                        }
                    }

                    .monthly-fee {
                        border-bottom: 0;

                        th {
                            border-radius: 0 0 0 7px;
                        }

                        .bg_con2 {
                            display: block;
                            div {
                                margin-top: 0.5rem;
                            }
                        }

                        td:nth-of-type(2) {
                            border-radius: 0 0 7px 0;
                        }
                    }
                }
            }
        }

        .case {
            .inner {
                padding-top: 80px;
                padding-bottom: 40px;

                h2 {
                    text-align: center;
                    position: relative;

                    &:before {
                        content: '';
                        position: absolute;
                        left: 50%;
                        bottom: -25px;
                        /*線の上下位置*/
                        display: inline-block;
                        width: 50px;
                        /*線の長さ*/
                        height: 2.5px;
                        /*線の太さ*/
                        -webkit-transform: translateX(-50%);
                        transform: translateX(-50%);
                        /*位置調整*/
                        background-color: black;
                        /*線の色*/
                        border-radius: 3px;
                        /*線の丸み*/
                    }
                }

                ul {
                    display: flex;
                    justify-content: space-between;
                    padding-top: 80px;

                    li {
                        width: 32%;
                        border: 2px solid #F5AF18;
                        border-radius: 7px;
                        position: relative;
                        background: #FFF;

                        .inner {
                            padding: 50px 20px 20px 20px;

                            span {
                                position: absolute;
                                top: 0;
                                left: 0;
                                display: flex;
                                justify-content: center;
                                align-items: center;
                                width: 100px;
                                height: 30px;
                                background-color: #F5AF18;
                                text-align: center;
                                border-radius: 0 0 7px 0;
                            }

                            .overview {
                                display: flex;

                                img {
                                    width: 35%;
                                    object-fit: contain;
                                }

                                .text {
                                    width: 60%;
                                    padding-left: 5%;
                                    line-height: 1.2;

                                    .about {
                                        padding-top: 10px;
                                    }
                                }
                            }

                            .detail {
                                line-height: 1.35;
                                padding-top: 10px;
                            }
                        }
                    }
                }
            }
        }

        .apply {
            background-color: #E1F3FF;

            >.inner {
                padding: 80px 0 40px 0;

                h2 {
                    text-align: center;
                    position: relative;

                    &:before {
                        content: '';
                        position: absolute;
                        left: 50%;
                        bottom: -25px;
                        /*線の上下位置*/
                        display: inline-block;
                        width: 50px;
                        /*線の長さ*/
                        height: 2.5px;
                        /*線の太さ*/
                        -webkit-transform: translateX(-50%);
                        transform: translateX(-50%);
                        /*位置調整*/
                        background-color: black;
                        /*線の色*/
                        border-radius: 3px;
                        /*線の丸み*/
                    }
                }

                >p {
                    text-align: center;
                    padding-top: 80px;
                }

                .flow {
                    width: 100%;
                    padding-top: 60px;

                    li {
                        .inner {
                            display: flex;
                            border: 2px solid #F3AD18;
                            border-radius: 7px;
                            position: relative;
                            background-color: #FFF;

                            .step {
                                width: 10%;
                                background-color: #F3AD18;
                                color: #fff;
                                padding: 20px 0;
                                text-align: center;
                                clip-path: polygon(0 0, 80% 0, 100% 50%, 80% 100%, 0 100%);
                                position: relative;
                                border: 2px solid #F3AD18;

                                p {
                                    font-size: 24px;
                                    font-weight: bold;
                                    position: absolute;
                                    top: 50%;
                                    left: 50%;
                                    transform: translate(-55%, -50%);

                                    span {
                                        font-size: 48px;
                                        font-weight: bold;
                                    }
                                }
                            }

                            .text {
                                width: 75%;
                                padding: 24px 0px 24px 20px;

                                h3 {
                                    font-size: 20px;
                                }

                                p {
                                    a {
                                        text-decoration: underline;
                                        color: #0872CE;
                                    }
                                }

                                p:nth-of-type(1) {
                                    padding-top: 12px;
                                    line-height: 1.5;
                                }

                                .notes {
                                    padding-top: 12px;
                                }
                            }

                            .image {
                                width: 15%;
                                display: flex;
                                align-items: center;

                                img {
                                    display: block;
                                    width: 100%;
                                    margin: 0 auto;
                                }
                            }

                            .triangle {
                                position: absolute;
                                top: 100%;
                                left: 50%;
                                width: 0;
                                height: 0;
                                border-style: solid;
                                border-right: 36px solid transparent;
                                border-left: 36px solid transparent;
                                border-top: 36px solid #F3AD18;
                                border-bottom: 0;
                            }
                        }
                    }

                    li:nth-of-type(1) {
                        .inner {
                            .image {
                                img {
                                    width: 60%;
                                }
                            }
                        }
                    }

                    li:nth-of-type(2) {
                        padding-top: 60px;

                        .inner {
                            .text {
                                display: flex;
                                flex-wrap: wrap;
                                align-items: center;

                                p {
                                    width: 100%;
                                }
                            }

                            .image {
                                img {
                                    width: 80%;
                                    padding: 24px 0;
                                }
                            }
                        }
                    }

                    li:nth-of-type(3) {
                        padding-top: 60px;

                        .inner {
                            .text {
                                display: flex;
                                flex-wrap: wrap;
                                align-items: center;

                                p {
                                    width: 100%;
                                    padding: 0;
                                }
                            }

                            .image {
                                img {
                                    width: 50%;
                                    padding: 16px 0;
                                }
                            }
                        }
                    }

                }

                .annotation {
                    padding-top: 8px;
                    line-height: 1.8;

                    a {
                        text-decoration: underline;
                        color: #0872CE;
                    }
                }
            }
        }

        .document {
            >.inner {
                padding: 80px 0 40px 0;

                h2 {
                    text-align: center;
                    position: relative;

                    &:before {
                        content: '';
                        position: absolute;
                        left: 50%;
                        bottom: -25px;
                        /*線の上下位置*/
                        display: inline-block;
                        width: 50px;
                        /*線の長さ*/
                        height: 2.5px;
                        /*線の太さ*/
                        -webkit-transform: translateX(-50%);
                        transform: translateX(-50%);
                        /*位置調整*/
                        background-color: black;
                        /*線の色*/
                        border-radius: 3px;
                        /*線の丸み*/
                    }
                }

                table {
                    width: 100%;
                    margin-top: 80px;
                    border-collapse: collapse;
                    border-radius: 7px;

                    tr {
                        display: flex;
                        align-items: center;
                        height: 80px;
                        border-bottom: 1px solid #C9C9C9;

                        th {
                            width: 26%;
                            height: 100%;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                        }

                        td {
                            width: 37%;
                            height: 100%;
                            display: flex;
                            align-items: center;
                            box-sizing: border-box;

                            .inner {
                                display: flex;
                                align-items: center;

                                img {
                                    width: 20px;
                                    padding-right: 10px;
                                }
                            }
                        }

                        td:nth-of-type(2) {
                            border-right: none;
                        }
                    }

                    tr:nth-of-type(1) {
                        th {
                            border-radius: 7px 0 0 0;
                        }

                        td {
                            justify-content: center;
                        }

                        td:nth-of-type(2) {
                            border-radius: 0 7px 0 0;
                        }
                    }

                    tr:nth-of-type(5) {
                        height: 120px;
                        border-bottom: none;

                        th {
                            border-radius: 0 0 0 7px;
                        }

                        td:nth-of-type(2) {
                            border-radius: 0 0 7px 0;
                        }
                    }

                    tr:not(:nth-of-type(1)) {
                        td {
                            padding-left: 10%;
                        }
                    }

                    .company,
                    .freelance {
                        td:nth-of-type(1) {
                            .inner {
                                padding-left: 30px;
                            }
                        }
                    }

                    .startup {
                        td {
                            .inner {
                                display: initial;

                                div:nth-of-type(1) {
                                    display: flex;
                                    align-items: center;
                                    justify-content: left;
                                }

                                div:nth-of-type(2) {
                                    display: flex;
                                    align-items: center;
                                    justify-content: left;
                                    padding-top: 12px;
                                }
                            }
                        }

                        td:nth-of-type(1) {
                            div:nth-of-type(2) {
                                padding-left: 30px;
                            }
                        }
                    }
                }
            }
        }
    }
}

/* End 管理会社さまページ */

/* オーナーさまページ */
#owner {
    main {
        width: 100%;

        section {
            >.inner {
                width: 96%;
                max-width: 1200px;
                margin: 0 auto;
                padding: 0 2%;
            }
        }

        >.title {
            display: flex;
            width: 100%;
            padding-top: 80px;
            background: linear-gradient(rgb(255 231 217 / 95%)), url("../images/image_bg_01.png");

            >.inner {
                display: flex;
                height: 160px;
                justify-content: center;
                align-items: center;
            }
        }

        .main_visual {
            >.inner {
                display: flex;
                padding-top: 120px;
                padding-bottom: 60px;
                justify-content: space-between;
                position: relative;

                .breadcrumb {
                    position: absolute;
                    top: 12px;
                    font-size: 14px;
                    display: flex;

                    a {
                        text-decoration: underline;
                        color: #0872CE;
                        margin-right: 6px;
                    }
                }

                .text {
                    width: 60%;

                    p {
                        padding-top: 42px;
                        letter-spacing: 1.5px;
                        line-height: 2;
                    }

                    ;
                }

                .image {
                    width: 30%;
                }
            }
        }

        .user_merit {
            >.inner {
                padding: 80px 0;

                >h2 {
                    text-align: center;
                    position: relative;

                    &:before {
                        content: '';
                        position: absolute;
                        left: 50%;
                        bottom: -25px;
                        /*線の上下位置*/
                        display: inline-block;
                        width: 50px;
                        /*線の長さ*/
                        height: 2.5px;
                        /*線の太さ*/
                        -webkit-transform: translateX(-50%);
                        transform: translateX(-50%);
                        /*位置調整*/
                        background-color: black;
                        /*線の色*/
                        border-radius: 3px;
                        /*線の丸み*/
                    }
                }

                ul {
                    display: flex;
                    justify-content: space-between;
                    padding-top: 80px;

                    li {
                        width: 32%;
                        border-radius: 7px;
                        background-color: #fff;
                        box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.15);
                        border: 2px solid #F5AF18;

                        .inner {
                            width: 88%;
                            margin: 0 auto;
                            padding: 24px 0 24px 0;
                            display: flex;
                            flex-direction: column;
                            height: 100%;
                            box-sizing: border-box;

                            .title {
                                text-align: center;
                                padding-top: 24px;
                            }

                            .image {
                                height: 112px;
                                display: flex;
                                justify-content: center;
                                align-items: flex-end;
                                border-radius: 7px;
                                margin-top: 12px;

                                img {
                                    height: 100%;
                                    width: auto;
                                }
                            }

                            .message {
                                padding-top: 20px;
                                line-height: 1.6;
                                text-align: left;
                            }
                        }
                    }

                    li:nth-of-type(3) {
                        .image {
                            img {
                                height: 90%;
                            }
                        }
                    }
                }
            }
        }

        .property {
            background-color: rgb(255 231 217);

            >.inner {
                padding: 80px 0;

                >h2 {
                    text-align: center;
                    position: relative;

                    &:before {
                        content: '';
                        position: absolute;
                        left: 50%;
                        bottom: -25px;
                        /*線の上下位置*/
                        display: inline-block;
                        width: 50px;
                        /*線の長さ*/
                        height: 2.5px;
                        /*線の太さ*/
                        -webkit-transform: translateX(-50%);
                        transform: translateX(-50%);
                        /*位置調整*/
                        background-color: black;
                        /*線の色*/
                        border-radius: 3px;
                        /*線の丸み*/
                    }
                }

                ul {
                    display: flex;
                    justify-content: space-between;
                    width: 75%;
                    margin: 0 auto;
                    padding-top: 80px;

                    li {
                        width: 15%;

                        .inner {
                            .image {
                                background-color: #FFF;
                                padding: 16px 0;
                                height: 80px;
                                display: flex;
                                align-items: center;
                                border-radius: 7px;

                                img {
                                    display: block;
                                    margin: 0 auto;
                                }
                            }

                            p {
                                text-align: center;
                                padding-top: 12px;
                            }
                        }
                    }

                    li:nth-of-type(1) {
                        .inner {
                            .image {
                                img {
                                    width: 50%;
                                }
                            }
                        }
                    }

                    li:not(:nth-of-type(1)) {
                        .inner {
                            .image {
                                img {
                                    width: 58%;
                                }
                            }
                        }
                    }
                }
            }
        }

        .plan {
            .inner {
                padding: 80px 0 40px 0;

                h2 {
                    text-align: center;
                    position: relative;

                    &:before {
                        content: '';
                        position: absolute;
                        left: 50%;
                        bottom: -25px;
                        /*線の上下位置*/
                        display: inline-block;
                        width: 50px;
                        /*線の長さ*/
                        height: 2.5px;
                        /*線の太さ*/
                        -webkit-transform: translateX(-50%);
                        transform: translateX(-50%);
                        /*位置調整*/
                        background-color: black;
                        /*線の色*/
                        border-radius: 3px;
                        /*線の丸み*/
                    }
                }

                table {
                    width: 85%;
                    text-align: center;
                    margin-top: 80px;
                    border-collapse: collapse;
                    margin: 0 auto;
                    padding-top: 80px;

                    tr {
                        display: flex;
                        justify-content: center;
                        border-bottom: 1px solid #C9C9C9;

                        th {
                            width: 24%;
                            display: flex;
                            justify-content: center;
                            align-items: center;
                        }

                        td {
                            width: 38%;
                            display: flex;
                            justify-content: center;
                            align-items: center;
                            border-right: 1px solid #C9C9C9;
                        }

                        td:nth-of-type(1) {
                            border-left: 1px solid #C9C9C9;
                        }

                        td:nth-of-type(2) {
                            border-right: none;
                        }
                    }

                    .plan-name {
                        border-bottom: 0;

                        td {
                            height: 72px;
                            border-bottom: 1px solid #C9C9C9;
                        }

                        :nth-of-type(1) {
                            border-radius: 7px 0 0 0;
                        }

                        :nth-of-type(2) {
                            border-radius: 0 7px 0 0;
                        }
                    }

                    .plan-description {
                        border-bottom: none;

                        th {
                            position: relative;

                            img {
                                position: absolute;
                                width: 50%;
                            }

                            p {
                                position: absolute;
                                bottom: 113%;
                                left: 51%;
                                transform: translate(-50%, 0);
                                z-index: 3;
                                line-height: 1.2;
                                width: 100%;
                            }

                            img:nth-of-type(1) {
                                bottom: 80%;
                                left: 50%;
                                transform: translate(-50%, 0);
                                z-index: 2;
                                height: 90%;
                                width: auto;
                            }

                            img:nth-of-type(2) {
                                bottom: -5%;
                                left: 50%;
                                transform: translate(-50%, 0);
                                z-index: 1;
                                height: 80%;
                                width: auto;
                            }
                        }

                        td {
                            box-sizing: border-box;
                            padding: 20px 5%;
                            line-height: 1.2;
                            letter-spacing: 1px;
                            text-align: left;
                        }

                        td:nth-of-type(2) {
                            display: flex;
                            flex-wrap: wrap;

                            a {
                                text-decoration: underline;
                                color: #0872CE;
                            }
                        }
                    }

                    .range {
                        th {
                            border-radius: 7px 0 0 0;
                        }

                        td {
                            width: 76%;
                            display: flex;
                            flex-wrap: wrap;
                            justify-content: center;
                            padding: 20px 0 32px 0;

                            ul {
                                display: flex;
                                flex-wrap: wrap;
                                width: 85%;

                                li {
                                    width: 33%;
                                    display: flex;
                                    padding: 12px 8px;
                                    box-sizing: border-box;

                                    img {
                                        width: 10%;
                                        object-fit: contain;
                                        min-width: 18px;
                                    }
                                }
                            }

                            p {
                                display: block;
                                width: 85%;
                                text-align: left;
                            }
                        }
                    }

                    .limitation {
                        td {
                            width: 76%;
                            padding: 32px 0;
                        }
                    }

                    .initial-fee,
                    .yearly-fee,
                    .monthly-fee {
                        td {
                            padding: 24px 0;
                        }
                    }

                    .monthly-fee {
                        border-bottom: 0;

                        th {
                            border-radius: 0 0 0 7px;
                        }

                        .bg_con2 {
                            display: block;
                            div {
                                margin-top: 0.5rem;
                            }
                        }
                        
                        td:nth-of-type(2) {
                            border-radius: 0 0 7px 0;
                        }
                    }
                }
            }
        }

        .case {
            .inner {
                padding-top: 80px;
                padding-bottom: 40px;

                h2 {
                    text-align: center;
                    position: relative;

                    &:before {
                        content: '';
                        position: absolute;
                        left: 50%;
                        bottom: -25px;
                        /*線の上下位置*/
                        display: inline-block;
                        width: 50px;
                        /*線の長さ*/
                        height: 2.5px;
                        /*線の太さ*/
                        -webkit-transform: translateX(-50%);
                        transform: translateX(-50%);
                        /*位置調整*/
                        background-color: black;
                        /*線の色*/
                        border-radius: 3px;
                        /*線の丸み*/
                    }
                }

                ul {
                    display: flex;
                    justify-content: space-between;
                    padding-top: 80px;

                    li {
                        width: 32%;
                        border: 2px solid #F5AF18;
                        border-radius: 7px;
                        position: relative;
                        background: #FFF;

                        .inner {
                            padding: 50px 20px 20px 20px;

                            span {
                                position: absolute;
                                top: 0;
                                left: 0;
                                display: flex;
                                justify-content: center;
                                align-items: center;
                                width: 100px;
                                height: 30px;
                                background-color: #F5AF18;
                                text-align: center;
                                border-radius: 0 0 7px 0;
                            }

                            .overview {
                                display: flex;

                                img {
                                    width: 35%;
                                    object-fit: contain;
                                }

                                .text {
                                    width: 60%;
                                    padding-left: 5%;
                                    line-height: 1.2;

                                    .about {
                                        padding-top: 10px;
                                    }
                                }
                            }

                            .detail {
                                line-height: 1.35;
                                padding-top: 10px;
                            }
                        }
                    }
                }
            }
        }

        .apply {
            background-color: rgb(255 231 217);

            >.inner {
                padding: 80px 0 40px 0;

                h2 {
                    text-align: center;
                    position: relative;

                    &:before {
                        content: '';
                        position: absolute;
                        left: 50%;
                        bottom: -25px;
                        /*線の上下位置*/
                        display: inline-block;
                        width: 50px;
                        /*線の長さ*/
                        height: 2.5px;
                        /*線の太さ*/
                        -webkit-transform: translateX(-50%);
                        transform: translateX(-50%);
                        /*位置調整*/
                        background-color: black;
                        /*線の色*/
                        border-radius: 3px;
                        /*線の丸み*/
                    }
                }

                >p {
                    text-align: center;
                    padding-top: 80px;
                }

                .flow {
                    width: 100%;
                    padding-top: 60px;

                    li {
                        .inner {
                            display: flex;
                            border: 2px solid #F3AD18;
                            border-radius: 7px;
                            position: relative;
                            background-color: #FFF;

                            .step {
                                width: 10%;
                                background-color: #F3AD18;
                                color: #fff;
                                padding: 20px 0;
                                text-align: center;
                                clip-path: polygon(0 0, 80% 0, 100% 50%, 80% 100%, 0 100%);
                                position: relative;
                                border: 2px solid #F3AD18;

                                p {
                                    font-size: 24px;
                                    font-weight: bold;
                                    position: absolute;
                                    top: 50%;
                                    left: 50%;
                                    transform: translate(-55%, -50%);

                                    span {
                                        font-size: 48px;
                                        font-weight: bold;
                                    }
                                }
                            }

                            .text {
                                width: 75%;
                                padding: 24px 0px 24px 20px;

                                h3 {
                                    font-size: 20px;
                                }

                                p {
                                    a {
                                        text-decoration: underline;
                                        color: #0872CE;
                                    }
                                }

                                p:nth-of-type(1) {
                                    padding-top: 12px;
                                    line-height: 1.5;
                                }

                                .notes {
                                    padding-top: 12px;
                                }
                            }

                            .image {
                                width: 15%;
                                display: flex;
                                align-items: center;

                                img {
                                    display: block;
                                    width: 100%;
                                    margin: 0 auto;
                                }
                            }

                            .triangle {
                                position: absolute;
                                top: 100%;
                                left: 50%;
                                width: 0;
                                height: 0;
                                border-style: solid;
                                border-right: 36px solid transparent;
                                border-left: 36px solid transparent;
                                border-top: 36px solid #F3AD18;
                                border-bottom: 0;
                            }
                        }
                    }

                    li:nth-of-type(1) {
                        .inner {
                            .image {
                                img {
                                    width: 60%;
                                }
                            }
                        }
                    }

                    li:nth-of-type(2) {
                        padding-top: 60px;

                        .inner {
                            .text {
                                display: flex;
                                flex-wrap: wrap;
                                align-items: center;

                                p {
                                    width: 100%;
                                }
                            }

                            .image {
                                img {
                                    width: 80%;
                                    padding: 24px 0;
                                }
                            }
                        }
                    }

                    li:nth-of-type(3) {
                        padding-top: 60px;

                        .inner {
                            .text {
                                display: flex;
                                flex-wrap: wrap;
                                align-items: center;

                                p {
                                    width: 100%;
                                    padding: 0;
                                }
                            }

                            .image {
                                img {
                                    width: 50%;
                                    padding: 16px 0;
                                }
                            }
                        }
                    }

                }

                .annotation {
                    padding-top: 8px;
                    line-height: 1.8;

                    a {
                        text-decoration: underline;
                        color: #0872CE;
                    }
                }
            }
        }

        .document {
            >.inner {
                padding: 80px 0 40px 0;

                h2 {
                    text-align: center;
                    position: relative;

                    &:before {
                        content: '';
                        position: absolute;
                        left: 50%;
                        bottom: -25px;
                        /*線の上下位置*/
                        display: inline-block;
                        width: 50px;
                        /*線の長さ*/
                        height: 2.5px;
                        /*線の太さ*/
                        -webkit-transform: translateX(-50%);
                        transform: translateX(-50%);
                        /*位置調整*/
                        background-color: black;
                        /*線の色*/
                        border-radius: 3px;
                        /*線の丸み*/
                    }
                }

                table {
                    width: 100%;
                    margin-top: 80px;
                    border-collapse: collapse;
                    border-radius: 7px;

                    tr {
                        display: flex;
                        align-items: center;
                        height: 80px;
                        border-bottom: 1px solid #C9C9C9;

                        th {
                            width: 26%;
                            height: 100%;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                        }

                        td {
                            width: 37%;
                            height: 100%;
                            display: flex;
                            align-items: center;
                            box-sizing: border-box;

                            .inner {
                                display: flex;
                                align-items: center;

                                img {
                                    width: 20px;
                                    padding-right: 10px;
                                }
                            }
                        }

                        td:nth-of-type(2) {
                            border-right: none;
                        }
                    }

                    tr:nth-of-type(1) {
                        th {
                            border-radius: 7px 0 0 0;
                        }

                        td {
                            justify-content: center;
                        }

                        td:nth-of-type(2) {
                            border-radius: 0 7px 0 0;
                        }
                    }

                    tr:nth-of-type(5) {
                        height: 120px;
                        border-bottom: none;

                        th {
                            border-radius: 0 0 0 7px;
                        }

                        td:nth-of-type(2) {
                            border-radius: 0 0 7px 0;
                        }
                    }

                    tr:not(:nth-of-type(1)) {
                        td {
                            padding-left: 10%;
                        }
                    }

                    .company,
                    .freelance {
                        td:nth-of-type(1) {
                            .inner {
                                padding-left: 30px;
                            }
                        }
                    }

                    .startup {
                        td {
                            .inner {
                                display: initial;

                                div:nth-of-type(1) {
                                    display: flex;
                                    align-items: center;
                                    justify-content: left;
                                }

                                div:nth-of-type(2) {
                                    display: flex;
                                    align-items: center;
                                    justify-content: left;
                                    padding-top: 12px;
                                }
                            }
                        }

                        td:nth-of-type(1) {
                            div:nth-of-type(2) {
                                padding-left: 30px;
                            }
                        }
                    }
                }
            }
        }
    }
}

/* End オーナーさまページ */

/* 入居者さまページ */
#tenant {
    main {
        width: 100%;

        section {
            >.inner {
                width: 96%;
                max-width: 1200px;
                margin: 0 auto;
                padding: 0 2%;
            }
        }

        >.title {
            display: flex;
            width: 100%;
            padding-top: 80px;
            background: linear-gradient(rgba(225, 249, 233, 0.95)), url("../images/image_bg_01.png");

            >.inner {
                display: flex;
                height: 160px;
                justify-content: center;
                align-items: center;
            }
        }

        .main_visual {
            >.inner {
                display: flex;
                padding-top: 120px;
                padding-bottom: 60px;
                justify-content: space-between;
                position: relative;

                .breadcrumb {
                    position: absolute;
                    top: 12px;
                    font-size: 14px;
                    display: flex;

                    a {
                        text-decoration: underline;
                        color: #0872CE;
                        margin-right: 6px;
                    }
                }

                .text {
                    width: 60%;

                    p {
                        padding-top: 42px;
                        letter-spacing: 1.5px;
                        line-height: 2;
                    }

                    ;
                }

                .image {
                    width: 30%;
                }
            }
        }

        .achivement {
            background: linear-gradient(rgba(225, 249, 233));

            .inner {
                display: flex;
                justify-content: space-between;
                flex-wrap: wrap;
                padding: 100px 0px;

                h2 {
                    width: 100%;
                    position: relative;
                    padding-left: 20px;

                    &::before {
                        content: "";
                        width: 5px;
                        height: 100%;
                        background-color: #F3AD18;
                        position: absolute;
                        top: 0;
                        left: 0;
                    }
                }

                .contents {
                    display: flex;
                    justify-content: space-evenly;
                    flex-wrap: wrap;
                    margin-top: 20px;
                    padding: 48px 10px 32px;
                    position: relative;
                    border-radius: 7px;

                    .text {
                        width: 45%;

                        .message {
                            font-size: 36px;
                            display: block;
                            text-align: left;
                            width: 100%;
                            line-height: 1.35;
                            letter-spacing: 2px;
                            margin-top: 20px;
                        }

                        .message_text {
                            letter-spacing: 1.2px;
                            line-height: 2;
                            padding-top: 32px;
                        }
                    }

                    img {
                        width: 40%;
                        object-fit: contain;
                    }

                    #chart-achievements {
                        position: relative;
                        width: 40%;
                        margin: 16px 0 36px;
                        /* 左側にY軸用の余白 */
                        padding-left: 64px;
                    }

                    /* プロット領域（軸を除いた実際の描画エリア） */
                    #chart-achievements .plot-area {
                        position: relative;
                        height: 450px;
                        border-bottom: 1px solid var(--axis-color);
                    }

                    /* Y軸ラベル（左側） */
                    #chart-achievements .y-axis {
                        position: absolute;
                        left: 0;
                        top: 0;
                        bottom: 0;
                        width: 64px;
                    }

                    #chart-achievements .y-tick-label {
                        position: absolute;
                        right: 8px;
                        transform: translateY(50%);
                        /* ラインとラベルを揃える */
                        font-size: 12px;
                        color: var(--label-color);
                        white-space: nowrap;
                        font-weight: bold;
                    }

                    /* グリッド水平線 */
                    #chart-achievements .grid-line {
                        position: absolute;
                        left: 0;
                        right: 0;
                        height: 1px;
                        background: var(--grid-color);
                    }

                    /* Y軸の縦線（任意） */
                    #chart-achievements .y-axis-line {
                        position: absolute;
                        right: 0;
                        top: 0;
                        bottom: 0;
                        width: 1px;
                        background: var(--axis-color);
                    }

                    /* 棒 */
                    #chart-achievements .bar {
                        position: absolute;
                        bottom: 0;
                        background: #fff;
                        border: 2px solid var(--alarm-orange);
                        border-radius: 0;
                        transition: height 600ms ease;
                        overflow: hidden;
                        /* 内側の塗りをクリップ */
                    }

                    /* 内側の塗り（濃さを段階的に） */
                    #chart-achievements .bar .fill {
                        position: absolute;
                        inset: 0;
                        background: var(--alarm-orange);
                        opacity: 0;
                        /* 最初（t=0）は0＝白のまま */
                        transition: opacity 600ms ease;
                    }

                    #chart-achievements .bar.has-rider {
                        overflow: visible;
                    }

                    /* てっぺんに乗る画像 */
                    #chart-achievements .bar .bar-rider {
                        position: absolute;
                        bottom: calc(100% + var(--rider-offset, 8px));
                        /* 棒の上端から少し上 */
                        left: 50%;
                        transform: translateX(-50%);
                        width: clamp(40px, 7vw, 88px);
                        /* 画面に合わせて可変 */
                        height: auto;
                        pointer-events: none;
                        z-index: 5;
                        filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .15));
                    }

                    /* X軸のラベル */
                    #chart-achievements .x-label {
                        position: absolute;
                        bottom: -22px;
                        text-align: center;
                        font-size: 12px;
                        color: var(--label-color);
                        white-space: nowrap;
                    }

                    .badge_bg {
                        position: absolute;
                        top: 18%;
                        right: 33%;
                        z-index: 1;
                        transform: translate(60%, -50%);
                        width: 13.5%;
                        min-width: 140px;
                    }

                    .badge_text {
                        position: absolute;
                        top: 17.5%;
                        right: 33%;
                        z-index: 2;
                        transform: translate(65%, -47%);
                        font-size: 18px;
                        text-align: center;

                        >span {
                            color: #DB6525;
                            line-height: 1.5;

                            >span {
                                font-size: 32px;
                            }
                        }
                    }
                }

                .banners {
                    width: 100%;
                    display: flex;
                    justify-content: space-between;
                    padding-top: 32px;

                    li {
                        height: auto;

                        img {
                            width: 100%;
                            margin: 0 auto;
                        }

                        p {
                            font-size: 10px;
                            width: 92%;
                            padding-top: 4px;
                            line-height: 1.35;
                        }
                    }

                    li:nth-of-type(1) {
                        width: 9%;

                        img {
                            width: 100%;
                        }
                    }

                    li:not(:nth-of-type(1)) {
                        width: 29%;
                    }
                }
            }
        }

        .fee {
            .inner {
                padding: 80px 0;

                h2 {
                    text-align: center;
                    position: relative;

                    &:before {
                        content: '';
                        position: absolute;
                        left: 50%;
                        bottom: -25px;
                        /*線の上下位置*/
                        display: inline-block;
                        width: 50px;
                        /*線の長さ*/
                        height: 2.5px;
                        /*線の太さ*/
                        -webkit-transform: translateX(-50%);
                        transform: translateX(-50%);
                        /*位置調整*/
                        background-color: black;
                        /*線の色*/
                        border-radius: 3px;
                        /*線の丸み*/
                    }
                }

                >ul {
                    display: flex;
                    justify-content: space-evenly;
                    padding-top: 80px;
                    width: 80%;
                    margin: 0 auto;

                    li {
                        width: 32%;
                        border: 2px solid #F5AF18;
                        border-radius: 7px;
                        position: relative;

                        .inner {
                            padding: 88px 20px 20px 20px;

                            >span {
                                position: absolute;
                                top: 0;
                                left: 0;
                                display: flex;
                                justify-content: center;
                                align-items: center;
                                width: 100%;
                                height: 64px;
                                text-align: center;
                            }

                            .text {
                                width: 100%;
                                line-height: 1.2;
                                box-sizing: border-box;
                                text-align: center;
                            }
                        }
                    }
                }

                .example {
                    border: 2px solid #F5AF18;
                    border-radius: 7px;
                    margin-top: 32px;

                    >p {
                        text-align: center;
                        padding: 20px 0;
                    }

                    .example_image {
                        >ul {
                            display: flex;
                            justify-content: space-around;
                            padding-top: 24px;

                            li {
                                width: 15%;

                                .example_item {
                                    padding: 48px 16px 16px 16px;
                                    border: 2px solid #F5AF18;
                                    border-radius: 7px;
                                    position: relative;

                                    >span {
                                        position: absolute;
                                        top: 0;
                                        left: 0;
                                        display: flex;
                                        justify-content: center;
                                        align-items: center;
                                        width: 100%;
                                        height: 32px;
                                        text-align: center;
                                    }

                                    .text {
                                        width: 100%;
                                        line-height: 1.2;
                                        box-sizing: border-box;
                                        text-align: center;

                                        .cost {
                                            font-size: 20px;
                                            font-weight: 700;
                                        }
                                    }
                                }

                                .year {
                                    text-align: center;
                                    padding: 10px 0;
                                }
                            }

                            li:last-of-type {
                                border: none;
                                width: 20%;

                                .example_item {
                                    padding: 0;
                                    border: none;

                                    .image_items {
                                        position: relative;

                                        p {
                                            position: absolute;
                                            width: 80%;
                                            z-index: 1;
                                            text-align: center;
                                            top: 20px;
                                            left: -10px;
                                            line-height: 1.35;
                                            letter-spacing: 2px;
                                        }

                                        img:nth-of-type(1) {
                                            position: absolute;
                                            width: 80%;
                                            top: 0;
                                            left: -10px;
                                        }

                                        img:nth-of-type(3) {
                                            position: absolute;
                                            width: 25%;
                                            top: 90px;
                                            left: 52px;
                                        }
                                    }
                                }
                            }
                        }

                        >img {
                            width: 95%;
                            margin: 0 auto;
                            display: block;
                            padding-bottom: 20px;
                        }
                    }
                }
            }
        }
    }
}

/* End 入居者さまページ */

/* 保証会社さまページ */
#guarantee {
    main {
        width: 100%;

        section {
            >.inner {
                width: 96%;
                max-width: 1200px;
                margin: 0 auto;
                padding: 0 2%;
            }
        }

        >.title {
            display: flex;
            width: 100%;
            padding-top: 80px;
            background: linear-gradient(rgba(255, 250, 217, 0.95)), url("../images/image_bg_01.png");

            >.inner {
                display: flex;
                height: 160px;
                justify-content: center;
                align-items: center;
            }
        }

        .main_visual {
            >.inner {
                display: flex;
                padding-top: 120px;
                padding-bottom: 60px;
                justify-content: space-between;
                position: relative;

                .breadcrumb {
                    position: absolute;
                    top: 12px;
                    font-size: 14px;
                    display: flex;

                    a {
                        text-decoration: underline;
                        color: #0872CE;
                        margin-right: 6px;
                    }
                }

                .text {
                    width: 55%;

                    p {
                        padding-top: 42px;
                        letter-spacing: 1.5px;
                        line-height: 2;
                    }

                    ;
                }

                .image {
                    width: 40%;
                }
            }
        }

        .user_merit {
            >.inner {
                padding: 80px 0;

                >h2 {
                    text-align: center;
                    position: relative;

                    &:before {
                        content: '';
                        position: absolute;
                        left: 50%;
                        bottom: -25px;
                        /*線の上下位置*/
                        display: inline-block;
                        width: 50px;
                        /*線の長さ*/
                        height: 2.5px;
                        /*線の太さ*/
                        -webkit-transform: translateX(-50%);
                        transform: translateX(-50%);
                        /*位置調整*/
                        background-color: black;
                        /*線の色*/
                        border-radius: 3px;
                        /*線の丸み*/
                    }
                }

                ul {
                    display: flex;
                    justify-content: space-between;
                    padding-top: 80px;

                    li {
                        width: 32%;
                        border-radius: 7px;
                        background-color: #fff;
                        box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.15);
                        border: 2px solid #F5AF18;

                        .inner {
                            width: 90%;
                            margin: 0 auto;
                            padding: 24px 0 24px 0;
                            display: flex;
                            flex-direction: column;
                            height: 100%;
                            box-sizing: border-box;

                            .title {
                                text-align: center;
                                padding-top: 24px;
                            }

                            .image {
                                height: 130px;
                                display: flex;
                                justify-content: center;
                                align-items: flex-end;
                                border-radius: 7px;

                                img {
                                    height: 100%;
                                    width: auto;
                                }
                            }

                            .message {
                                padding-top: 20px;
                                line-height: 1.6;
                                text-align: left;
                            }
                        }
                    }

                    /* li:nth-of-type(1){
                                .image{
                                    img{width: 55%;}
                                }
                        }
                        li:nth-of-type(2){
                                .image{
                                    img{width: 48%;}
                                }
                        }
                        li:nth-of-type(3){
                                .image{
                                    img{width: 60%;}
                                }
                        }                                                                      */
                }
            }
        }

        .case {
            >.inner {
                padding: 80px 0;

                h2 {
                    text-align: center;
                    position: relative;

                    &:before {
                        content: '';
                        position: absolute;
                        left: 50%;
                        bottom: -25px;
                        /*線の上下位置*/
                        display: inline-block;
                        width: 50px;
                        /*線の長さ*/
                        height: 2.5px;
                        /*線の太さ*/
                        -webkit-transform: translateX(-50%);
                        transform: translateX(-50%);
                        /*位置調整*/
                        background-color: black;
                        /*線の色*/
                        border-radius: 3px;
                        /*線の丸み*/
                    }
                }

                .case_plans {
                    display: flex;
                    justify-content: space-evenly;
                    padding-top: 80px;
                    width: 100%;
                    margin: 0 auto;

                    .case_plan {
                        width: 40%;
                        border-radius: 7px;
                        position: relative;

                        .inner {
                            .item_title {
                                text-align: center;
                                padding: 10px 0;
                                line-height: 1.35;
                                border-radius: 7px 7px 0 0;

                            }

                            .text {
                                width: 100%;
                                line-height: 1.2;
                                box-sizing: border-box;
                                text-align: center;
                                padding: 30px 0;
                                border-radius: 7px;
                                background-color: #FCE6B4;
                                border-radius: 0 0 7px 7px;

                                >p {
                                    line-height: 1.5;
                                }

                                .plan_items {
                                    position: relative;
                                    margin-top: 32px;

                                    ul {
                                        position: absolute;
                                        top: 50%;
                                        left: 50%;
                                        transform: translate(-50%, -50%);

                                        li {
                                            padding: 16px 0;
                                            font-weight: 500;
                                            color: #FFF;
                                        }
                                    }

                                    .bg {
                                        width: 80%;
                                    }
                                }

                                .plan_message {
                                    position: relative;
                                    width: 70%;
                                    margin: 0 auto;

                                    p {
                                        position: absolute;
                                        top: 50%;
                                        left: 50%;
                                        transform: translate(-50%, -40%);
                                        width: 85%;
                                        letter-spacing: 1px;

                                        span:nth-of-type(1) {
                                            display: flex;
                                            align-items: flex-end;
                                            justify-content: center;
                                            padding-bottom: 12px;

                                            img {
                                                width: 80%;
                                                padding-right: 4px;
                                            }
                                        }

                                        span:nth-of-type(2) {
                                            position: relative;

                                            &::before {
                                                position: absolute;
                                                content: "";
                                                display: inline-block;
                                                top: 24px;
                                                width: 48px;
                                                height: 5px;
                                                background-color: #F3AD18;
                                                border-radius: 4px;
                                            }

                                        }

                                        .notes {
                                            letter-spacing: 0px;
                                            padding-top: 12px;
                                            display: block;
                                        }
                                    }

                                    img.bg {
                                        width: 90%;
                                        padding-top: 8px;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

/* End 保証会社さまページ */

/* 会社概要ページ */
#about {
    main {
        width: 100%;

        >section {
            >.inner {
                width: 96%;
                max-width: 1200px;
                margin: 0 auto;
                padding: 0 2%;
            }
        }

        >.title {
            display: flex;
            width: 100%;
            padding-top: 80px;
            background: linear-gradient(rgba(254, 238, 203, 0.95)), url("../images/image_bg_01.png");

            >.inner {
                display: flex;
                height: 160px;
                justify-content: center;
                align-items: center;
            }
        }

        .contents {
            >.inner {
                position: relative;
                padding-top: 80px;

                .breadcrumb {
                    position: absolute;
                    top: 12px;
                    font-size: 14px;
                    display: flex;

                    a {
                        text-decoration: underline;
                        color: #0872CE;
                        margin-right: 6px;
                    }
                }

                .service_description {
                    border-radius: 7px 7px 0 0;

                    .inner {
                        display: flex;
                        justify-content: space-between;
                        flex-wrap: wrap;
                        padding: 64px;

                        h2 {
                            width: 100%;
                            position: relative;
                            padding-left: 20px;

                            &::before {
                                content: "";
                                width: 5px;
                                height: 100%;
                                background-color: #F3AD18;
                                position: absolute;
                                top: 0;
                                left: 0;
                            }
                        }

                        .text {
                            display: flex;
                            justify-content: space-evenly;
                            flex-wrap: wrap;
                            margin-top: 20px;
                            padding: 36px 24px 24px;
                            border-radius: 7px;

                            .message {
                                font-size: 36px;
                                display: block;
                                text-align: center;
                                width: 100%;
                            }

                            .message_text {
                                width: 60%;
                                letter-spacing: 1.2px;
                                line-height: 1.65;
                                padding-top: 32px;
                            }

                            img {
                                width: 25%;
                                object-fit: contain;
                                padding-top: 32px;
                                min-width: 220px;
                            }
                        }
                    }
                }

                .company_description {
                    .inner {
                        padding: 30px;

                        h2 {
                            width: 100%;
                            position: relative;
                            padding-left: 20px;

                            &::before {
                                content: "";
                                width: 5px;
                                height: 100%;
                                background-color: #F3AD18;
                                position: absolute;
                                top: 0;
                                left: 0;
                            }
                        }

                        .table {
                            width: 100%;
                            padding-top: 32px;
                            margin-top: 20px;
                            border-radius: 7px;

                            table {
                                width: 90%;
                                margin: 0 auto;
                                margin-top: 20px;

                                tr {
                                    width: 100%;

                                    th {
                                        width: 20%;
                                        padding: 20px 0;
                                        padding-left: 48px;
                                        text-align: left;
                                    }

                                    td {
                                        width: 80%;
                                        padding: 20px 0;
                                        line-height: 1.5;

                                        a {
                                            text-decoration: underline;
                                            color: #0872CE;
                                        }
                                    }
                                }

                                tr:nth-of-type(even) {
                                    background-color: #F8F9FA;
                                }

                                tr:last-of-type {
                                    a {
                                        text-decoration: none;
                                    }
                                }
                            }
                        }
                    }
                }

                .achivement {
                    .inner {
                        display: flex;
                        justify-content: space-between;
                        flex-wrap: wrap;
                        padding: 30px;

                        h2 {
                            width: 100%;
                            position: relative;
                            padding-left: 20px;

                            &::before {
                                content: "";
                                width: 5px;
                                height: 100%;
                                background-color: #F3AD18;
                                position: absolute;
                                top: 0;
                                left: 0;
                            }
                        }

                        .contents {
                            display: flex;
                            justify-content: space-evenly;
                            flex-wrap: wrap;
                            margin-top: 20px;
                            padding: 32px 10px;
                            position: relative;
                            border-radius: 7px;

                            .text {
                                width: 45%;

                                .message {
                                    font-size: 36px;
                                    display: block;
                                    text-align: left;
                                    width: 100%;
                                    line-height: 1.35;
                                    margin-top: 20px;
                                    max-width: 360px;
                                }

                                .message_text {
                                    letter-spacing: 1.2px;
                                    line-height: 2;
                                    padding-top: 32px;
                                }
                            }

                            img {
                                width: 40%;
                                object-fit: contain;
                            }

                            #chart-achievements {
                                position: relative;
                                width: 40%;
                                margin: 16px 0 36px;
                                /* 左側にY軸用の余白 */
                                padding-left: 64px;
                            }

                            /* プロット領域（軸を除いた実際の描画エリア） */
                            #chart-achievements .plot-area {
                                position: relative;
                                height: 450px;
                                border-bottom: 1px solid var(--axis-color);
                            }

                            /* Y軸ラベル（左側） */
                            #chart-achievements .y-axis {
                                position: absolute;
                                left: 0;
                                top: 0;
                                bottom: 0;
                                width: 64px;
                            }

                            #chart-achievements .y-tick-label {
                                position: absolute;
                                right: 8px;
                                transform: translateY(50%);
                                /* ラインとラベルを揃える */
                                font-size: 12px;
                                color: var(--label-color);
                                white-space: nowrap;
                                font-weight: bold;
                            }

                            /* グリッド水平線 */
                            #chart-achievements .grid-line {
                                position: absolute;
                                left: 0;
                                right: 0;
                                height: 1px;
                                background: var(--grid-color);
                            }

                            /* Y軸の縦線（任意） */
                            #chart-achievements .y-axis-line {
                                position: absolute;
                                right: 0;
                                top: 0;
                                bottom: 0;
                                width: 1px;
                                background: var(--axis-color);
                            }

                            /* 棒 */
                            #chart-achievements .bar {
                                position: absolute;
                                bottom: 0;
                                background: #fff;
                                border: 2px solid var(--alarm-orange);
                                border-radius: 0;
                                transition: height 600ms ease;
                                overflow: hidden;
                                /* 内側の塗りをクリップ */
                            }

                            /* 内側の塗り（濃さを段階的に） */
                            #chart-achievements .bar .fill {
                                position: absolute;
                                inset: 0;
                                background: var(--alarm-orange);
                                opacity: 0;
                                /* 最初（t=0）は0＝白のまま */
                                transition: opacity 600ms ease;
                            }

                            #chart-achievements .bar.has-rider {
                                overflow: visible;
                            }

                            /* てっぺんに乗る画像 */
                            #chart-achievements .bar .bar-rider {
                                position: absolute;
                                bottom: calc(100% + var(--rider-offset, 8px));
                                /* 棒の上端から少し上 */
                                left: 50%;
                                transform: translateX(-50%);
                                width: clamp(40px, 7vw, 88px);
                                /* 画面に合わせて可変 */
                                height: auto;
                                pointer-events: none;
                                z-index: 5;
                                filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .15));
                            }

                            /* X軸のラベル */
                            #chart-achievements .x-label {
                                position: absolute;
                                bottom: -22px;
                                text-align: center;
                                font-size: 12px;
                                color: var(--label-color);
                                white-space: nowrap;
                            }


                            .badge_bg {
                                position: absolute;
                                top: 18%;
                                right: 33%;
                                z-index: 1;
                                transform: translate(60%, -50%);
                                width: 13.5%;
                                min-width: 140px;
                            }

                            .badge_text {
                                position: absolute;
                                top: 17.5%;
                                right: 33%;
                                z-index: 2;
                                transform: translate(65%, -47%);
                                font-size: 18px;
                                text-align: center;

                                >span {
                                    color: #DB6525;
                                    line-height: 1.5;

                                    >span {
                                        font-size: 32px;
                                    }
                                }
                            }
                        }
                    }
                }

                .philosophy {
                    border-radius: 0 0 7px 7px;

                    .inner {
                        display: flex;
                        justify-content: space-between;
                        flex-wrap: wrap;
                        padding: 30px;

                        h2 {
                            width: 100%;
                            position: relative;
                            padding-left: 20px;

                            &::before {
                                content: "";
                                width: 5px;
                                height: 100%;
                                background-color: #F3AD18;
                                position: absolute;
                                top: 0;
                                left: 0;
                            }
                        }

                        .contents {
                            display: flex;
                            justify-content: space-around;
                            flex-wrap: wrap;
                            align-items: flex-start;
                            padding: 40px 0;
                            margin-top: 20px;
                            border-radius: 7px;

                            .message {
                                width: 100%;
                                font-size: 36px;
                                display: block;
                                text-align: left;
                                padding-left: 24px;
                            }

                            .message_text {
                                width: 60%;
                                line-height: 1.5;
                                padding-top: 32px;
                            }

                            .image {
                                width: 30%;
                                padding-top: 32px;

                                img {
                                    object-fit: contain;
                                }

                                p {
                                    text-align: center;
                                    padding-top: 12px;
                                }
                            }
                        }
                    }
                }

                .character {
                    margin: 60px 0;

                    .inner {
                        display: flex;
                        justify-content: space-between;
                        flex-wrap: wrap;
                        padding: 30px;

                        h2 {
                            width: 100%;
                            position: relative;
                            padding-left: 20px;

                            &::before {
                                content: "";
                                width: 5px;
                                height: 100%;
                                background-color: #F3AD18;
                                position: absolute;
                                top: 0;
                                left: 0;
                            }
                        }

                        .contents {
                            display: flex;
                            justify-content: space-around;
                            flex-wrap: wrap;
                            padding: 40px 20px;
                            width: 100%;
                            border-radius: 7px;
                            flex-direction: column;
                            height: calc(640px - 15vw);
                            align-items: center;
                            min-height: 460px;

                            .message_strong {
                                width: 60%;
                                font-size: 36px;
                                display: block;
                                text-align: left;
                            }

                            .message_text {
                                width: 60%;
                                line-height: 1.8;
                            }

                            table {
                                width: 60%;

                                tr {

                                    th,
                                    td {
                                        text-align: left;
                                        padding: 10px 0;
                                    }

                                    th {
                                        width: 30%;
                                    }

                                    td {
                                        width: 70%;
                                    }
                                }
                            }

                            .image {
                                width: 35%;
                                width: 35%;
                                display: flex;
                                flex-wrap: wrap;
                                justify-content: center;

                                img {
                                    object-fit: contain;
                                    width: 75%;
                                    margin: 0 auto;
                                }

                                p {
                                    padding-top: 12px;
                                }

                                p:nth-of-type(1) {
                                    text-align: center;
                                }

                                p:nth-of-type(2) {
                                    text-align: center;
                                    line-height: 1.35;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

/* End 会社概要ページ */

/* よくある質問 */
#faq {
    main {
        width: 100%;

        section {
            >.inner {
                width: 96%;
                max-width: 1200px;
                margin: 0 auto;
                padding: 0 2%;
            }
        }

        >.title {
            display: flex;
            width: 100%;
            padding-top: 80px;
            background: linear-gradient(rgba(254, 238, 203, 0.95)), url("../images/image_bg_01.png");

            >.inner {
                display: flex;
                height: 160px;
                justify-content: center;
                align-items: center;
            }
        }

        #contents {
            >.inner {
                position: relative;
                padding: 80px 0 40px;

                .breadcrumb {
                    position: absolute;
                    top: 12px;
                    font-size: 14px;
                    display: flex;

                    a {
                        text-decoration: underline;
                        color: #0872CE;
                        margin-right: 6px;
                    }
                }

                >p {
                    text-align: center;
                }

                .faq_section {
                    margin-top: 40px;
                    border-radius: 7px;

                    .inner {
                        display: flex;
                        justify-content: space-between;
                        flex-wrap: wrap;
                        padding: 30px 20px;
                        box-sizing: border-box;

                        .faq_overview {
                            width: 24%;
                            box-sizing: border-box;
                            height: 100%;

                            .faq_topics {
                                width: 95%;
                                border: 1px solid #E9E9E9;

                                li {
                                    cursor: pointer;

                                    button {
                                        width: 100%;
                                        height: 50px;
                                        border: none;
                                        text-align: left;
                                        padding-left: 20px;
                                        font-weight: 700;
                                        background-color: #FFF;
                                        color: #333333;
                                        position: relative;
                                        cursor: pointer;

                                        .topics_arrow {
                                            content: "";
                                            display: block;
                                            top: 20px;
                                            right: 16px;
                                            width: 8px;
                                            /* 矢印の大きさの指定 */
                                            height: 8px;
                                            /* 矢印の大きさの指定 */
                                            border-top: 3px solid #333333;
                                            /* 矢印の太さの指定 */
                                            border-left: 3px solid #333333;
                                            /* 矢印の太さの指定 */
                                            transform: rotate(135deg);
                                            /* 矢印の角度の指定 */
                                            position: absolute;
                                            /* 矢印の位置の指定 */
                                            border-radius: 2px;
                                        }
                                    }

                                    button.cat_head.is-active {
                                        background-color: #F3AD18;
                                        color: #FFF;

                                        .topics_arrow {
                                            display: none;
                                        }
                                    }
                                }

                                li:hover {
                                    cursor: pointer;
                                }

                                li.active {
                                    button {
                                        background-color: #F29118;
                                        color: #FFF;
                                    }
                                }

                                li:not(:last-of-type) {
                                    border-bottom: 1px solid #E9E9E9;
                                }
                            }
                        }

                        .faq_contents {
                            width: 75%;

                            .faq_content {
                                h2 {
                                    padding-top: 12px;
                                    padding-left: 20px;
                                    padding-bottom: 16px;
                                    position: relative;
                                }

                                h2::before {
                                    position: absolute;
                                    content: "";
                                    width: 30%;
                                    height: 3px;
                                    background-color: #F3AD18;
                                    bottom: -5px;
                                    border-radius: 2px;
                                }

                                h2::after {
                                    position: absolute;
                                    content: "";
                                    width: 70%;
                                    height: 3px;
                                    background-color: #C9C9C9;
                                    bottom: -5px;
                                    right: 0;
                                    border-radius: 2px;
                                }

                                ul {
                                    margin-top: 40px;
                                    margin-left: 12px;

                                    li {
                                        padding-bottom: 24px;
                                        border: 1px solid #E9E9E9;
                                        border-radius: 7px;
                                        background-color: #FFF;
                                        cursor: pointer;

                                        p {
                                            position: relative;

                                            .content_arrow {
                                                cursor: pointer;
                                            }
                                        }

                                        p.question {
                                            font-weight: 700;
                                            padding-top: 20px;
                                            padding-left: 64px;
                                            width: 80%;

                                            .content_arrow {
                                                content: "";
                                                display: block;
                                                top: 60%;
                                                right: calc(-1% - 4vw);
                                                width: 8px;
                                                /* 矢印の大きさの指定 */
                                                height: 8px;
                                                /* 矢印の大きさの指定 */
                                                border-top: 4px solid #F29118;
                                                /* 矢印の太さの指定 */
                                                border-left: 4px solid #F29118;
                                                /* 矢印の太さの指定 */
                                                transform: rotate(225deg);
                                                /* 矢印の角度の指定 */
                                                position: absolute;
                                                /* 矢印の位置の指定 */
                                                border-radius: 2px;
                                            }
                                        }

                                        p.question::before {
                                            content: "Q";
                                            position: absolute;
                                            top: 12px;
                                            left: 18px;
                                            font-size: 20px;
                                            font-weight: 700;
                                            color: #FFF;
                                            background-color: #F29118;
                                            display: flex;
                                            width: 32px;
                                            height: 32px;
                                            align-items: center;
                                            justify-content: center;
                                            border-radius: 30px;
                                        }

                                        p.question.is-active {
                                            .content_arrow {
                                                content: "";
                                                display: block;
                                                top: 60%;
                                                right: calc(-1% - 4vw);
                                                width: 8px;
                                                /* 矢印の大きさの指定 */
                                                height: 8px;
                                                /* 矢印の大きさの指定 */
                                                border-top: 4px solid #F29118;
                                                /* 矢印の太さの指定 */
                                                border-left: 4px solid #F29118;
                                                /* 矢印の太さの指定 */
                                                transform: rotate(45deg);
                                                /* 矢印の角度の指定 */
                                                position: absolute;
                                                /* 矢印の位置の指定 */
                                                border-radius: 2px;
                                            }
                                        }

                                        p.answer {
                                            display: none;
                                        }

                                        p.answer.is-open {
                                            display: block;
                                            padding-top: 28px;
                                            padding-left: 64px;
                                            padding-right: 12px;
                                            line-height: 1.6;
                                            width: 80%;

                                            a {
                                                color: #0872CE;
                                            }
                                        }

                                        p.answer.is-open::before {
                                            content: "A";
                                            position: absolute;
                                            top: 24px;
                                            left: 18px;
                                            font-size: 20px;
                                            font-weight: 700;
                                            color: #F29118;
                                            background-color: #FFF;
                                            border: 1px solid #F29118;
                                            display: flex;
                                            width: 32px;
                                            height: 32px;
                                            align-items: center;
                                            justify-content: center;
                                            border-radius: 30px;
                                        }
                                    }

                                    li:not(:nth-of-type(1)) {
                                        margin-top: 16px;
                                    }
                                }
                            }

                            .faq_content:not(:nth-of-type(1)) {
                                display: none;
                            }
                        }
                    }
                }
            }
        }
    }
}

/* End よくある質問 */

/* 各種書類ダウンロード */
#document {
    main {
        width: 100%;

        section {
            >.inner {
                width: 96%;
                max-width: 1200px;
                margin: 0 auto;
                padding: 0 2%;
            }
        }

        >.title {
            display: flex;
            width: 100%;
            padding-top: 80px;
            background: linear-gradient(rgba(254, 238, 203, 0.95)), url("../images/image_bg_01.png");

            >.inner {
                display: flex;
                height: 160px;
                justify-content: center;
                align-items: center;
            }
        }

        .contents {
            padding-bottom: 120px;

            .inner {
                position: relative;

                .breadcrumb {
                    position: absolute;
                    top: 12px;
                    font-size: 14px;
                    display: flex;

                    a {
                        text-decoration: underline;
                        color: #0872CE;
                        margin-right: 6px;
                    }
                }

                >p {
                    text-align: center;
                    padding-top: 64px;
                }

                table {
                    width: 100%;
                    margin-top: 80px;
                    border-collapse: collapse;
                    border-radius: 7px;

                    tr {
                        display: flex;
                        align-items: center;
                        height: 80px;
                        border-bottom: 1px solid #E9E9E9;

                        th {
                            width: 32%;
                            height: 100%;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            border-right: 1px solid #E9E9E9;
                            box-sizing: border-box;
                        }

                        td {
                            width: 34%;
                            height: 100%;
                            display: flex;
                            align-items: center;
                            justify-content: space-evenly;
                            box-sizing: border-box;
                            border-right: 1px solid #E9E9E9;
                            background-color: #FFF;

                            img {
                                width: 40px;
                                display: block;
                                margin: 0 auto;
                            }

                            p {
                                text-align: center;
                                margin-top: 4px;
                                font-size: 14px;
                                color: #333;
                            }
                        }
                    }

                    tr:nth-of-type(1) {
                        height: 64px;

                        th {
                            border: none;
                        }

                        td {
                            border: none;
                            padding: 0;
                            display: flex;
                            justify-content: center;
                        }

                        td:nth-of-type(2) {
                            border-radius: 7px 7px 0 0;
                            background-color: #E9E9E9;
                        }
                    }

                    tr:nth-of-type(2) {
                        th {
                            border-top: none;
                            border-radius: 7px 0 0 0;
                        }
                    }

                    tr:nth-of-type(8) {
                        border-bottom: 0;

                        th,
                        td {
                            border-bottom: 1px solid #E9E9E9;
                        }

                        th {
                            border-radius: 0 0 0 7px;
                        }

                        td:nth-of-type(2) {
                            border-radius: 0 0 7px 0;
                        }
                    }
                }
            }
        }
    }
}

/* End 各種書類ダウンロード */


/* 資料請求_入力画面 */
#request_entry {
    main {
        width: 100%;

        section {
            >.inner {
                width: 96%;
                max-width: 1200px;
                margin: 0 auto;
                padding: 0 2%;
            }
        }

        >.title {
            display: flex;
            width: 100%;
            padding-top: 80px;
            background: linear-gradient(rgba(254, 238, 203, 0.95)), url("../images/image_bg_01.png");

            >.inner {
                display: flex;
                height: 160px;
                justify-content: center;
                align-items: center;
            }
        }

        #contents {
            >.inner {
                position: relative;
                padding-top: 48px;

                .breadcrumb {
                    position: absolute;
                    top: 12px;
                    font-size: 14px;
                    display: flex;

                    a {
                        text-decoration: underline;
                        color: #0872CE;
                        margin-right: 6px;
                    }
                }

                >p {
                    text-align: center;
                }

                .error_msg_accidental {
                    margin: 0 auto 3rem;
                    text-align: center;
                    font-size: 1.25rem;
                    line-height: 1.25;
                }

                .error_msg_items {
                    text-align: center;
                }

                .request_section {
                    .inner {
                        display: flex;
                        justify-content: space-between;
                        flex-wrap: wrap;
                        padding: 24px 20px 48px;
                        box-sizing: border-box;
                        width: 100%;

                        .request_overview {
                            width: 49%;
                            box-sizing: border-box;

                            .inner {
                                padding-bottom: 0;

                                .overview_title {
                                    h2 {
                                        font-size: 28px;
                                    }

                                    p {
                                        padding-top: 24px;
                                        line-height: 1.5;
                                    }
                                }

                                .overview_images {
                                    position: relative;
                                    overflow: hidden;
                                    margin-top: 24px;

                                    button {
                                        background: #F3AD18;
                                        border: none;
                                        border-radius: 30px;
                                        width: 60px;
                                        height: 60px;
                                        color: #FFF;
                                    }
                                }

                                .overview_detail {
                                    background-color: #F8F8F8;
                                    width: 100%;
                                    border-radius: 7px;
                                    padding: 24px;
                                    margin-top: 24px;

                                    ul {
                                        li {
                                            padding-top: 12px;
                                            display: flex;
                                            align-items: center;

                                            img {
                                                width: 4%;
                                                padding-right: 4px;
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        .request_form {
                            width: 50%;

                            .inner {
                                padding: 36px;

                                .form_document {
                                    width: 100%;

                                    table {
                                        width: 100%;

                                        tr {
                                            display: flex;
                                            flex-wrap: wrap;

                                            th,
                                            td {
                                                display: flex;
                                                justify-content: left;
                                                align-items: center;
                                            }

                                            th {
                                                width: 100%;

                                                .label-success {
                                                    display: none;
                                                    background-color: #0872CE;
                                                    color: #FFF;
                                                    border-radius: 4px;
                                                    padding: 4px;
                                                    height: 12px;
                                                    font-size: 12px;
                                                }

                                                .label-danger {
                                                    display: inline-block;
                                                    background-color: #cc0000;
                                                    color: #FFF;
                                                    border-radius: 4px;
                                                    padding: 4px;
                                                    height: 12px;
                                                    font-size: 12px;
                                                }

                                                label {
                                                    padding-left: 8px;
                                                }
                                            }

                                            td {
                                                position: relative;
                                                width: 100%;
                                                padding-top: 12px;
                                                display: flex;
                                                flex-wrap: wrap;

                                                .error_msg_item{
                                                    margin-bottom: 8px;
                                                }

                                                input,
                                                textarea,
                                                select {
                                                    border: 1px solid #C9C9C9;
                                                    border-radius: 4px;
                                                    padding: 8px;
                                                }

                                                input[type="text"].long_text {
                                                    width: 100%;
                                                }

                                                input[type="text"].middle_text {
                                                    width: 75%;
                                                }

                                                input[type="text"].short_text {
                                                    width: 50%;
                                                }

                                                select {
                                                    width: 100%;
                                                }

                                                ul {
                                                    display: flex;
                                                    flex-wrap: wrap;
                                                    justify-content: space-evenly;

                                                    li {
                                                        width: 33.3%;
                                                    }

                                                    li:nth-of-type(n+4) {
                                                        padding-top: 12px;
                                                    }
                                                }

                                                .user_types {
                                                    display: flex;
                                                    flex-wrap: wrap;

                                                    li {
                                                        width: 33%;
                                                        padding-top: 8px;
                                                    }
                                                }

                                                .inquiry_types {
                                                    display: flex;
                                                    flex-wrap: wrap;

                                                    li {
                                                        width: 50%;
                                                        padding-top: 8px;
                                                    }
                                                }
                                            }
                                        }

                                        tr:not(:nth-of-type(1)) {
                                            padding-top: 32px;
                                        }
                                    }
                                }

                                .buttons {
                                    margin-top: 48px;
                                    line-height: 1.5;
                                    text-align: center;

                                    p:nth-of-type(2) {
                                        display: flex;
                                        justify-content: center;

                                        input {
                                            margin-top: 16px;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

/* End 資料請求_入力画面 */

/* 資料請求_完了画面 */
#request_comp {
    main {
        width: 100%;

        section {
            >.inner {
                width: 96%;
                max-width: 1200px;
                margin: 0 auto;
                padding: 0 2%;
            }
        }

        >.title {
            display: flex;
            width: 100%;
            padding-top: 80px;
            background: linear-gradient(rgba(254, 238, 203, 0.95)), url("../images/image_bg_01.png");

            >.inner {
                display: flex;
                height: 160px;
                justify-content: center;
                align-items: center;
            }
        }

        #contents {
            >.inner {
                position: relative;
                padding-top: 28px;

                .breadcrumb {
                    position: absolute;
                    top: 12px;
                    font-size: 14px;
                    display: flex;

                    a {
                        text-decoration: underline;
                        color: #0872CE;
                        margin-right: 6px;
                    }
                }

                >p {
                    text-align: center;
                }

                .form_section {
                    .inner {
                        padding: 40px 20px;
                        box-sizing: border-box;

                        .message {
                            text-align: center;
                            line-height: 1.35;
                        }

                        .button {
                            background-color: #fff;
                            border: 1px solid #000000;
                            border-radius: 30px;
                            display: flex;
                            justify-content: center;
                            align-items: center;
                            font-weight: 500;
                            margin: 0 auto;
                            width: 200px;
                            height: 52px;
                            font-size: 16px;
                            margin-top: 44px;

                            &:hover {
                                box-shadow: 0px 4px 2px rgba(0, 0, 0, 0.3);
                            }
                        }
                    }
                }
            }
        }
    }
}

/* End 資料請求_完了画面 */

/* お問い合わせ_入力画面 */
#inquiry_entry {
    main {
        width: 100%;

        section {
            >.inner {
                width: 96%;
                max-width: 1200px;
                margin: 0 auto;
                padding: 0 2%;
            }
        }

        >.title {
            display: flex;
            width: 100%;
            padding-top: 80px;
            background: linear-gradient(rgba(254, 238, 203, 0.95)), url("../images/image_bg_01.png");

            >.inner {
                display: flex;
                height: 160px;
                justify-content: center;
                align-items: center;
            }
        }

        #contents {
            >.inner {
                position: relative;
                padding: 80px 0 40px;

                .breadcrumb {
                    position: absolute;
                    top: 12px;
                    font-size: 14px;
                    display: flex;

                    a {
                        text-decoration: underline;
                        color: #0872CE;
                        margin-right: 6px;
                    }
                }

                .error_msg_accidental {
                    margin: 0 auto 5rem;
                    text-align: center;
                    font-size: 1.25rem;
                    line-height: 1.25;
                }

                .inquiry_info {
                    .inner {
                        width: 50%;
                        margin: 0 auto;
                        position: relative;

                        img {
                            width: 10%;
                            position: absolute;
                            bottom: 90%;
                        }

                        .step {
                            display: flex;
                            width: 100%;
                            justify-content: space-between;

                            li {
                                padding: 8px 32px;
                                background-color: #E9E9E9;
                                border-radius: 7px;
                                width: 28%;
                                box-sizing: border-box;
                                text-align: center;
                                letter-spacing: 4px;

                                span {
                                    display: block;
                                    font-size: 12px;
                                    padding-bottom: 4px;
                                    letter-spacing: 0px;
                                }
                            }

                            li.is-active {
                                background-color: #F3AD18;
                            }
                        }
                    }

                    p {
                        padding-top: 40px;
                        text-align: center;
                    }

                    .error_msg_items{
                        padding-top: 16px;
                        text-align: center;
                    }
                }

                .form_section {
                    margin-top: 40px;

                    .inner {
                        display: flex;
                        justify-content: center;
                        flex-wrap: wrap;
                        padding: 30px;
                        box-sizing: border-box;

                        form {
                            width: 90%;

                            table {
                                width: 100%;

                                tr {
                                    display: flex;
                                    padding: 20px;

                                    th,
                                    td {
                                        display: flex;
                                        justify-content: left;
                                        align-items: center;
                                    }

                                    th {
                                        width: 40%;

                                        .label-success {
                                            display: none;
                                            background-color: #0872CE;
                                            color: #FFF;
                                            border-radius: 4px;
                                            padding: 4px;
                                            height: 12px;
                                            font-size: 12px;
                                        }

                                        .label-danger {
                                            display: inline-block;
                                            background-color: #cc0000;
                                            color: #FFF;
                                            border-radius: 4px;
                                            padding: 4px;
                                            height: 12px;
                                            font-size: 12px;
                                        }

                                        label {
                                            padding-left: 8px;
                                        }
                                    }

                                    td {
                                        position: relative;
                                        width: 60%;
                                        display: flex;
                                        flex-wrap: wrap;

                                        .error_msg_item{
                                            margin-bottom: 8px;
                                        }

                                        input,
                                        textarea {
                                            border: 1px solid #C9C9C9;
                                            border-radius: 4px;
                                            padding: 8px;
                                        }

                                        input[type="text"].long_text {
                                            width: 100%;
                                        }

                                        input[type="text"].middle_text {
                                            width: 75%;
                                        }

                                        input[type="text"].short_text {
                                            width: 50%;
                                        }

                                        select {
                                            width: 100%;
                                        }

                                        .user_types {
                                            display: flex;
                                            flex-wrap: wrap;

                                            li {
                                                width: 33%;
                                                padding-top: 8px;
                                            }
                                        }

                                        .inquiry_types {
                                            display: flex;
                                            flex-wrap: wrap;

                                            li {
                                                width: 50%;
                                                padding-top: 8px;
                                            }
                                        }
                                    }
                                }

                                tr:nth-of-type(2n+1) {
                                    background-color: #FFF;
                                }
                            }

                            .buttons {
                                p {
                                    display: flex;
                                    justify-content: space-evenly;
                                    padding-top: 32px;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

/* End お問い合わせ_入力画面 */

/* お問い合わせ_確認画面 */
#inquiry_conf {
    main {
        width: 100%;

        section {
            >.inner {
                width: 96%;
                max-width: 1200px;
                margin: 0 auto;
                padding: 0 2%;
            }
        }

        >.title {
            display: flex;
            width: 100%;
            padding-top: 80px;
            background: linear-gradient(rgba(254, 238, 203, 0.95)), url("../images/image_bg_01.png");

            >.inner {
                display: flex;
                height: 160px;
                justify-content: center;
                align-items: center;
            }
        }

        #contents {
            >.inner {
                position: relative;
                padding-top: 80px;
                padding-bottom: 80px;

                .breadcrumb {
                    position: absolute;
                    top: 12px;
                    font-size: 14px;
                    display: flex;

                    a {
                        text-decoration: underline;
                        color: #0872CE;
                        margin-right: 6px;
                    }
                }

                .inquiry_info {
                    .inner {
                        width: 50%;
                        margin: 0 auto;
                        position: relative;

                        img {
                            width: 8%;
                            position: absolute;
                            bottom: 90%;
                            left: 50%;
                            transform: translate(-50%, 0);
                        }

                        .step {
                            display: flex;
                            width: 100%;
                            justify-content: space-between;

                            li {
                                padding: 8px 32px;
                                background-color: #E9E9E9;
                                border-radius: 7px;
                                width: 28%;
                                box-sizing: border-box;
                                text-align: center;
                                letter-spacing: 4px;

                                span {
                                    display: block;
                                    font-size: 12px;
                                    padding-bottom: 4px;
                                    letter-spacing: 0px;
                                }
                            }

                            li.is-active {
                                background-color: #F3AD18;
                            }
                        }
                    }

                    p {
                        padding-top: 40px;
                        text-align: center;
                        line-height: 1.35;
                    }
                }

                >p {
                    text-align: center;
                }

                .form_section {
                    margin-top: 40px;

                    .inner {
                        display: flex;
                        justify-content: center;
                        flex-wrap: wrap;
                        padding: 30px;
                        box-sizing: border-box;
                        background-color: #F8F8F8;
                        width: 60%;
                        border-radius: 7px;

                        .form_document {
                            width: 100%;

                            table {
                                width: 100%;

                                tr {
                                    display: block;
                                    padding: 18px 0;

                                    th,
                                    td {
                                        display: block;
                                        width: 100%;
                                        text-align: left;
                                    }

                                    th {
                                        .label-success {
                                            display: none;
                                            background-color: #0872CE;
                                            color: #FFF;
                                            border-radius: 4px;
                                            padding: 4px;
                                        }

                                        .label-danger {
                                            display: inline-block;
                                            background-color: red;
                                            color: #FFF;
                                            border-radius: 4px;
                                            padding: 4px;
                                        }
                                    }

                                    td {
                                        padding-top: 12px;
                                        position: relative;

                                        input[type="text"].long_text {
                                            width: 100%;
                                        }

                                        input[type="text"].short_text {
                                            width: 50%;
                                        }

                                        select {
                                            width: 100%;
                                        }
                                    }
                                }
                            }

                            .buttons {
                                p {
                                    display: flex;
                                    justify-content: space-evenly;
                                    flex-wrap: wrap;

                                    input {
                                        margin: 10px 60px;
                                        box-sizing: border-box;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

/* End お問い合わせ_確認画面 */

/* お問い合わせ_完了画面 */
#inquiry_comp {
    main {
        width: 100%;

        section {
            >.inner {
                width: 96%;
                max-width: 1200px;
                margin: 0 auto;
                padding: 0 2%;
            }
        }

        >.title {
            display: flex;
            width: 100%;
            padding-top: 80px;
            background: linear-gradient(rgba(254, 238, 203, 0.95)), url("../images/image_bg_01.png");

            >.inner {
                display: flex;
                height: 160px;
                justify-content: center;
                align-items: center;
            }
        }

        #contents {
            >.inner {
                position: relative;
                padding-top: 80px;

                .breadcrumb {
                    position: absolute;
                    top: 12px;
                    font-size: 14px;
                    display: flex;

                    a {
                        text-decoration: underline;
                        color: #0872CE;
                        margin-right: 6px;
                    }
                }

                >p {
                    text-align: center;
                }

                .inquiry_info {
                    .inner {
                        width: 50%;
                        margin: 0 auto;
                        position: relative;

                        img {
                            width: 12%;
                            position: absolute;
                            bottom: 90%;
                            right: 0;
                        }

                        .step {
                            display: flex;
                            width: 100%;
                            justify-content: space-between;

                            li {
                                padding: 8px 32px;
                                background-color: #E9E9E9;
                                border-radius: 7px;
                                width: 28%;
                                box-sizing: border-box;
                                text-align: center;
                                letter-spacing: 4px;

                                span {
                                    display: block;
                                    font-size: 12px;
                                    padding-bottom: 4px;
                                    letter-spacing: 0px;
                                }
                            }

                            li.is-active {
                                background-color: #F3AD18;
                            }
                        }
                    }

                    p {
                        padding-top: 40px;
                        text-align: center;
                    }
                }

                .form_section {
                    .inner {
                        padding: 40px 20px;
                        box-sizing: border-box;

                        .message {
                            text-align: center;
                            line-height: 1.35;
                        }

                        .button {
                            background-color: #fff;
                            border: 1px solid #000000;
                            border-radius: 30px;
                            display: flex;
                            justify-content: center;
                            align-items: center;
                            font-weight: 500;
                            margin: 0 auto;
                            width: 200px;
                            height: 52px;
                            font-size: 16px;
                            margin-top: 44px;

                            &:hover {
                                box-shadow: 0px 4px 2px rgba(0, 0, 0, 0.3);
                            }
                        }
                    }
                }
            }
        }
    }
}

/* End お問い合わせ_完了画面 */

/* XXXXXXXXXX */
#xxx {
    header {
        width: 100%;
        background-color: #FFFFFF;
        border-top: 5px solid #F3AD18;
        position: fixed;
        z-index: 999;
        transition: background-color 0.5s;

        >.inner {
            width: 100%;
            max-width: 1200px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            height: 80px;
            margin: 0 auto;

            .header_logo {
                width: 150px;
                padding: 0 2%;
            }

            .header_navi {
                width: 75%;

                .navi_section {
                    display: flex;
                    justify-content: space-around;
                    align-items: center;

                    li {
                        position: relative;

                        &:not(:last-of-type) {
                            a {
                                color: #333333;

                                &:hover {
                                    opacity: 0.7;

                                    &:before {
                                        content: '';
                                        position: absolute;
                                        left: 50%;
                                        bottom: -25px;
                                        /*線の上下位置*/
                                        display: inline-block;
                                        width: 50px;
                                        /*線の長さ*/
                                        height: 2.5px;
                                        /*線の太さ*/
                                        -webkit-transform: translateX(-50%);
                                        transform: translateX(-50%);
                                        /*位置調整*/
                                        background-color: black;
                                        /*線の色*/
                                        border-radius: 3px;
                                        /*線の丸み*/
                                    }
                                }
                            }
                        }

                        &:last-of-type {
                            background-color: #F3AD18;
                            border-radius: 30px;
                            width: 90px;
                            height: 35px;
                            display: flex;
                            justify-content: center;
                            align-items: center;

                            input {
                                background-color: #0872CE;
                                border: none;
                                font-family: "noto-sans-jp";
                                font-size: 14px;
                                color: #FFF;
                                height: 35px;
                                width: 100%;
                                display: flex;
                                justify-content: center;
                                align-items: center;
                                border-radius: 30px;

                                &:hover {
                                    box-shadow: 0px 4px 2px rgba(0, 0, 0, 0.3);
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    main {
        width: 100%;

        section {
            >.inner {
                width: 96%;
                max-width: 1200px;
                margin: 0 auto;
                padding: 0 2%;
            }
        }

        >.title {
            display: flex;
            width: 100%;
            padding-top: 80px;
            background: linear-gradient(rgba(254, 238, 203, 0.95)), url("../images/image_bg_01.png");

            >.inner {
                display: flex;
                height: 160px;
                justify-content: center;
                align-items: center;
            }
        }

        .main_visual {
            >.inner {
                display: flex;
                padding-top: 120px;
                padding-bottom: 60px;
                justify-content: space-between;
                position: relative;

                .breadcrumb {
                    position: absolute;
                    top: 12px;
                    font-size: 14px;
                    display: flex;

                    a {
                        text-decoration: underline;
                        color: #0872CE;
                        margin-right: 6px;
                    }
                }
            }
        }
    }

    footer {
        .cta {
            >.inner {
                width: 100%;
                max-width: 1200px;
                margin: 0 auto;
                padding: 40px 0;

                ul {
                    display: flex;
                    padding: 10px;
                    border-radius: 7px;

                    li {
                        width: 33%;
                        display: flex;
                        align-items: center;

                        .inner {
                            text-align: center;
                            width: 100%;
                        }
                    }

                    .phone {
                        .inner {
                            border-right: 2px solid #F3AD18;
                            padding: 20px 12px 20px 0;

                            >p {
                                letter-spacing: 2px;
                            }

                            a {
                                color: #333333;
                                display: flex;
                                justify-content: center;
                                align-items: center;
                                width: 100%;
                                padding-top: 5px;

                                img {
                                    width: 12%;
                                    object-fit: contain;
                                }

                                p {
                                    font-size: 36px;
                                }
                            }

                            span {
                                padding-top: 8px;
                                display: block;
                                font-size: 14px;
                            }
                        }
                    }

                    .request,
                    .inquiry {
                        .inner {
                            >p {
                                font-size: 14px;
                            }

                            .button {
                                width: 77%;
                                margin: 0 auto;
                                margin-top: 10px;

                                a {
                                    padding: 20px 0;
                                    border-radius: 30px;
                                }
                            }
                        }
                    }
                }
            }
        }

        .navi {
            color: #FFF;

            a {
                color: #FFF;
            }

            >.inner {
                width: 100%;
                max-width: 1200px;
                margin: 0 auto;
                padding-top: 80px;
                display: flex;
                justify-content: space-between;
                flex-wrap: wrap;

                .navi-text {
                    width: 75%;

                    img {
                        width: 28%;
                    }

                    >ul {
                        display: flex;
                        justify-content: space-between;

                        >li {
                            padding-top: 20px;

                            >ul {
                                margin-top: 16px;
                                padding-top: 16px;
                                border-top: 1px solid #fff;

                                >li {
                                    font-size: 14px;
                                    margin-bottom: 10px;

                                    &:hover {
                                        filter: opacity(70%);
                                    }
                                }
                            }
                        }

                        >:nth-of-type(1) {
                            width: 30%;
                        }

                        >:nth-of-type(2) {
                            width: 30%;
                        }

                        >:nth-of-type(3) {
                            width: 35%;
                        }
                    }
                }

                .navi_icon {
                    width: 24%;
                    display: flex;
                    flex-wrap: wrap;

                    .sns {
                        width: 100%;
                        display: flex;
                        justify-content: flex-end;
                        align-items: center;
                        padding-top: 20px;
                        padding-bottom: 10px;

                        a {
                            img {
                                width: 100%;
                                object-fit: contain;

                                &:hover {
                                    filter: opacity(70%);
                                }
                            }
                        }

                        >:nth-of-type(1) {
                            margin-right: 20px;
                        }
                    }

                    .banner {
                        width: 100%;
                        display: flex;
                        justify-content: space-between;
                        align-items: flex-start;

                        >a {
                            width: 30%;
                            background-color: #FFF;

                            img {
                                width: 100%;
                                object-fit: contain;

                                &:hover {
                                    filter: opacity(70%);
                                }
                            }
                        }

                        >div {
                            width: 65%;

                            a {
                                background-color: #FFF;
                                display: block;

                                img {
                                    &:hover {
                                        filter: opacity(70%);
                                    }
                                }
                            }

                            p {
                                font-size: 10px;
                                text-align: right;
                                padding-top: 10px;
                                padding-top: 5px;
                                line-height: 1.35;
                            }
                        }
                    }
                }

                >p {
                    margin: 0 auto;
                    padding-top: 80px;
                    padding-bottom: 10px;
                }
            }
        }
    }
}

/* End XXXXXXXXXXXX */
/* End 個別項目 ------------------------------------- */
