.main_partner_top_section {
    background-image: url('/src/eyes_v3pages/image/partner_page/bg_partner_main_top_pc.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100svh;
    position: relative;

    & .main_partner_top_inner {
        position: absolute;
        top: 30%;
        left: 10%;
        color: #ffffff;
        font-size: 1.3rem;
        font-weight: bold;
        width: 55svw;

        @media screen and (max-width: 768px) {
            top: 30%;
            left: 0%;
            width: 100svw;
            font-size: 1rem;
            text-align: center;
        }

        & h1 {
            font-size: 2.5rem;
            margin-bottom: 20px;

            @media screen and (max-width: 768px) {
                font-size: 1.8rem;
            }
        }

        & h2 {
            font-size: 1.5rem;
            margin-bottom: 15px;

            @media screen and (max-width: 768px) {
                font-size: 1.2rem;
            }
        }

        & h3 {
            font-size: 1.2rem;
            font-weight: normal;

            @media screen and (max-width: 768px) {
                font-size: 1rem;
            }
        }
    }
}

/* partner program section */
/* パートナープログラムセクション */
.partner_program_base {
    padding: 4rem 2rem;
    background-color: #d1edfc;

    @media screen and (max-width: 768px) {
        padding: 2rem 1rem;
    }

    /* ボックスコンテナ */
    & .program_box_container {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: stretch;
        gap: 2rem;
        max-width: 1200px;
        margin: 0 auto;

        @media screen and (max-width: 768px) {
            flex-direction: column;
            gap: 1.5rem;
        }
    }

    /* 個別ボックス */
    & .program_box {
        flex: 1;
        background-color: #ffffff;
        /* border: 2px solid #e0e0e0; */
        border-radius: 8px;
        padding: 2rem 1.5rem;
        text-align: center;
        transition: all 0.3s ease;
        min-height: 250px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        position: relative;

        &:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
            border-color: #5aabee;
        }

        @media screen and (max-width: 768px) {
            min-height: 200px;
        }

        & .sub_box_hight {
            position: absolute;
            top: -2.4rem;
            height: 80px;
            left: 0;
            background-image: linear-gradient(275deg, #14c4de, #40adf0);
            width: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            color: white;
        }

        & .sub_box_row {
            position: absolute;
            top: 0rem;
            height: 40px;
            left: 0;
            background-color: #0397c5;
            width: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            color: white;
        }

        & h2 {
            margin: 1rem 0rem 0rem 0rem;
            font-size: 1.2rem;
            font-weight: bold;
        }

        & img {
            width: 50%;
            height: auto;
            margin-top: 0.5rem;
        }
    }

    /* ボックスタイトル */
    & .box_title {
        font-size: 1.5rem;
        font-weight: bold;
        color: #333;
        margin-bottom: 1rem;

        @media screen and (max-width: 768px) {
            font-size: 1.2rem;
        }
    }

    /* ボックス説明文 */
    & .box_description {
        font-size: 1rem;
        color: #666;
        line-height: 1.8;

        @media screen and (max-width: 768px) {
            font-size: 0.9rem;
        }
    }
}

.partner_flow_image_area {
    display: flex;
    justify-content: center;
    align-items: center;

    @media screen and (max-width: 768px) {
        padding: 1rem;
    }

    & img {
        width: 60svw;
        height: auto;

        @media screen and (max-width: 768px) {
            width: 90svw;
        }
    }
}

.solution_partner_logo_area {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding-bottom: 2rem;

    & img {
        width: 25svw;
        height: auto;

        @media screen and (max-width: 768px) {
            width: 80svw;
        }
    }

    & p {
        margin-top: 1rem;
        font-size: 0.9rem;
        color: #333;
        text-align: center;
        width: 60svw;

        @media screen and (max-width: 768px) {
            width: 90svw;
            font-size: 0.8rem;
        }
    }

}

/* partner solution section */
/* パートナーソリューションセクション */
.partner_solution_area {

    background-color: #024375;
    position: relative;
    text-align: center;
    padding: 4rem 2rem;

    @media screen and (max-width: 768px) {
        padding: 2rem 0rem;
    }

    & h1 {
        color: #ffffff;
        padding-top: 1rem;
    }

    & h4 {
        color: #ffffff;
        font-size: 1rem;
        font-weight: normal;
        padding: 0 1rem;
    }

    /* 下向き三角形 */
    &::after {
        content: '';
        position: absolute;
        bottom: -50px;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-left: 50px solid transparent;
        border-right: 50px solid transparent;
        border-top: 50px solid #024375;
        z-index: 1;
    }

    /* ボックスコンテナ */
    & .solution_box_container {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: stretch;
        gap: 1rem;
        padding: 2rem 2rem;

        @media screen and (max-width: 768px) {
            flex-direction: column;
            gap: 1.5rem;
        }
    }

    /* 個別ボックス */
    & .solution_box {
        /* flex: 1; */
        background-color: #ffffff;
        padding: 2rem 1.5rem;
        text-align: center;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 20svw;
        color: #333;

        @media screen and (max-width: 768px) {
            width: 100%;
        }

        & img {
            padding: 1rem 0rem;
            width: 80%;
            height: auto;
        }

        & h2 {
            font-size: 1.2rem;
            font-weight: bold;
        }

        & p {
            margin-top: 1em;
            font-size: 0.8rem;
            line-height: 1.6;
        }
    }
}

/* partner type section */
/* パートナータイプセクション */
.partner_type_area {
    background-image: linear-gradient(186deg, #157fde, #29abfb);
    padding: 4rem 2rem;
    position: relative;

    @media screen and (max-width: 768px) {
        padding: 2rem 1rem;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    & h1 {
        color: #ffffff;
        text-align: center;
        margin-bottom: 3rem;
        font-size: 1.5rem;
    }

    & .sub_img {
        width: 18svw;
        position: absolute;
        right: 8rem;
        top: 0;

        @media screen and (max-width: 768px) {
            display: none;
        }
    }

    /* ボックスコンテナ */
    & .type_box_container {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: stretch;
        gap: 2rem;
        margin: 0 auto;

        @media screen and (max-width: 768px) {
            flex-direction: column;
            gap: 1.5rem;
        }
    }

    /* 個別ボックス */
    & .type_box {
        background-color: #ffffff;
        padding: 3rem 1.5rem;
        text-align: center;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 30svw;

        @media screen and (max-width: 768px) {
            width: 80svw;
        }

        & .icon_img {
            padding: 1rem 0rem;
            width: 30%;
            height: auto;
        }

        & .logo_img {
            padding: 1rem 0rem;
            width: 60%;
            height: auto;
        }

        /* type_box内の表スタイル */
        & .partner_table {
            width: 100%;
            margin-top: 1.5rem;
            border-collapse: collapse;

            & td {
                padding: 0.8rem;
                border: 1px solid #ffffff;
                text-align: left;

                @media screen and (max-width: 768px) {
                    padding: 0.5rem;
                    font-size: 0.8rem;
                }
            }

            & th {

                font-size: 0.9rem;

                @media screen and (max-width: 768px) {
                    padding: 0.5rem;
                    font-size: 0.8rem;
                }
            }

            @media screen and (max-width: 768px) {
                padding: 0.5rem;
                font-size: 0.8rem;
            }

            & tr:nth-child(even) {
                background-color: #ffffff;
            }

            & .head_color {
                background-color: #03559d;
                color: #ffffff;
            }

            & .sub_head_color {
                background-image: linear-gradient(90deg, #157fde, #29abfb);
                color: #ffffff;
                padding: 0.8rem;
                font-weight: normal;
                text-align: left;
            }
        }
    }
}

/* 区切りメッセージ */
.separator_message_area {
    margin-top: 5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 4rem 0rem 2rem 0rem;

    @media screen and (max-width: 768px) {
        padding: 1rem;
    }

    & .flex_message_box {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;

        @media screen and (max-width: 768px) {
            flex-direction: column;
        }
    }

    & .underline_box {
        border-bottom: solid 5px #5aabee;
        padding-bottom: 0.5rem;
    }

    & .text_color_blue {
        color: #5aabee;
    }

    & h2 {
        font-size: 1.5rem;
        font-weight: bold;
        padding-top: 0.5rem;
        text-align: center;
        margin: 0rem 0rem;
    }

    & h3 {
        font-size: medium;
        font-weight: bold;
        padding-top: 0.5rem;
        text-align: center;
        margin: 1rem 0rem;
        line-height: 2;
    }
}

.partner_link_btn_container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;

    & p {
        padding: 1rem 1rem;
    }
}

/* partner four box section */
/* パートナー4ボックスセクション */
.partner_four_box_area {

    background-color: #024375;
    position: relative;
    text-align: center;
    padding: 4rem 2rem;

    @media screen and (max-width: 768px) {
        padding: 2rem 0rem;
    }

    & h1 {
        color: #ffffff;
        padding-top: 1rem;
    }

    & h4 {
        color: #ffffff;
        font-size: 1rem;
        font-weight: normal;
        padding: 0 1rem;
    }

    /* ボックスコンテナ */
    & .four_box_container {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: stretch;
        gap: 1rem;
        padding: 2rem 2rem;

        @media screen and (max-width: 768px) {
            flex-direction: column;
            gap: 1.5rem;
        }
    }

    /* 個別ボックス */
    & .four_box {
        background-color: #ffffff;
        padding: 2rem 1.5rem;
        text-align: center;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 17svw;
        color: #333;

        @media screen and (max-width: 768px) {
            width: 100%;
        }

        & img {
            padding: 1rem 0rem;
            width: 80%;
            height: auto;
        }

        & h2 {
            font-size: 1.2rem;
            font-weight: bold;
        }

        & p {
            margin-top: 1em;
            font-size: 0.8rem;
            line-height: 1.6;
        }

        & img {
            width: 60%;
            height: auto;

            @media screen and (max-width: 768px) {
                width: 80%;
            }
        }
    }
}

/* btn parts */
/* ボタンパーツ */
.partnerinfo_link_area {
    display: flex;
    align-items: center;
    justify-content: start;
    align-items: center;
    margin: 1rem;

    @media screen and (max-width: 768px) {
        justify-content: center;
    }

    & a {
        text-decoration: none;
    }

    & .add_link_btn {
        background-color: #d958f6;
        color: white;
        width: 20svw;
        padding: 1rem 0.5rem;
        text-align: center;
        transition: all 0.5s;
        border-radius: 0px;

        @media screen and (max-width: 768px) {
            width: 60svw;
        }

        &:hover {
            background-color: #9603b8;
            transform: translateY(-3px);
            box-shadow: 0 8px 16px rgba(185, 4, 226, 0.3);
        }
    }

}

.partner_qa_link_area {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    margin: 1rem;

    @media screen and (max-width: 768px) {
        justify-content: center;
    }

    & a {
        text-decoration: none;
    }

    & .qa_link_btn {
        background-color: #ffffff;
        color: #0a97d4;
        width: 40svw;
        border: 3px solid #057bae;
        border-radius: 50px;
        padding: 1rem 0.5rem;
        text-align: center;
        transition: all 0.5s;
        font-weight: bold;

        @media screen and (max-width: 768px) {
            width: 60svw;
        }

        &:hover {
            background-color: #057bae;
            color: white;
            transition: all 0.5s;
        }
    }

}