@charset "UTF-8";
/*------------セミナーページ2026css------------*/




/*-----関西フードパビリオン-----*/
#tokubetsu {
    --k_food_color: #e66b00;
    --k_food_color_sub: #ff6f00;
    --sake_color: #1a6072;
    --toku_gradien: linear-gradient(137deg, rgba(232, 0, 0, 1) 0%, rgba(237, 55, 55, 1) 60%, rgba(132, 71, 152, 1) 99%);


    h2 {
        font-size: clamp(1.375rem, 0.7375rem + 3vw, 3.4375rem);
    }

    /*22px -55px*/

    @media only screen and (min-width: 790px) {
        .screensize_sp {
            display: none;
        }

        /*pcで閲覧したら非表示にするスマホ用コンテンツ*/
    }

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

        /*スマホで閲覧したら非表示にするpc用コンテンツ*/
    }


    #title {
        background: none;

        .title_breadcrumb {
            width: clamp(320px, 90%, 1440px);
            margin: 0 auto;
            padding: 15px 0 0 0;
        }

        .contents_inner_lp {
            display: flex;
            align-items: center;
            justify-content: center;
            height: 576px;

            @media screen and (max-width: 980px) {
                height: 60vh;
            }

            @media screen and (max-width: 650px) {
                height: 35vh;
            }

        }

        h1 {
            line-height: 1.0;
            font-weight: 900;
            letter-spacing: 0.1em;
            font-size: clamp(1.625rem, 0.8036rem + 4.1071vw, 4.5rem);
            /*26px -72px*/
            position: relative;
            margin-bottom: 0;
        }

        .contents_inner_lp.foodex_wine_title {
            align-items: flex-start;
            justify-content: flex-start;
        }

        .contents_inner_lp.foodex_wine_title h1 {
            text-align: left;
            width: 960px;
            max-width: 90%;
            margin: 30px auto;
        }

        .contents_inner_lp.foodex_wine_title h1 img {
            width: 420px;
            max-width: 90%;
        }

        @media screen and (max-width: 579px) {
            .contents_inner_lp.foodex_wine_title h1 img {
                width: 220px;
                max-width: 60%;
            }
        }

        h1:before {
            content: "特別企画";
            position: absolute;
            top: -3em;
            left: 0;
            background: #000;
            color: #fff;
            font-size: 1rem;
            padding: 0.5em 1em;
        }

        .sab_title {
            font-size: clamp(0.875rem, 0.6432rem + 1.0909vw, 1.625rem);
            font-weight: 700;
            margin-top: 15px;
        }

    }

    .k_food_bg {
        width: 100%;
        background: linear-gradient(rgba(255, 255, 255, 0.9)58%, rgba(255, 199, 156, 0.2)),
            url(../img/title_bk/title_k-food.png) no-repeat bottom 30% center !important;
        background-size: 110%;
    }

    .sake_japan_bg {
        width: 100%;
        background: linear-gradient(rgba(255, 255, 255, 0.8)70%, rgba(255, 199, 156, 0.4)),
            url(../img/title_bk/title_sakejapan.webp) no-repeat bottom 40% center !important;
        background-size: 100%;

        @media only screen and (max-width : 786px) {
            background-size: 220% !important;
        }
    }

    .fig_box {
        display: flex;
        justify-content: space-between;
        gap: 5%;
    }

    .toku_grad_bk {
        background: var(--toku_gradien);
    }

    /*ページ下の申し込み等*/

    .black_con_bgimg {
        background: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.9)), url(../img/order_bk_img.webp) no-repeat center center;
        background-attachment: fixed;
        background-size: cover;
        background-position: center;
        position: relative;
        z-index: 1;
    }

    #foot-order {
        color: #ffffff;

        .order_box {
            width: clamp(300px, 90%, 800px);
            margin: 0 auto 50px auto;

            p,
            p a {
                line-height: 1.5em;
                color: #ffffff;
            }

            p a:hover {
                border-bottom: 1px solid #ffffff;
            }
        }

        .btn_b a {
            font-weight: normal;
            font-size: clamp(1rem, 0.9227rem + 0.3636vw, 1.25rem);
            width: 320px;
        }

        a.toku_grad_bk:hover {
            background: var(--primary-color);
        }
    }

    #toku_kread {
        p {
            line-height: 2em;
        }
    }

    /*関西フードパビリオン 実績データ */
    #kfood_data {
        .overlay {
            position: relative;
            z-index: 0;
        }

        .overlay::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            height: 100%;
            width: 100%;
            background: rgba(230, 107, 0, 0.8);
            z-index: 1;
        }

        .data {
            position: relative;
            z-index: 2;
        }


        .num_box {
            display: flex;
            justify-content: space-between;
            gap: 5%;

        }

        .num_box_inner {
            width: 100%;
            color: #ffffff;
            text-align: center;

            h4 {
                margin: 0 auto 1em auto;
                font-weight: normal;
                font-size: clamp(1.25rem, 1.0955rem + 0.7273vw, 1.75rem);
                font-weight: 700;
            }

            h5 {
                margin: 0.8em auto 0 auto;
            }

            p {
                color: #Ffffff;
                font-size: clamp(1.5rem, -0.3545rem + 8.7273vw, 7.5rem);
                font-weight: 700;
                font-style: italic;
                margin-top: 0.5em;
            }

            @media only screen and (max-width: 1500px) {
                p {
                    font-size: 5em;
                    margin-top: 0px;
                }
            }

            @media only screen and (max-width: 1000px) {
                p {
                    font-size: 3em;
                    margin-top: 0px;
                }
            }

            @media only screen and (max-width: 700px) {
                p {
                    font-size: clamp(1.5rem, -0.3545rem + 8.7273vw, 7.5rem);
                }
            }

            .small01 {
                font-size: clamp(0.625rem, 0.2rem + 2vw, 2rem);
                font-weight: 600;
            }
        }
    }

    /* ----------関西フードパビリオン----------- */
    #k_foodex_p,
    #sake_j {

        h1,
        h2,
        h3 {
            color: var(--k_food_color);
        }

        .head-border:before,
        .head-border:after {

            background-color: var(--k_food_color);
        }



        .page_bgimg03 {
            background: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.9)), url(../img/tokubetsu2026/kfp_page_bk_img.png) no-repeat;
            background-position: right 0 bottom -100px;
            background-size: 55%;
            background-attachment: fixed;
            position: relative;
            z-index: 1;
        }




        /* 関西フードパビリオン 実績 */
        #kfood_achieve {
            background-color: #ffffff;

            figure {
                text-align: center;
            }


            .flex-container {
                justify-content: space-between;
                gap: 5%;

                figure {
                    width: 30%;
                    text-align: center;
                }

                @media only screen and (max-width : 786px) {
                    flex-direction: column;
                    gap: 15px;

                    figure {
                        width: 100%;
                    }

                }
            }

            .tokutyo_box {
                display: flex;
                flex-direction: column;
                gap: 10%;
                padding: 0;
                list-style: none;
                width: 70%;

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

                li {
                    display: flex;
                    gap: 3%;
                    align-items: center;
                    justify-content: flex-start;


                    p {
                        font-size: clamp(1.125rem, 0.7773rem + 1.6364vw, 2.25rem);
                        width: 80%;
                        text-align: left;
                        line-height: 1.6em;
                    }
                }
            }

            .tokutyo {
                font-weight: 800;
                width: 11.5rem;
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 3%;
                line-height: 1.2em;
                margin: 0;
                font-size: clamp(1.375rem, 0.2545rem + 5.2727vw, 5rem);
                color: #fff;
                text-shadow: 1px 1px 0 var(--k_food_color), -1px -1px 0 var(--k_food_color),
                    -1px 1px 0 var(--k_food_color), 1px -1px 0 var(--k_food_color),
                    0px 1px 0 var(--k_food_color), 0-1px 0 var(--k_food_color),
                    -1px 0 0 var(--k_food_color), 1px 0 0 var(--k_food_color);
                font-style: italic;

                span {
                    font-size: 0.3em;
                    color: var(--k_food_color);
                    text-shadow: none;
                    font-style: normal;
                    letter-spacing: 0.5em;
                }

                @media only screen and (max-width : 786px) {
                    width: 30%;
                }
            }

            @media only screen and (max-width : 786px) {
                .fig_box {
                    flex-direction: column;
                    gap: 15px;
                }
            }

        }

        /* 関西フードパビリオン の案内 */
        #pavilion {
            width: 100%;
            background: url(../img/title_bk/title_k-food.png) no-repeat center bottom;
            background-position: bottom 0;
            background-size: 100%;
            /*background-attachment: fixed;*/
            position: relative;

            h4 {
                text-align: center;

                span.red_box {
                    background: var(--red-color);
                    color: #fff;
                    padding: 0.25em 0.5em 0.2em;
                }
            }

            .overlay02::before {
                content: "";
                position: absolute;
                top: 0;
                left: 0;
                height: 100%;
                width: 100%;
                background: linear-gradient(0deg, rgba(255, 250, 204, 0.9) 0%, rgba(254, 220, 190, 0.4) 100%);
                z-index: 1;
            }

            .pavi_p {
                position: absolute;
                left: 9.2em;
                top: -1em;
                font-weight: 600;
                font-size: 25px;
                padding-bottom: 0.5em;
                color: #3f3f3f;

            }

            .plan-t_box {
                background-color: rgb(240, 186, 35, 0.3);
                border-radius: 7px;
                padding: 20px;

                p {
                    font-size: clamp(1.125rem, 1.0091rem + 0.5455vw, 1.5rem);
                    text-align: center;
                    line-height: 2em;
                    letter-spacing: 0.2em;

                    span {
                        letter-spacing: 0.1em;
                        font-weight: 900;
                    }
                }
            }

            .p_fl {
                display: flex;
                gap: 3%;

                @media only screen and (max-width : 786px) {
                    flex-direction: column;
                    gap: 2vh;

                }

                .p_fl_in {
                    display: flex;
                    gap: 3%;

                    img {
                        object-fit: cover;
                        height: 380px;
                    }

                    @media only screen and (max-width : 1024px) {
                        img {
                            max-height: 330px;
                        }
                    }

                    @media only screen and (max-width : 789px) {
                        img {
                            max-height: 250px;
                        }
                    }

                    @media only screen and (max-width : 630px) {
                        img {
                            max-height: 160px;
                        }
                    }
                }

                .p_fl_inner {
                    .lpfr {
                        flex-basis: 50%;
                    }
                }

                ul.list_dot {
                    margin-top: 10px;

                }

                ul.list_dot li {
                    margin-top: 0.3em;
                    font-size: clamp(1rem, 0.9227rem + 0.3636vw, 1.25rem);
                }

                ul.list_dot li:before {
                    color: rgb(230, 107, 0, 0.3);
                }

                ul.list_dot li:first-child::before {
                    color: var(--k_food_color);
                    content: '\f45c';
                }


                .text_voice {
                    line-height: 1.8em;
                }

            }

            .img_man {
                float: right;
                margin: 0 0 15px 20px;
                width: clamp(80px, 40%, 200px);
            }

            .fee_box {
                display: flex;
                justify-content: space-between;
                gap: 1%;

                @media only screen and (max-width : 786px) {
                    flex-direction: column;
                    gap: 2vh;

                }

                .fee_box_arrow {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    width: 3%;
                    font-size: 3em;
                    color: var(--k_food_color);

                    @media only screen and (max-width : 786px) {
                        width: 100%;
                        text-align: center;

                    }
                }

                .fee_box_usually {
                    width: 59%;
                    background-color: #eeeeee;

                    @media only screen and (max-width : 786px) {
                        width: 100%;

                    }

                    h5 {
                        background: #000;
                        color: #ffffff;
                        margin-bottom: 0;
                        padding: 0.5em;
                    }

                    .fee_box_usually_bt {
                        padding: 15px;
                        display: flex;
                        justify-content: space-between;
                        gap: 3%;

                        @media only screen and (max-width : 790px) {
                            flex-direction: column;
                            gap: 1vh;

                        }

                        .fee_box_usually_bt_l {
                            display: flex;
                            justify-content: center;
                            flex-direction: column;
                            text-align: center;

                            .price_box {
                                background: #ffffff;
                                padding: 10px;
                            }

                            .plus_box {
                                margin: 10px auto;
                                font-size: 2em;
                            }
                        }

                        .fee_box_usually_bt_r {
                            display: flex;
                            justify-content: center;
                            flex-direction: column;

                            p {
                                line-height: 1.8em;

                                @media only screen and (max-width : 786px) {
                                    text-align: center;
                                    margin-top: 10px;

                                }
                            }
                        }
                    }
                }

                .fee_box_special {
                    width: 45%;
                    background-color: rgb(251, 231, 213);
                    position: relative;
                    overflow: visible;

                    @media only screen and (max-width : 786px) {
                        width: 100%;

                    }

                    h4 {
                        background: var(--k_food_color);
                        color: #ffffff;
                        margin-bottom: 0;
                        padding-left: clamp(100px, 30%, 220px);
                        text-align: left;
                    }

                    .fee_box_special_bt {
                        display: flex;
                        flex-direction: column;
                        justify-content: center;
                        padding: 15px;
                        height: calc(100% - 51px);

                        p {
                            text-align: left;
                            font-weight: bold;
                            color: var(--red-color);
                            font-size: clamp(1.5rem, 0.8045rem + 3.2727vw, 3.75rem);
                            padding-left: clamp(70px, 28%, 230px);

                            .small01 {
                                font-size: 0.65em;
                            }

                            .small02 {
                                font-size: 0.3em;
                                font-weight: normal;
                                color: #000;
                            }
                        }
                    }

                    .img_30com {
                        position: absolute;
                        overflow: visible;
                        top: 0;
                        bottom: 0;
                        left: 10px;
                        margin: auto 0;
                        /*height: 100%;*/
                        display: flex;
                        flex-direction: column;
                        align-items: center;
                        justify-content: center;
                        width: clamp(60px, 25%, 200px);

                        @media only screen and (max-width : 786px) {
                            top: -60px;

                        }


                        img {
                            width: 100%;
                            height: auto;
                            /* 古いブラウザで表示を安定させるため */
                            aspect-ratio: 1 / 1;
                            /* 縦横比を1:1に設定 */
                        }
                    }

                }
            }

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

                .limit_box {
                    font-size: 1rem;
                    border: 1px solid #3f3f3f;
                    color: #3f3f3f;
                    padding: 0.3em;
                    margin-right: 1em;
                }

                .days_box {
                    color: var(--red-color);
                    font-weight: 900;
                    font-size: clamp(1.5rem, 0.8045rem + 3.2727vw, 3.75rem);

                    span.small {
                        font-size: 0.5em !important;
                    }
                }
            }

        }
    }



    /* ----------SAKE JAPAN----------- */
    #sake_j {

        h1,
        h2,
        h3 {
            color: var(--sake_color);
        }

        .head-border:before,
        .head-border:after {
            background-color: var(--sake_color);
        }

        .sj_blue {
            color: var(--sake_color);
        }

        .sj_red {
            color: #b72121 !important;
        }

        .sj_border {
            border-bottom: 2px solid #1a6072;
        }

        /*.page_bgimg04 {
         width: 100%;
         background: url(../img/tokubetsu2026/bk_sakejapan.png) no-repeat center bottom;
         background-position: bottom 0;
         background-size: 100%;
        position: relative;
        z-index: 2;
        }*/

        .overlay03::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            height: 100%;
            width: 100%;
            background: rgba(224, 250, 255, 0.7);
            z-index: 1;
        }

        .page_bgimg05 {
            background: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.9)), url(../img/tokubetsu2026/sj_page_bk_img.png) no-repeat center center;
            background-attachment: fixed;
            background-size: cover;
            background-position: top;
            position: relative;
            z-index: 1;
        }

        #toku_sread {
            p {
                line-height: 2em;
            }
        }

        /*SAKE JAPAN 実績データ */
        #sj_data {
            .overlay {
                position: relative;
                z-index: 0;
            }

            .overlay::before {
                content: "";
                position: absolute;
                top: 0;
                left: 0;
                height: 100%;
                width: 100%;
                background: rgba(26, 96, 114, 0.8);
                z-index: 1;
            }

            .data {
                position: relative;
                z-index: 2;
            }

            .data h2 {
                margin-bottom: 0px;
            }

            .num_box {
                display: flex;
                justify-content: space-between;
                /* gap: 5%; */

            }

            .num_box_inner {
                width: 100%;
                color: #ffffff;
                text-align: center;

                h4 {
                    margin: 0 auto 1em auto;
                    font-weight: normal;
                    font-size: clamp(1.25rem, 1.0955rem + 0.7273vw, 1.75rem);
                    font-weight: 700;
                }

                h5 {
                    margin: 0.8em auto 0 auto;
                }

                p {
                    color: #Ffffff;
                    font-size: clamp(1.5rem, -0.3545rem + 8.7273vw, 7.5rem);
                    font-weight: 700;
                    /*font-style: italic;*/
                    /* margin-top: 0.5em; */
                }

                .small01 {
                    font-size: clamp(0.625rem, 0.2rem + 2vw, 2rem);
                    font-weight: 600;
                }
            }
        }

        /* SAKE JAPAN　推移 */
        #sj_achieve {
            background-color: #ffffff;

            figure {
                text-align: center;

                img {
                    width: 85%;
                }

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

            .fig_box {
                flex-direction: row;
                justify-content: center;
                align-items: last baseline;
                /*.ahi_photo{flex-basis: 55%;}*/
            }

            .flex-container {
                align-items: center;
                gap: 0;
                width: 95%;
            }

            .tokutyo_box {
                display: flex;
                flex-direction: row;
                align-items: center;
                padding-bottom: 40px;
                margin: 0 7%;
                list-style: none;
                width: 100%;

                li {
                    display: flex;
                    gap: 14px;
                    align-items: center;
                    justify-content: flex-start;
                    width: 100%;

                    p {
                        font-size: clamp(0.75rem, 0.5714rem + 0.8929vw, 1.375rem);
                        text-align: left;
                        line-height: 1.4em;
                    }
                }
            }

            @media only screen and (max-width : 1025px) {
                .tokutyo_box {
                    margin: 0 4%;
                }
            }

            @media only screen and (max-width : 830px) {
                .tokutyo_box {
                    margin: 0 1%;

                    li {
                        gap: 10px;
                    }
                }

                .fig_box {
                    img {
                        width: 90%;
                    }
                }
            }

            @media only screen and (max-width : 786px) {
                .sp-tokutyo_box {
                    display: flex;
                    flex-direction: row;
                    margin-left: 5%;
                }

                .tokutyo_box {
                    flex-direction: column;
                    justify-content: center;
                    flex-basis: 70%;
                    gap: 40%;
                    padding-bottom: 0;
                    margin: 0;

                    li {
                        margin-right: 5%;
                        gap: 3%;
                    }
                }

                .fig_box {
                    flex-direction: column;

                    figure {
                        margin-bottom: 30px;
                    }

                    figure:last-child {
                        margin-bottom: 0;
                    }

                    img {
                        width: 100%;
                    }
                }
            }

            @media only screen and (max-width : 568px) {
                .tokutyo_box {
                    flex-basis: 90%;
                    gap: clamp(50px, 30vw, 220px);

                    li {
                        flex-direction: column;
                        gap: 20px;

                        p {
                            text-align: center;
                        }
                    }
                }
            }

            .tokutyo {
                font-weight: 500;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                gap: 2;
                line-height: 1.2em;
                margin: 0;
                font-size: 16px;
                color: #1a6072;

                /*font-style: italic;*/
                /*width: 12%;*/
                .text {
                    margin-top: -28px;
                    font-size: 0.8em;
                }

                figure {
                    padding: 15px;
                    border: 1px solid #1a6072;
                    border-radius: 70%;
                    width: 95px;
                    height: 95px;

                    .japan {
                        width: 80%;
                    }

                    .abroad {
                        width: 100%;
                        padding-top: 12px;
                    }
                }

                @media only screen and (max-width : 786px) {
                    .text {
                        margin-top: -22px;
                        font-size: 0.7em;
                    }

                    figure {
                        padding: 10px;
                        width: clamp(60px, 30vw, 90px);
                        height: clamp(60px, 30vw, 90px);

                        .japan {
                            width: 82%;
                        }
                    }
                }
            }
        }

        /*SAKE JAPAN 取り組み1*/
        #sj_achieve02 {
            background-color: #ffffff;

            .flex-container {
                gap: 5%;

                /*align-items:flex-end;*/
                figure {
                    width: 380px;
                    height: 480px;
                    overflow: hidden;
                    text-align: center;
                    /*img{width: 80%;}*/
                }

                @media only screen and (max-width : 786px) {
                    display: block;

                    .right_box {
                        display: none;
                    }
                }
            }

            .container_left {
                display: flex;
                flex-direction: column;
                width: 70%;

                /*h3{margin-bottom: 100px;}*/
                @media only screen and (max-width : 786px) {
                    width: 100%;
                }
            }

            .tokutyo_box {
                display: flex;
                flex-direction: row;
                justify-content: space-between;
                gap: 30px;
                padding: 0;
                list-style: none;
                width: 100%;

                li {
                    display: flex;
                    gap: 2%;
                    align-items: center;
                    justify-content: center;

                    p {
                        font-size: clamp(0.875rem, 0.6964rem + 0.8929vw, 1.5rem);
                        width: 42%;
                        text-align: left;
                        line-height: 1.6em;
                    }
                }

                @media only screen and (max-width : 786px) {
                    gap: 3%;
                    width: 100%;
                    padding: 0;
                }
            }

            .tokutyo {
                font-weight: 500;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                gap: 2;
                line-height: 1.2em;
                margin: 0;
                font-size: 18px;
                color: #1a6072;
                /*font-style: italic;*/
                margin-bottom: 10px;

                .text {
                    margin-top: -30px;
                    font-size: 0.8em;
                }

                figure {
                    padding: 14px;
                    background: #fff;
                    border: 0.5px solid #1a6072;
                    border-radius: 70%;
                    width: 130px;
                    height: 130px;

                    .japan {
                        width: 80%;
                        padding-top: 2px;
                    }

                    .abroad {
                        width: 100%;
                        padding-top: 20px;
                    }
                }

                @media only screen and (max-width : 786px) {
                    .text {
                        margin-top: -25px;
                    }

                    figure {
                        border: 1px solid #1a6072;
                        padding: 13px;
                        width: 100px;
                        height: 100px;

                        .japan {
                            width: 80%;
                        }

                        .abroad {
                            width: 97%;
                            padding-top: 15px;
                        }
                    }
                }
            }

            @media only screen and (max-width : 786px) {
                .fig_box {
                    flex-direction: column;
                    gap: 15px;
                }
            }

            .ach_box {
                border: 2px solid #1a6072;
                background: rgba(255, 255, 255, 0.7);
                border-radius: 25px;
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 5%;
                justify-content: center;
                padding: 25px 0;
                width: 100%;

                p {
                    line-height: 1.8em;
                    margin-top: 30px;
                    /*letter-spacing: 0.2em;*/
                }

                @media only screen and (max-width : 786px) {
                    padding: 15px 10px 10px 10px;

                    p {
                        margin-top: 15px;
                    }
                }
            }
        }

        /*SAKE JAPAN 取り組み2*/
        #sj_achieve03 {
            .contents {
                z-index: 10;
                position: relative;
            }

            .flex-container {
                figure {
                    width: 25%;
                }

                align-items: center;
                gap: 5%;

                @media only screen and (max-width : 786px) {
                    flex-direction: column-reverse;
                    gap: 30px;

                    figure {
                        width: 60%;
                    }
                }
            }

            .tokutyo_box {
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                gap: 50px;
                list-style: none;
                width: 75%;

                @media only screen and (max-width : 786px) {
                    gap: 30px;
                    width: 100%;
                }

                li {
                    display: flex;
                    gap: 2%;
                    align-items: center;
                    justify-content: center;

                    h4 {
                        font-weight: 800;
                        width: 13rem;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        gap: 3%;
                        line-height: 1.2em;
                        /* padding: 3px; */
                        margin: 0;
                        font-size: clamp(1.375rem, 0.2545rem + 5.2727vw, 5rem);
                        color: #fff;
                        text-shadow: 1px 1px 0 var(--sake_color), -1px -1px 0 var(--sake_color), -1px 1px 0 var(--sake_color), 1px -1px 0 var(--sake_color), 0px 1px 0 var(--sake_color), 0 -1px 0 var(--sake_color), -1px 0 0 var(--sake_color), 1px 0 0 var(--sake_color);
                        font-style: italic;

                        span {
                            font-size: 0.3em;
                            color: var(--sake_color);
                            text-shadow: none;
                            font-style: normal;
                            letter-spacing: 0.2em;
                        }
                    }

                    .box_right {
                        width: calc(100% - 15rem);

                        h5 {
                            text-align: left;
                            font-size: clamp(1.125rem, 0.9705rem + 0.7273vw, 1.625rem);
                            border-bottom: 1px solid var(--sake_color);
                            margin-bottom: 0.5em;

                        }


                        p {
                            text-align: left;
                            line-height: 1.6em;
                        }

                    }
                }

                figure {
                    width: 25%;
                }
            }

            @media only screen and (max-width : 786px) {
                .tokutyo_box {
                    li {
                        flex-direction: column;

                        .box_right {
                            width: 100%;
                        }
                    }
                }

                figure {
                    width: 60%;
                }
            }

        }

        .flex-ach01 {
            display: flex;
            gap: 10px 10px;
            flex-wrap: wrap;

            img {
                width: calc(97% / 4);
            }

            @media only screen and (max-width : 786px) {
                img {
                    width: calc(97% / 2);
                }
            }
        }

        .ach_box {
            border: 2px solid #1a6072;
            border-radius: 15px;
            display: flex;
            justify-content: center;
            padding: 30px 0;
            width: 80%;
        }

        /*SAKE JAPAN 特別プラン*/
        #pavilion {
            width: 100%;
            background: url(../img/tokubetsu2026/bk_sakejapan.png) no-repeat center bottom;
            background-position: bottom 0;
            background-size: 100%;
            position: relative;

            .spablue {
                background-color: #caeaf1 !important;
            }

            h4 {
                text-align: center;

                span.sj_box {
                    background: #b72121;
                    color: #fff;
                    padding: 0.25em 0.5em 0.2em;
                }
            }

            .data {
                position: relative;
                z-index: 3;
            }

            ul.list_dot li:first-child::before {
                color: var(--sake_color);
                content: '\f45c';
            }

            ul.list_dot li:before {
                color: rgb(34, 160, 189, 0.6);
            }

            .sj_inner {
                display: flex;
                justify-content: center;
                flex-direction: row;
                gap: 3%;

                .p_fl_l {
                    flex-basis: 70%;
                }

                .p_fl_r {
                    flex-basis: 30%;
                }

                ul {
                    flex-basis: 50%;

                    li {
                        font-size: 18px;
                    }
                }

                @media only screen and (max-width : 786px) {
                    flex-direction: column;
                    gap: 5vh;

                    figure {
                        text-align: center
                    }

                    ;
                }
            }

            .fee_box {
                display: flex;
                justify-content: space-between;
                gap: 1%;

                @media only screen and (max-width : 786px) {
                    flex-direction: column;
                    gap: 2vh;

                }

                .fee_box_arrow {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    width: 3%;
                    font-size: 3em;
                    color: var(--k_food_color);

                    @media only screen and (max-width : 786px) {
                        width: 100%;
                        text-align: center;

                    }
                }

                .fee_box_usually {
                    width: 59%;
                    background-color: #eeeeee;

                    @media only screen and (max-width : 786px) {
                        width: 100%;

                    }

                    h5 {
                        background: #000;
                        color: #ffffff;
                        margin-bottom: 0;
                        padding: 0.5em;
                    }

                    .fee_box_usually_bt {
                        padding: 15px;
                        display: flex;
                        justify-content: space-between;
                        gap: 3%;

                        @media only screen and (max-width : 790px) {
                            flex-direction: column;
                            gap: 1vh;

                        }

                        .fee_box_usually_bt_l {
                            display: flex;
                            justify-content: center;
                            flex-direction: column;
                            text-align: center;

                            .price_box {
                                background: #ffffff;
                                padding: 10px;
                            }

                            .plus_box {
                                margin: 10px auto;
                                font-size: 2em;
                            }
                        }

                        .fee_box_usually_bt_r {
                            display: flex;
                            justify-content: center;
                            flex-direction: column;

                            p {
                                line-height: 1.8em;

                                @media only screen and (max-width : 786px) {
                                    text-align: center;
                                    margin-top: 10px;

                                }
                            }
                        }
                    }
                }

                .fee_box_special {
                    width: 45%;
                    background-color: rgb(250, 250, 250);
                    position: relative;
                    overflow: visible;

                    @media only screen and (max-width : 786px) {
                        width: 100%;

                    }

                    h4 {
                        background: var(--sake_color);
                        color: #ffffff;
                        margin-bottom: 0;
                        padding-left: clamp(100px, 30%, 220px);
                        text-align: left;
                    }

                    .fee_box_special_bt {
                        display: flex;
                        flex-direction: column;
                        justify-content: center;
                        padding: 15px;
                        height: calc(100% - 51px);

                        p {
                            text-align: left;
                            font-weight: bold;
                            font-size: clamp(1.5rem, 0.8045rem + 3.2727vw, 3.75rem);
                            padding-left: clamp(70px, 28%, 230px);

                            .small01 {
                                font-size: 0.65em;
                            }

                            .small02 {
                                font-size: 0.3em;
                                font-weight: normal;
                                color: #000;
                            }
                        }
                    }

                    .img_30com {
                        position: absolute;
                        overflow: visible;
                        top: 0;
                        bottom: 0;
                        left: 10px;
                        margin: auto 0;
                        /*height: 100%;*/
                        display: flex;
                        flex-direction: column;
                        align-items: center;
                        justify-content: center;
                        width: clamp(60px, 25%, 200px);

                        @media only screen and (max-width : 786px) {
                            top: -60px;

                        }


                        img {
                            width: 100%;
                            height: auto;
                            /* 古いブラウザで表示を安定させるため */
                            aspect-ratio: 1 / 1;
                            /* 縦横比を1:1に設定 */
                        }
                    }

                }
            }

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

                .limit_box {
                    font-size: 1rem;
                    border: 1px solid #3f3f3f;
                    color: #3f3f3f;
                    padding: 0.3em;
                    margin-right: 1em;
                }

                .days_box {
                    font-weight: 900;
                    font-size: clamp(1.5rem, 0.8045rem + 3.2727vw, 3.75rem);

                    span.small {
                        font-size: 0.5em !important;
                    }
                }
            }

        }
    }

    /*会場の様子*/
    #sj_venue {
        .flex-container {
            gap: 10px 10px;
            flex-wrap: wrap;

            img {
                width: calc(97% / 4);
            }

            @media only screen and (max-width : 786px) {
                img {
                    width: calc(97% / 2);
                }
            }
        }

        p {
            text-align: center;
            line-height: 2em;
        }
    }



    /* Bunner Style*/
    .entry_btn {
        display: none;
        position: fixed;
        right: 0px;
        bottom: 80px;
        z-index: 10000;

        @media only screen and (max-width : 786px) {
            display: block;
            right: 0px;
            bottom: 75px;
        }
    }

    .entry_btn a {
        background: var(--toku_gradien);
        border: 2px solid #fff;
        color: #ffffff;
        padding: 10px;
        width: 160px;
        height: 120px;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        border-radius: 8px 0 0 8px;

        p {
            font-size: clamp(0.75rem, 0.6341rem + 0.5455vw, 1.125rem);
        }

        figure {
            margin-bottom: 0.2em;
        }

        @media only screen and (max-width : 790px) {
            width: 140px;
            height: 80px;

            br {
                display: none;
            }
        }
    }

    .entry_btn a:hover {
        background: var(--primary-color);
        text-decoration: none;
    }

    .entry-close {
        font-weight: bold;
        position: absolute;
        top: 0;
        right: 5px;
        z-index: 99999;
        padding: 4px;
        border: none;
        color: #ffffff;
        cursor: pointer;
        background: none;
    }

    @media screen and (max-width: 786px) {
        .entry-close {}
    }
}


.sake_feature {
    --main-purple: #1A6072;
    --main-red: #E80100;
    --accent-gold: #F3D567;
    --bg-dark: #363636;
    --text-gray: #333333;
    --btn-grad: linear-gradient(138deg, #844798 0%, rgba(132, 71, 152, 1) 51%, #ed3737 100%);

    --fz-p: clamp(0.875rem, 0.7205rem + 0.7273vw, 1.375rem);
    --fz-h2: clamp(1.375rem, 0.7375rem + 3vw, 3.4375rem);
    --fz-h3: clamp(1.25rem, 0.8929rem + 1.7857vw, 2.5rem);
    --fz-h4: clamp(1.25rem, 0.9795rem + 1.2727vw, 2.125rem);

    font-family: 'Roboto', 'Noto Sans JP', sans-serif;
    color: var(--text-gray);
    line-height: 1.8;
    -webkit-font-smoothing: antialiased;
    background-color: #fff;
}

.sake_feature * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.sake_feature p,
.sake_feature li {
    font-size: var(--fz-p);
}

.sake_feature h1,
.sake_feature h2,
.sake_feature h3,
.sake_feature h4 {
    font-family: 'Noto Sans JP', sans-serif;
}

.sake_feature h2 {
    font-size: var(--fz-h2) !important;
    line-height: 1.2;
    font-weight: 900;
}

.sake_feature h3 {
    font-size: var(--fz-h3) !important;
    line-height: 1.3;
    font-weight: 700;
}

.sake_feature h4 {
    font-size: var(--fz-h4) !important;
    line-height: 1.4;
    font-weight: 700;
}

/* カスタムユーティリティ（tw- prefixに対応） */
.sake_feature .tw-text-main-red {
    color: var(--main-red) !important;
}

.sake_feature .tw-text-main-purple {
    color: var(--main-purple) !important;
}

.sake_feature .tw-text-accent-gold {
    color: var(--accent-gold) !important;
}

.sake_feature .tw-bg-main-red {
    background-color: var(--main-red) !important;
}

.sake_feature .tw-bg-main-purple {
    background-color: var(--main-purple) !important;
}

.sake_feature .bg-dark-custom {
    background-color: var(--bg-dark);
}

/* 特定のメッセージのみに適用する明朝体 */
.sake_feature .serif-emphasis {
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 0.05em;
}

.sake_feature .border-l-red {
    border-left: 8px solid var(--main-red) !important;
}

.sake_feature .border-l-purple {
    border-left: 8px solid var(--main-purple) !important;
}

.sake_feature .border-t-red {
    border-top: 6px solid var(--main-red) !important;
}

.sake_feature .border-t-purple {
    border-top: 6px solid var(--main-purple) !important;
}

.sake_feature .btn-gradient {
    background: var(--btn-grad);
    color: white !important;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
}

.sake_feature .btn-gradient:hover {
    opacity: 0.9;
    transform: scale(1.02);
}

.sake_feature .sake_fv h1,
.theory h2 {
    color: #fff !important;
}

.sake_feature .sake_fv h1 span {
    color: #fff !important;
}

.sake_feature .hero-gradient {
    background: linear-gradient(rgba(54, 54, 54, 0.6), rgba(54, 54, 54, 0.8)),
        url('../img/tokubetsu2026/fv_sake.webp?auto=format&fit=crop&q=80&w=1920');
    background-size: cover;
    background-position: center;
}

.sake_feature .section-tag {
    display: inline-block;
    padding: 6px 20px;
    background: var(--btn-grad);
    color: white;
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.2em;
    margin-bottom: 2rem;
    border-radius: 2px;
}

.sake_feature .case-card {
    transition: all 0.3s ease;
    border: 1px solid #eee;
    background: white;
    border-radius: 12px;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.sake_feature .case-card p.tw-text-gray-600 {
    line-height: 1.7rem;
}

.sake_feature .case-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    border-color: var(--main-purple);
}

.sake_feature .story-panel {
    background: white;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    margin-bottom: 5rem;
    border: 1px solid #f0f0f0;
}

.sake_feature .story-panel h3 {
    display: flex;
    align-items: center;
}

.sake_feature .panel-header {
    padding: 2rem;
    border-bottom: 0;
}

.sake_feature .identity h3 {
    color: #fff !important;
    margin-bottom: 0px !important;
}


.fade-in {
    animation: fadeIn 1.5s ease forwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* デフォルト（スマホ）では非表示、PCサイズ（768px〜）で表示 */
.show-pc {
    display: none !important;
}

/* デフォルト（スマホ）で表示、PCサイズ（768px〜）で非表示 */
.show-sp {
    display: block !important;
}

/* メディアクエリで切り替え */
@media screen and (min-width: 768px) {
    .show-pc {
        display: block !important;
    }

    .show-sp {
        display: none !important;
    }
}

.bk_bread span {
    color: #000 !important;
}

/* --- CSS Variables & Base Styles --- */
:root {
    --bv-primary-orange: #ea7f35;
    --bv-accent-red: #E80100;
    --bv-text-brown: #E66B00;
    --bv-bg-cream: #fdfbf7;
    --bv-bg-cream-dark: #fff9f0;
    --bv-text-main: #4a4a4a;
    --bv-text-black: #000000;
}

/* 埋め込み時の安全策：このセクション内のボックスサイジングを統一 */
.bv-wrapper *,
.bv-wrapper *::before,
.bv-wrapper *::after {
    box-sizing: border-box;
}

.bv-wrapper {
    font-family: 'Noto Sans JP', sans-serif;
    background-color: var(--bv-bg-cream);
    color: var(--bv-text-main);
    width: 100%;
    overflow-x: hidden;
    line-height: 1.5;
}

.bv-wrapper img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* --- Utilities --- */
.bv-container {
    width: 100%;
    max-width: 1024px;
    /* max-w-5xl相当 */
    margin-left: auto;
    margin-right: auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    position: relative;
    z-index: 10;
}

.bv-container-wide {
    width: 100%;
    max-width: 1152px;
    /* max-w-6xl相当 */
    margin-left: auto;
    margin-right: auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.bv-section-padding {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

@media (max-width: 768px) {
    .bv-section-padding {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
}

.bv-text-center {
    text-align: center;
}

.bv-text-right {
    text-align: right;
}

h3.bv-h3 {
    font-size: clamp(1.375rem, 0.7375rem + 3vw, 3.4375rem);
    font-weight: 900;
    display: inline-block;
}

/* Colors */
.bv-text-brown {
    color: var(--bv-text-brown);
}

.bv-text-accent {
    color: var(--bv-accent-red);
}

.bv-text-black {
    color: var(--bv-text-black);
}

.bv-text-orange {
    color: var(--bv-primary-orange);
}

.bv-text-gray {
    color: #6b7280;
}

/* Display Controls */
.bv-hidden-md {
    display: inline;
}

.bv-visible-md {
    display: none;
}

@media (min-width: 768px) {
    .bv-hidden-md {
        display: none;
    }

    .bv-visible-md {
        display: block;
    }
}

/* --- Components --- */

/* Hero Section */
.bv-hero-section {
    background-color: var(--bv-bg-cream-dark);
    position: relative;
}

/* 背景の装飾円 */
.bv-bg-circle {
    position: absolute;
    border-radius: 9999px;
    mix-blend-mode: multiply;
    filter: blur(40px);
    /* blur-3xl相当 */
    opacity: 0.7;
    z-index: 0;
    pointer-events: none;
}

.bv-bg-circle-1 {
    top: 0;
    right: 0;
    width: 16rem;
    height: 16rem;
    background-color: #ffedd5;
    /* orange-100 */
    transform: translate(50%, -50%);
}

.bv-bg-circle-2 {
    bottom: 0;
    left: 0;
    width: 24rem;
    height: 24rem;
    background-color: #fef9c3;
    /* yellow-100 */
    transform: translate(-50%, 50%);
}

.bv-hero-title {
    font-size: 1.875rem;
    /* text-3xl */
    font-weight: 900;
    line-height: 1.625;
    /* leading-relaxed */
    margin-bottom: 2rem;
}

.bv-hero-title span {
    display: inline-block;
    border-bottom: 4px solid #facc15;
    /* yellow-400 */
    padding-bottom: 0.25rem;
}

.bv-hero-subtitle {
    font-size: 1.25rem;
    /* text-xl */
    font-weight: 700;
    margin-bottom: 2rem;
}

.bv-hero-desc-box {
    max-width: 48rem;
    /* max-w-3xl */
    margin: 2rem auto 0;
    background-color: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(4px);
    padding: 2rem;
    border-radius: 1rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    border: 1px solid #ffedd5;
    /* orange-100 */
}

.bv-hero-desc-text {
    font-size: 1.125rem;
    /* text-lg */
    font-weight: 500;
    color: #374151;
    /* gray-700 */
    line-height: 1.625;
}

@media (min-width: 768px) {
    .bv-hero-title {
        font-size: 3rem;
        /* text-5xl */
    }

    .bv-hero-subtitle {
        font-size: 1.5rem;
        /* text-2xl */
    }

    .bv-hero-title span {
        margin-top: 0;
    }
}

/* 3 Pillars Section */
.bv-pillars-section {
    padding-bottom: 5rem;
    background-color: var(--bv-bg-cream-dark);
}

.bv-grid-3 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

@media (min-width: 768px) {
    .bv-grid-3 {
        grid-template-columns: repeat(3, 1fr);
    }
}

.bv-feature-card {
    background: #ffffff;
    border-radius: 1rem;
    /* 16px */
    box-shadow: 0 4px 20px rgba(234, 127, 53, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-top: 4px solid var(--bv-primary-orange);
    padding: 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    cursor: default;
}

.bv-feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(234, 127, 53, 0.2);
}

.bv-icon-circle {
    width: 5rem;
    height: 5rem;
    background-color: #ffedd5;
    /* orange-100 */
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    transition: background-color 0.3s;
}

.bv-feature-card:hover .bv-icon-circle {
    background-color: var(--bv-primary-orange);
}

.bv-icon-circle i {
    font-size: 1.875rem;
    /* text-3xl */
    color: var(--bv-primary-orange);
    transition: color 0.3s;
}

.bv-feature-card:hover .bv-icon-circle i {
    color: #ffffff;
}

.bv-card-title {
    font-size: 1.25rem;
    /* text-xl */
    font-weight: 700;
    color: var(--bv-text-brown);
    margin-bottom: 1rem;
    width: 100%;
}

.bv-card-text {
    color: #374151;
    /* gray-700 */
    font-weight: 500;
    line-height: 1.625;
    margin-bottom: 1rem;
    font-size: 1rem;
}

.bv-card-source {
    margin-top: auto;
    font-size: 0.75rem;
    /* text-xs */
    color: #6b7280;
    /* gray-500 */
    background-color: #f9fafb;
    /* gray-50 */
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    border: 1px solid #f3f4f6;
    /* gray-100 */
}


/* Category Voice Section */
.bv-category-section {
    background-color: #ffffff;
    position: relative;
}

.bv-category-title-area {
    text-align: center;
    margin-bottom: 4rem;
}

@media (max-width: 768px) {
    .bv-category-title-area {
        margin-bottom: 2rem;
    }
}

.bv-category-title-main {
    font-size: 1.875rem;
    /* text-3xl */
    font-weight: 900;
    color: var(--bv-text-brown);
}

@media (min-width: 768px) {
    .bv-category-title-main {
        font-size: 2.25rem;
        /* text-4xl */
    }
}

.bv-category-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-bottom: 4rem;
}

@media (min-width: 768px) {
    .bv-category-row {
        grid-template-columns: repeat(12, 1fr);
    }
}

.bv-category-header-col {
    grid-column: span 1;
}

.bv-category-content-col {
    grid-column: span 1;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

@media (min-width: 768px) {
    .bv-category-header-col {
        grid-column: span 3;
    }

    .bv-category-content-col {
        grid-column: span 9;
    }
}

/* Category Header Box */
.bv-cat-box {
    color: #ffffff;
    padding: 1.5rem;
    border-radius: 0.75rem;
    /* rounded-xl */
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

@media (min-width: 768px) {
    .bv-cat-box {
        justify-content: flex-start;
        text-align: left;
    }
}

.bv-cat-box-1 {
    background: linear-gradient(135deg, #1f2937, #111827);
    background-color: #4b5563;
}

.bv-cat-box-2 {
    background: linear-gradient(135deg, #f97316, #dc2626);
    background-color: #ea580c;
}

.bv-cat-box-3 {
    background: linear-gradient(135deg, #eab308, #f97316);
    background-color: #ca8a04;
}

.bv-cat-icon {
    font-size: 1.875rem;
    margin-bottom: 0.75rem;
    display: block;
}

.bv-cat-title {
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.25;
}

.bv-cat-icon-1 {
    color: #fb923c;
}

/* orange-400 */
.bv-cat-icon-2 {
    color: #fde047;
}

/* yellow-300 */
.bv-cat-icon-3 {
    color: #ffffff;
}

/* Voice Bubble */
.bv-voice-bubble {
    position: relative;
    background: #ffffff;
    border: 2px solid #f3e5d8;
    border-radius: 0.75rem;
    padding: 1.5rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/* 吹き出しのしっぽ（CSSで再現） */
.bv-voice-bubble::before {
    content: '';
    position: absolute;
    left: -10px;
    top: 20px;
    border-style: solid;
    border-width: 10px 10px 10px 0;
    border-color: transparent #f3e5d8 transparent transparent;
}

.bv-voice-bubble::after {
    content: '';
    position: absolute;
    left: -7px;
    top: 20px;
    border-style: solid;
    border-width: 10px 10px 10px 0;
    border-color: transparent #ffffff transparent transparent;
}

@media (min-width: 768px) {
    .bv-voice-bubble {
        margin-left: 1rem;
    }
}

.bv-voice-text {
    font-weight: 700;
    font-size: 1.125rem;
    color: var(--bv-text-black);
    margin-bottom: 0.5rem;
    margin-top: 0;
}

.bv-voice-source {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    font-size: 0.875rem;
    color: #6b7280;
}

.bv-voice-source i {
    margin-right: 0.5rem;
    color: #fdba74;
    /* orange-300 */
}


/* Company List Section */
.bv-company-section {
    padding-top: 5rem;
    padding-bottom: 5rem;
    background-color: #fff7ed;
    /* orange-50 */
}

.bv-company-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    text-align: center;
}

@media (min-width: 640px) {

    /* sm */
    .bv-company-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.bv-company-card {
    background-color: #ffffff;
    padding: 1rem;
    border-radius: 0.5rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    border: 1px solid #ffedd5;
    font-size: 0.875rem;
    font-weight: 700;
    color: #374151;
    /* gray-700 */
    display: flex;
    align-items: center;
    justify-content: center;
    height: 5rem;
    transition: all 0.3s;
    flex-direction: column;
}

.bv-company-card:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.bv-company-sub {
    font-size: 0.75rem;
    font-weight: 400;
    color: #6b7280;
    margin-top: 1.4rem;
}


/* CTA Section */
.bv-cta-section {
    padding-top: 3rem;
    padding-bottom: 3rem;
    position: relative;
    overflow: hidden;
    background-color: #ffffff;
}

.bv-cta-bg-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.05;
    background-image: repeating-linear-gradient(45deg, #ea7f35 0, #ea7f35 1px, transparent 0, transparent 50%);
    background-size: 20px 20px;
    pointer-events: none;
}

.bv-cta-flex {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;
}

@media (min-width: 768px) {
    .bv-cta-flex {
        flex-direction: row;
        gap: 4rem;
    }
}

.bv-cta-img-col {
    width: 100%;
}

.bv-cta-content-col {
    width: 100%;
    text-align: center;
}

@media (min-width: 768px) {
    .bv-cta-img-col {
        width: 50%;
    }

    .bv-cta-content-col {
        width: 50%;
        text-align: left;
    }
}

.bv-cta-img-wrapper {
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    transform: rotate(0deg);
    transition: transform 0.5s;
}

@media (min-width: 768px) {
    .bv-cta-img-wrapper {
        transform: rotate(-2deg);
    }

    .bv-cta-img-wrapper:hover {
        transform: rotate(0deg);
    }
}

.bv-cta-img {
    width: 100%;
    height: 16rem;
    object-fit: cover;
}

@media (min-width: 768px) {
    .bv-cta-img {
        height: 20rem;
    }
}

.bv-cta-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.3), transparent);
}

/* Bounce Animation */
@keyframes bv-bounce {

    0%,
    100% {
        transform: translateY(-25%);
        animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
    }

    50% {
        transform: translateY(0);
        animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }
}

.bv-animate-bounce {
    animation: bv-bounce 1s infinite;
    font-size: 2.25rem;
    color: var(--bv-primary-orange);
    margin-bottom: 2rem;
    display: inline-block;
}

.bv-cta-text {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--bv-text-black);
    line-height: 1.5;
    margin-bottom: 2rem;
}

@media (min-width: 768px) {
    .bv-cta-text {
        font-size: 1.875rem;
        /* 3xl */
    }
}

.bv-cta-btn-wrapper {
    display: inline-block;
}

.bv-btn {
    background: linear-gradient(135deg, #ea7f35 0%, #E80100 100%);
    box-shadow: 0 4px 15px rgba(232, 1, 0, 0.3);
    color: #ffffff;
    padding: 1rem 2.5rem;
    font-size: 1.125rem;
    /* 18px / text-lg */
    font-weight: 700;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: all 0.3s;
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    border: none;
    text-decoration: none;
}

.bv-btn:hover {
    background: linear-gradient(135deg, #ff964b 0%, #ff4d4d 100%);
    transform: translateY(-2px);
}

/* ボタンの光るエフェクト（Hover時の白い幕） */
.bv-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: #ffffff;
    opacity: 0.2;
    transition: opacity 0.3s;
}

.bv-btn:hover::before {
    opacity: 0;
}

/* 矢印アイコン */
.bv-btn i {
    margin-left: 1rem;
    transition: transform 0.3s;
    position: relative;
    z-index: 10;
}

.bv-btn:hover i {
    transform: translateX(0.5rem);
}

.bv-btn span {
    position: relative;
    z-index: 10;
}

.bv-cta-note {
    font-size: 0.875rem;
    color: #9ca3af;
    /* gray-400 */
    margin-top: 1rem;
}

@media (min-width: 768px) {
    .bv-cta-note {
        text-align: left;
    }
}