@media (max-width:1800px) {
    .owl-item .product_text {
        right: 35%;
    }
}

@media (max-width:1700px) {
    .first_section .bg_image img {
        width: 90%;
    }

    .toppart .header_container {
        padding: 50px;
    }

    .qd_main_oval {
        width: 891px;
    }

    .qd_main_img_wrap {
        transform: translateX(-370px) translateY(325px);
    }

    .qd_floating_plate_bottom {
        left: 10%;
    }

    .qd_description {
        font-size: 20px;
    }

    .qd_title {
        font-size: 40px;
    }
}

@media screen and (max-width:1650px) {
    .toppart .right_part {
        gap: 17px;
    }

    .owl-item .product_text {
        top: -200px;
    }

    .first_section .first_part .container {
        transform: translateY(40px);
    }

    .first_section .owl-item img {
        width: 65% !important;
    }

    .first_section .owl-nav .owl-next {
        right: 0%;
    }

    .first_section .bg_image {
        bottom: -11.6%;
        left: 0%;
    }

    .qd_floating_plate_bottom {
        left: 10%;
    }

    .qd_main_oval {
        transform: translateY(-42%) translateX(-50%);
        width: 840px;
        height: 500px;
    }

    .qd_floating_plate_top {
        top: 7%;
    }

    .qd_visual_side .qd_delivery_rider {
        bottom: -50px;
    }


    .qd_banner_circle.qd_circle_right:not(.qd_hours_container.column_qd_hours .qd_banner_circle.qd_circle_right) {
        right: -25%;
    }

    .qd_banner_circle.qd_circle_left:not(.qd_hours_container.column_qd_hours .qd_banner_circle.qd_circle_left) {
        left: -25%;
    }

    .qd_hours_container .qd_container {
        max-width: 940px;
    }

    .qd_banner_circle {
        max-width: 400px;
        height: 400px;
    }

    .qd_location .qd_area_description {
        font-size: 24px;
    }
}

@media screen and (max-width:1600px) {
    .Wtrn_sticy {
        padding: 20px 50px;
    }

    .owl-item .product_text {
        /*top:-40%    ;*/
        top: -200px;
    }

    .toppart .left_part .nav_links_part ul li a {
        font-size: 16px;
    }

    .toppart .product_links_part ul li a {
        font-size: 18px;
    }

    .toppart .right_part .logo .image_part img {
        width: unset;
        height: 80px;
    }

    .toppart .right_part .logo .logo_text .up_text {
        font-size: 40px;
    }

    .toppart .right_part .logo .logo_text .down_text {
        font-size: 32px;
    }

    .toppart .right_part .static_text ul li.bold_text {
        font-size: 28px;
    }

    .toppart .right_part .static_text ul li {
        font-size: 16px;
    }

    .toppart .cart a .text {
        font-size: 18px;
    }

    .sec__title {
        font-size: 32px;
    }

    .fourth_section .faq_title h3 {
        font-size: 18px;
    }

    .second_section .right_part .cards {
        gap: 24px;
    }

    .first_section .bg_image {
        left: -1%;
    }

    .first_section .bg_image img {
        width: 90%;
    }

    .first_section .owl-nav {
        max-width: 820px;
    }

    .first_section .owl-nav .owl-next {
        right: 15%;
    }

    /*.owl-item .product_text .up_text ul li {*/
    /*    font-size: 18px;*/
    /*}*/
    .qd_main_img_wrap {
        transform: translateX(-350px) translateY(380px);
    }

    .qd_floating_plate_top {
        top: 11%;
    }

    .qd_floating_plate_bottom {
        bottom: 3%;
        left: 5%;
        height: 350px;
    }

    .qd_chef_hat {
        top: 19px;
        right: 52px;
    }

    .qd_visual_side .qd_delivery_rider {
        height: 150px;
    }

    .qd_location .qd_area_description {
        font-size: 18px;
    }

    .qd_main_oval {
        transform: translateY(-52%) translateX(-50%);
    }

    .qd_health_drinkplan__meta-value {
        font-size: 32px;
    }

    .qd_health_drinkplan__meta-label {
        font-size: 28px;
    }
}

@media screen and (max-width:1500px) {
    .first_section .bg_image {
        left: -5%;
    }

    .toppart .right_part {
        gap: 15px;
    }

    .qd_location .qd_area_description {
        font-size: 18px;
    }
}

@media screen and (max-width:1440px) {
    .product_text .up_text ul {
        gap: 16px;
    }

    .toppart .left_part {
        gap: 50px;
    }

    .first_section .owl-item .product_text .up_text {
        max-height: 550px;
        height: auto;
        overflow: hidden;
    }

    .first_section .owl-item .product_text {
        right: 38%;
        /*top: -47%;*/
        top: -235px;
    }

    .first_section .owl-nav .owl-prev {
        left: -4%;
    }

    .first_section .owl-nav .owl-next {
        right: 20%;
    }

    .first_section .bg_image {
        bottom: -13%;
    }

    .first_section .bg_image img {
        width: 80%;
    }

    .first_section .owl-item img {
        width: 60% !important;
    }

    .product_text .up_text ul li.bold_text {
        font-size: 24px;
    }

    .qd_main_img_wrap {
        transform: translateX(-310px) translateY(380px);
    }

    .qd_floating_plate_top {
        top: 13%;
        right: 1%;
        height: 350px;
    }

    .qd_title {
        font-size: 40px;
        line-height: 52px;
    }

    .qd_main_oval {
        transform: translateY(-59%) translateX(-50%);
    }

    .qd_banner_circle.qd_circle_left {
        left: -20%;
    }

    .qd_banner_circle.qd_circle_right {
        right: -20%;
    }

    .qd_banner_circle {
        max-width: 350px;
        height: 350px;
    }

    .qd_hours_banner {
        padding: 16px 40px;
    }


    .qd_card_img_wrap:not(.shop_products .qd_card_img_wrap, .search-results .qd_card_img_wrap) {
        width: 380px;
        height: 380px;
    }

    .qd_header_menu {
        max-width: 1240px;
    }
}

@media screen and (max-width:1350px) {
    .owl-item .product_text {
        /*top: -65%;*/
        top: -325px;
    }

    .product_text .up_text ul li.bold_text {
        font-size: 24px;
    }

    .owl-item .product_text .up_text ul li {
        font-size: 16px;
        line-height: 30px;
    }

    .toppart .left_part {
        gap: 35px;
    }

    .toppart .header_container {
        padding: 50px 25px;
    }

    .first_section .owl-nav .owl-next {
        right: 30%;
    }

    .toppart .product_links_part ul {
        gap: 20px;
    }

    .toppart .product_links_part ul li a {
        font-size: 18px;
    }

    .owl-item .product_text {
        top: -250px;
    }

    .qd_floating_plate_bottom {
        bottom: 3%;
        left: 2%;
        height: 320px;
    }

    .qd_chef_hat {
        top: 14px;
        right: 33px;
    }

    .qd_main_img_wrap {
        transform: translateX(-270px) translateY(380px);
    }

    .qd_main_oval {
        width: 800px;
        height: 490px;
    }

    .qd_plate_section {
        padding: 100px 0 100px 0;
    }

    .qd_location .qd_text_side h2 {
        font-size: 32px;
    }

    .qd_cta {
        padding: 12px 40px;
        font-size: 24px;
    }

    .qd_category_header {
        margin-bottom: 50px;
    }


    .qd_main_oval {
        height: 450px;
    }

    .qd_main_img_wrap {
        transform: translateX(-280px) translateY(380px);
    }
}

@media screen and (max-width:1300px) {
    .toppart .left_part {
        gap: 40px;
    }

    .first_section .bg_image {
        bottom: -19%;
    }

    .toppart .right_part,
    .toppart .product_links_part ul {
        gap: 20px;
    }

    .toppart .product_links_part ul li a {
        font-size: 16px;
    }

    .owl-item .product_text {
        right: 39%;
        /*top:-58%;*/
        top: -290px;
    }

    .owl-item .product_text .product_btn {
        font-size: 16px;
    }

    .product_text .up_text ul {
        gap: 14px;
    }

    .toppart .left_part .nav_links_part ul,
    .toppart .right_part .static_text ul {
        gap: 5px;
    }

    .owl-item .product_text .up_text ul li {
        font-size: 16px;
    }

    .first_section .owl-item img {
        width: 60% !important;
        height: 65% !important;
    }

    .first_section .bg_image img {
        width: 70%;
        height: 100%;
    }

    .first_section {
        padding: 300px 72px 150px;
    }

    .first_section .owl-nav .owl-prev {
        left: -5%;
    }

    .first_section .owl-nav .owl-next {
        right: 30%;
    }

    .qd_main_img_wrap {
        transform: translateX(-240px) translateY(380px);
    }

    .qd_floating_plate_top {
        top: 13%;
        right: 1%;
        height: 290px;
    }

    .qd_banner_circle.qd_circle_right {
        right: -18%;
    }

    .qd_banner_circle.qd_circle_left {
        left: -17%;
    }
}

@media (max-width:1250px) {
    .owl-item .product_text {
        /*top: -60%;*/
        top: -300px;
        right: 38%;
    }

    .qd_banner_circle.qd_circle_right {
        right: -15%;
    }

    .qd_banner_circle.qd_circle_left {
        left: -15%;
    }
}

@media (max-width:1200px) {
    .toppart .header_container {
        padding: 40px 20px;
    }

    .Wtrn_sticy {
        padding: 20px;
    }

    .first_section .bg_image {
        bottom: -21%;
    }

    .toppart .left_part .nav_links_part ul,
    .toppart .right_part .static_text ul {
        gap: 5px;
    }

    .toppart .left_part .nav_links_part ul li a {
        font-size: 16px;
    }

    .toppart .product_links_part ul li a {
        font-size: 16px;
    }

    .toppart .product_links_part ul {
        gap: 10px;
    }

    .toppart .right_part {
        gap: 25px;
    }

    .toppart .right_part .logo .image_part img {
        height: 60px;
    }

    .toppart .right_part .logo .logo_text .up_text {
        font-size: 32px;
    }

    .toppart .right_part .logo .logo_text .down_text {
        font-size: 28px;
    }

    .toppart .right_part .static_text ul li.bold_text {
        font-size: 24px;
        letter-spacing: 15px;
    }

    .second_section .right_part .cards h3 {
        font-size: 24px;
    }

    .second_section .right_part .cards {
        gap: 16px;
    }

    .sec__title {
        font-size: 32px;
    }

    .same_section {
        padding: 60px 0;
    }

    .third_section .cards h3 {
        font-size: 24px;
        line-height: 40px;
    }

    .third_section .cards p {
        font-size: 18px;
    }

    .fourth_section .faq_title h3 {
        font-size: 18px;
    }

    .main_btn {
        font-size: 24px;
    }

    .first_section .owl-nav .owl-next {
        right: 38%;
    }

    .owl-item .product_text {
        /*top:-70%;*/
        top: -250px;
        right: 38%;
    }

    .first_section .owl-item .product_text .up_text {
        max-height: 500px;
        height: auto;
        overflow: hidden;
    }

    .owl-item .product_text .up_text ul li.straight-text:not(.bold_text.wtrc_title) {
        max-height: 430px;
    }

    .first_section .owl-dots {
        max-width: 550px;
    }

    .first_section .bg_image img {
        width: 65%;
    }

    .qd_menu_grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .qd_row_3_start {
        grid-column-start: auto;
    }

    .qd_visual_wrap {
        position: relative;
        overflow: visible;
    }

    .qd_main_img_wrap {
        transform: unset;
        float: unset;
        left: 52%;
        transform: translateX(-50%);
    }

    .qd_hero_banner {
        padding: 150px 0 0px 0;
    }

    .qd_floating_plate_top {
        top: -27%;
    }

    .qd_floating_plate_bottom {
        bottom: 3%;
        height: 210px;
    }

    .qd_chef_hat {
        height: 44px;
    }

    .qd_card_img_wrap {
        width: 330px;
        height: 330px;
    }

    .qd_card_title {
        font-size: 24px;
    }

    .qd_counter_row .right .qd_total_price {
        font-size: 18px;
    }

    .qd_pickup_card:nth-child(1) img,
    .qd_pickup_card:nth-child(2) img,
    .qd_pickup_card:nth-child(3) img {
        top: 150px;
        left: 20px;
    }

    .qd_pickup_card:nth-child(1),
    .qd_pickup_card:nth-child(2),
    .qd_pickup_card:nth-child(3) {
        padding-bottom: 220px;
    }

    .qd_price_row {
        margin: 30px 0;
    }


    .qd_plate_card_title {
        font-size: 28px;
    }

    .qd_plate_option::after {
        bottom: -9px;
    }

    .qd_plate_people_item {
        font-size: 16px;
    }

    .qd_plate_advice_tag_wrap span {
        font-size: 20px;
    }

    .qd_plate_card_badge,
    .qd_location .qd_area_description {
        font-size: 20px;
    }

    .qd_location .qd_text_side h2 {
        font-size: 28px;
    }

    .qd_menu_grid {
        row-gap: 50px;
    }

    .qd_banner_circle {
        max-width: 300px;
        height: 300px;
    }

    .qd_hours_big_text {
        font-size: 24px;
    }

    .qd_tag_black {
        margin-bottom: 0px;
    }

    .qd_banner_circle.qd_circle_right {
        right: -10%;
    }

    .qd_banner_circle.qd_circle_left {
        left: -10%;
    }

    .qd_banner_circle.qd_circle_right,
    .qd_banner_circle.qd_circle_left {
        display: none;
    }

    .qd_testimonial__card {
        padding: 0 30px 0 0;
    }

    .qd_testimonial__card-badge {
        max-width: 800px;
        padding: 20.5px 0;
        font-size: 28px;
    }

    .qd_testimonial__quote-mark img {
        width: 90px !important;
        height: 90px;
    }

    .qd_testimonial__quote-mark {
        left: -45px;
    }

    .wtrn_secondry_banner {
        padding: 250px 20px 142px 20px;
    }

    .qd_testimonial__card-text {
        font-size: 18px;
        line-height: 50px;
    }
}

@media (max-width:1150px) {
    .first_section {
        padding: 300px 72px 170px;
    }

    .first_section .bg_image {
        bottom: -27.5%;
    }

    .first_section .bg_image img {
        width: 60%;
    }

    .qd_hours_banner {
        border-radius: 70px;
    }
}

@media (max-width:1100px) {
    .owl-item .product_text {
        /*top: -80%;*/
        top: -230px;
        right: 36%;
    }

    .first_section .bg_image img {
        width: 60%;
    }

    .first_section .bg_image {
        bottom: -28.7%;
    }

    .first_section .owl-dots {
        max-width: 500px;
    }

    .qd_mail_wrap,
    .qd_search_box {
        display: none;
    }

    /*.qd_floating_plate_bottom,*/
    /*.qd_floating_plate_top{*/
    /*    display:none;*/
    /*}*/
    .qd_reg__postcode-input {
        max-width: 550px;
    }
}

@media (max-width: 1040px) {
    .qd_news_slider_area {
        width: 768px;
    }
}

@media screen and (min-width:1025px) {
    .toppart .humburger {
        display: none;
    }

    .close_btn {
        display: none;
    }

    .Wtrn_sticy .humburger {
        display: flex;
        height: 30px;
        justify-content: center;
        align-items: center;
    }
}

@media (min-width:1025px) {
    .owl-item .product_text .up_text ul li {
        writing-mode: vertical-rl !important;
    }

    .owl-item .product_text .up_text ul li.straight-text:not(.bold_text.wtrc_title) {
        max-height: 480px;
    }

    .qd_feature .qd_feature_desc {
        max-width: 640px;
        width: 100%;
    }
}

@media screen and (max-width:1024px) {

    .static_text,
    .toppart .left_part {
        display: none;
    }

    .first_section .first_part .container {
        padding: 0;
    }

    .owl-item .up_text ul li.straight-text:not(.bold_text.wtrc_title) {
        -webkit-line-clamp: 3;
        height: 80px;
    }

    .owl-item .product_text .up_text ul {
        height: auto;
    }

    .owl-item .product_text .up_text ul li.straight-text br {
        display: none;
    }

    .nav_links_part.wtrn_mob_nav {
        display: flex;
    }

    .wtrn_mob_product {
        display: block;
    }

    .third_part.section_block .container {
        align-items: start;
    }

    .toppart {
        position: sticky;
        top: 0;
        z-index: 20;
    }

    .mob_left,
    .mob_right {
        display: flex;
        align-items: center;
        flex-direction: row-reverse;
        gap: 20px;
    }

    .toppart .right_part .logo .logo_text,
    .toppart .cart a .text {
        display: none;
    }

    .toppart .header_container {
        padding: 20px;
        flex-direction: column-reverse;
        gap: 20px;
        background-color: #f5f5f5;
        /*display:none;*/
    }

    .Wtrn_sticy {
        transform: translateY(0px);
        height: auto;
        position: static;
        display: none;
    }

    .toppart .right_part,
    .toppart .left_part {
        width: 100%;
    }

    .toppart .left_part {
        justify-content: space-between;
        align-items: center;
    }

    .toppart .right_part {
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: center;
    }

    .nav_links_part {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #fff;
        height: 100vh;
        width: 100%;
        left: -100%;
        z-index: 11;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: 0.2s linear;
    }

    .nav_links_part.show {
        left: 0%;
    }

    .nav_links_part ul {
        flex-direction: column;
    }

    .nav_links_part ul li a.straight-text {
        writing-mode: horizontal-tb;
    }

    .first_section .bg_image {
        position: static;
    }

    body .first_section .owl-dots {
        bottom: -50px !important;
        position: absolute;
        max-width: 100%;
    }

    .first_section .bg_image img {
        display: none;
    }

    .first_section .owl-nav .owl-next {
        right: -60px;
    }

    .first_section .owl-nav .owl-prev {
        left: -60px;
    }

    .first_section .owl-nav {
        bottom: unset;
        top: 26%;
        max-width: 100%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .button_slide::after {
        font-size: 28px !important;
    }

    .owl-item .product_text .up_text ul {
        flex-direction: column-reverse;
    }

    .first_section .owl-item {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .owl-item.active .product_link {
        justify-content: center !important;
    }

    .owl-item .product_text {
        position: static;
    }

    .owl-item .product_text .up_text ul li.straight-text {
        writing-mode: horizontal-tb;
    }

    .first_section .owl-item img {
        width: 50% !important;
    }

    .first_section {
        padding: 0% 10px 118px;
        margin-bottom: 0px;
    }

    .product_text .up_text ul li.bold_text {
        font-size: 28px;
        height: auto;
        -webkit-line-clamp: 2;
        line-height: 36px;
    }

    .owl-item .product_text .up_text ul li {
        font-size: 16px;
        height: auto;
    }

    .owl-item .product_text .up_text ul {
        gap: 10px;
    }

    .close_btn {
        height: 40px;
        width: 40px;
        background-color: #f5f5f5;
        position: absolute;
        top: 20px;
        right: 20px;
        padding: 10px;
        cursor: pointer;
    }

    .close_btn img {
        height: 100%;
        width: 100%;
        object-fit: contain;
    }

    .third_section .straight-text.sec__title span {
        margin: -26px auto -5px auto;
    }

    .second_section .right_part {
        gap: 20px;
        flex-wrap: wrap
    }

    .third_section .cards {
        gap: 10px;
        display: flex;
        flex-direction: column;
        align-items: start;
    }

    .third_section .cards p {
        font-size: 16px;
        line-height: 35px;
    }

    .wtrc__section {
        scroll-margin-top: 130px;
    }

    .owl-item .product_link {
        opacity: 1;
        display: flex;
        width: 100%;
    }

    .owl-item .product_text {
        display: flex;
        flex-direction: column;
        gap: 26px;
    }

    .owl-item .product_text .product_btn {
        max-width: fit-content;
    }

    .owl-item .product_link,
    .owl-item .product_link img {
        transform: scale(1);
    }

    .first_section .owl-item {
        padding: 0 30px;
    }

    .owl-item.active .product_text {
        padding: 0 0px;
    }

    .owl-item .product_text .up_text {
        max-height: 100px;
        height: 100px;
        min-height: auto;
    }

    .qd_flex_container {
        justify-content: center;
    }

    .qd_category_item {
        flex: 0 1 calc(50% - 30px);
    }

    .qd_pickup_grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .qd_pick_lg,
    .qd_pickup_card:nth-child(3) {
        grid-column: span 2;
        grid-template-columns: 1fr;
        height: auto;
    }

    .qd_pick_img_wrap {
        height: 350px;
    }

    .qd_feature .qd_feature_inner.qd_container {
        flex-direction: column;
    }

    .qd_feature .qd_feature_content,
    .qd_feature .qd_feature_gallery {
        max-width: 100%;
    }

    .qd_plate_section {
        padding: 60px 40px;
    }

    .qd_plate_cards {
        flex-direction: column;
        align-items: center;
    }

    .qd_pickup_card:nth-child(1) img,
    .qd_pickup_card:nth-child(2) img {
        top: 110px;
    }

    .qd_pickup_card:nth-child(3) img {
        transform: scale(0.6);
        top: -80px;
        right: 0;
        left: unset;
    }

    .qd_pickup_card img {
        transform: scale(0.8) translateX(-20px);
        top: 0px;
        right: 0;
        left: unset;
    }

    .qd_plate_card {
        width: 90%;
    }

    .qd_pick_lg_text {
        padding: 20px 40px 0 40px;
    }

    .qd_testimonial {
        padding: 50px 0 60px;
    }

    .qd_testimonial__card-image {
        height: 180px;
    }

    .qd_testimonial__card-body {
        padding: 22px 18px 24px;
    }

    .qd_header_menu__wrapper {
        grid-template-columns: 1fr;
    }

    .qd_header_menu__info-grid {
        grid-template-columns: 1fr 1fr;
    }
    .qd_home_banner_wrapper {
        width: 100%;
        height: 450px;
    }
    .qd_home_banner_container {
        width: 100%;
        max-width: 700px;
        margin: 0 auto;
    }
    .qd_home_banner_title_main {
        font-size: 32px;
    }
    .qd_home_banner_input_wrapper {
        width: 100%;
        max-width: 450px;
    }
    .qd_home_banner_input {
        width: 100%;
    }
    .qd_home_banner_btn_grid {
        width: 100%;
        max-width: 500px;
    }
}

@media screen and (max-width:991px) {
    .section_block .container {
        gap: 30px;
    }

    .qd_tabs_nav {
        flex-wrap: wrap
    }

    .qd_tab_btn {
        min-width: 90%
    }

    .qd_card_img_wrap {
        max-width: 100%;
        height: 400px;
        width: 100%;
        left: 0;
    }

    .qd_pickup_container.wtrn_section {
        padding: 50px 0;
    }

    .wtrn_section {
        margin: 50px 0;
    }

    .wtrn_secondry_banner h2 {
        font-size: 48px;
    }

    .qd_plan_section .qd_plan_grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .qd_plan_section .qd_plan_inner {
        border-radius: 20px 0 20px 0;
        padding: 25px 20px;
    }

    .qd_voice_customer_row {
        flex-direction: column;
    }

    .qd_voice_image_box {
        width: 100%;
    }

    .qd_corporate_path_container {
        display: none;
    }

    .qd_corporate_grid {
        flex-direction: column;
        align-items: center;
        gap: 40px;
    }
}

@media screen and (max-width:850px) {
    .fourth_section .right_part .outer_faq {
        max-width: 100%;
    }

    .fourth_section .right_part .cards_faq {
        margin: 0;
    }

    .first_section .owl-nav {
        top: 20%;
    }

    .qd_pickup_card:nth-child(1),
    .qd_pickup_card:nth-child(2),
    .qd_pickup_card:nth-child(3) {
        padding-bottom: 170px;
    }

    .qd_pickup_card:nth-child(3) img {
        top: -60px;
        right: -90px;
    }

    .qd_area_detail_row {
        flex-direction: column;
        gap: 10px;
        margin-bottom: 10px;
    }

    .qd_area_district_item {
        width: calc(50% - 5px);
        /* Half width on tablet */
    }
}

@media screen and (min-width:768px) {
    .product-container .main-content-flex {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
    }

    .product-container .gallery-section {
        max-width: 65%;
        width: 100%;
        position: sticky;
        top: 20px;
    }

    .product-container .order-section {
        width: 35%;
        position: sticky;
        top: 130px;
    }

    .qd_list_section .wtrn_lists_grid {
        grid-template-columns: 1fr 1fr;
    }

    .qd_list_section .main-content-flex {
        display: flex;
        gap: 40px;
        align-items: flex-start;
    }

    .qd_list_section .gallery-section {
        width: 600px;
        position: sticky;
        top: 20px;
    }

    .qd_list_section .order-section {
        width: 350px;
    }

    .qd_intro_section .qd_intro_content_box {
        padding: 280px 48px 30px;
    }

    .qd_intro_section.qd_delivery_first .delivery_box {
        padding: 50px 46.58px 170px 46.58px;
    }

    .qd_intro_section.qd_delivery_first .column_box {
        padding: 30px;
    }

    .qd_intro_section.qd_delivery_first.qd_top_img .delivery_box {
        padding: 50px 46.58px;
    }

    .qd_intro_section.qd_delivery_first .delivery_box.without_image {
        padding: 30px;
    }

    .qd_intro_section.qd_delivery_first .delivery_box.without_image .qd_intro_text {
        margin-bottom: 0px;
    }

    .qd_delivery_first.qd_reverse .qd_intro_content_box {
        padding: 30px;
    }

    .qd_intro_section .qd_intro_text {
        font-size: 24px;
        line-height: 55px;
    }

    .qd_intro_section .qd_intro_bottom_row {
        flex-direction: row;
    }
}

@media screen and (max-width:768px) {
    .qd_menu_grid {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 15px;
    }


    .qd_menu_title {
        font-size: 32px;
    }

    .qd_main_img_wrap {
        width: 100%;
    }

    .qd_main_oval {
        height: auto;
        width: 100%;
    }

    .qd_floating_plate_top,
    .qd_floating_plate_bottom {
        display: none;
    }

    .qd_location {
        flex-direction: column;
        padding: 0 20px;
    }

    .qd_location .qd_text_side {
        max-width: 100%;
    }

    .qd_visual_side .qd_delivery_rider {
        bottom: -10px;
        right: 40px;
    }

    .qd_title {
        font-size: 40px;
        line-height: 70px;
    }

    .qd_description {
        font-size: 24px;
    }

    .qd_pickup_card:nth-child(1),
    .qd_pickup_card:nth-child(2),
    .qd_pickup_card:nth-child(3) {
        padding-bottom: 130px;
    }

    .qd_pickup_card:nth-child(3) img {
        top: -100px;
        right: -130px;
    }

    .qd_pick_title {
        font-size: 24px;
    }

    .qd_pickup_card:nth-child(1) .qd_pick_link {
        padding: 10px;
    }

    .qd_card_img_wrap {
        height: 350px;
    }

    .qd_news_slider_area {
        width: 700px;
    }

    .wtrn_secondry_banner h2 {
        font-size: 40px;
        line-height: normal;
    }

    .wtrn_secondry_banner p {
        font-size: 24px;
    }

    .qd_header_menu__info-grid {
        grid-template-columns: 1fr;
    }

    .qd_header_menu__status-banner {
        padding: 30px 25px;
    }

    .qd_header_menu__status-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .qd_header_menu__status-value::before {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    .third_section .straight-text.sec__title span {
        margin: 0 10px 0 -10px;
    }

    body .first_section .owl-dots {
        bottom: -35px !important;
    }

    .section_block .container {
        flex-direction: column;
    }

    .straight-text.sec__title {
        writing-mode: horizontal-tb;
    }

    .section_block .container {
        gap: 20px;
    }

    .third_section .cards {
        flex-direction: column;
        align-items: start;
    }

    .third_section .cards p,
    .second_section .right_part .cards p {
        font-size: 18px;
    }

    .main_btn {
        font-size: 20px;
    }

    .footer .container p {
        font-size: 18px;
    }

    .first_section .bg_image {
        bottom: -1%;
    }

    .owl-item.active .product_text {
        position: static;
        margin-bottom: 20px;
    }

    .first_section {
        padding: 0% 10px 100px;
    }

    .third_section .cards {
        gap: 10px;
    }

    .first_section .owl-item img {
        width: 100% !important;
    }

    .swiper-button-next:after,
    .swiper-button-prev:after {
        font-size: 20px !important;
    }

    .first_section .owl-nav .owl-next {
        right: -40%;
    }

    .first_section .owl-nav .owl-prev {
        left: -40%;
    }

    .qd_logo_area :is(img, svg) {
        height: 45px;
    }

    .qd_icon_btn {
        padding: 13px;
        width: 60px;
        height: 60px;
    }

    .qd_icon_btn img {
        height: 100%;
        width: 100%;
    }

    .qd_recommended_menu {
        padding: 50px 0;
    }

    .qd_card_img_wrap {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        left: 0;
    }

    .qd_testimonial {
        padding: 40px 0 50px;
    }

    .qd_testimonial__wrapper {
        padding: 0 16px;
    }

    .qd_testimonial__card {
        padding: 0 8px;
    }

    .qd_testimonial__card-image {
        height: 160px;
    }

    .qd_testimonial__card-badge {
        font-size: 12px;
        padding: 6px 12px;
    }

    .qd_testimonial__card-text {
        font-size: 12px;
    }

    .qd_testimonial__read-more {
        font-size: 12px;
        padding: 8px 18px;
    }
}

@media screen and (max-height:820px) {
    .qd_header_menu__nav-group {
        gap: 10px;
    }

    .qd_header_menu__sidebar,
    .qd_header_menu__main {
        gap: 20px;
    }

    .qd_header_menu__info-column {
        gap: 10px;
    }

    .qd_header_menu {
        min-height: 650px;
        height: 100%;
        overflow-y: scroll;
        justify-content: flex-start;
    }

    .qd_header_menu::-webkit-scrollbar {
        width: 6px;
    }

    .qd_header_menu::-webkit-scrollbar-track {
        background: #f1f1f1;
        border-radius: 10px;
    }

    .qd_header_menu::-webkit-scrollbar-thumb {
        background: #888;
        border-radius: 10px;
    }

    .qd_header_menu::-webkit-scrollbar-thumb:hover {
        background: #555;
    }
    .qd_adding_cart_popup__overlay{
        align-items: flex-start;
    }
    .qd_adding_cart_popup{
        max-height: 100vh;
        overflow-y: auto;
    }
}

@media screen and (max-width:680px) {
    .qd_news_slider_area {
        width: 500px;
    }
}

@media (max-width:575px) {
    .first_section .owl-dots {
        gap: 7px;
    }

    .first_section .owl-item img {
        height: 300px;
    }

    .footer .container {
        flex-direction: column;
        gap: 10px;
    }

    .five_section .right_part .cards .cards_inner_part {
        padding: 38px 30px;
    }

    .first_section {
        padding: 0% 10px 100px;
    }

    body .first_section .owl-dots {
        bottom: -25px !important;
    }

    body .swiper-pagination {
        bottom: -43px !important;
    }

    .toppart .humburger .line,
    .toppart .humburger .line:before,
    .toppart .humburger .line:after {
        width: 25px;
    }

    .footer {
        padding: 20px 0;
    }

    .five_section .right_part .cards .cards_inner_part h3 {
        font-size: 16px;
        line-height: 30px;
    }

    .main_btn {
        font-size: 14px;
    }

    .same_section {
        padding: 40px 0px;
    }

    .second_section .right_part {
        flex-direction: column;
    }

    .fourth_section .right_part .cards_faq .icon {
        height: 30px;
        width: 30px;
        padding: 5px;
        flex-shrink: 0;
    }

    .fourth_section .right_part .cards_faq .icon img {
        height: 100%;
        width: 100%;
    }

    .toppart .product_links_part ul li a {
        font-size: 16px;
        padding: 10px 5px;
    }

    .toppart .right_part .logo .image_part img {
        height: 40px;
    }

    .five_section .right_part .cards {
        padding: 15px;
    }

    .second_section .right_part .cards .numbers {
        font-size: 24px;
        line-height: 28px;
    }

    .third_section {
        padding: 50px 0;
    }

    .five_section.same_section {
        padding: 0 0 50px 0;
    }

    .swiper-button-next:after,
    .swiper-button-prev:after {
        font-size: 24px;
    }

    .owl-item .product_text .up_text ul li {
        line-height: 30px;
    }

    .first_section .owl-nav :is(.owl-prev, .owl-next) {
        height: auto;
        width: auto;
    }

    .toppart .right_part {
        gap: 0;
    }

    .first_section .owl-nav {
        top: 19%;
    }

    .first_section .owl-nav :is(.owl-prev, .owl-next) img {
        height: auto;
        width: 10px;
    }

    .qd_pickup_grid {
        grid-template-columns: repeat(1, 0fr);
    }

    .qd_logo_area :is(img, svg) {
        height: 35px;
    }

    .qd_icon_btn {
        width: 50px;
        height: 50px;
        padding: 11px;
        border-radius: 13px;
    }

    .qd_card_text {
        font-size: 16px;
    }

    .qd_cta {
        padding: 16px 30px;
        font-size: 24px;
    }

    .qd_feature .qd_cta span img {
        width: 25px;
    }

    .qd_title {
        font-size: 28px;
        line-height: 55px;
    }

    .qd_description {
        font-size: 20px;
        line-height: 40px;
    }

    .qd_dark_bg_arch {
        height: 330px;
        width: 70%;
        margin-top: 50px;
    }

    .qd_category_item {
        flex: auto;
    }

    .qd_hero_banner {
        padding: 100px 0 0px 0;
    }

    .qd_menu_img_wrap {
        width: 100%;
        height: 100%;
    }

    .qd_plate_card {
        width: 100%;
    }

    .qd_plate_section {
        padding: 50px 0px;
    }

    .qd_main_oval {
        border: 5px solid #fff;
        border-radius: 60px;
    }

    .qd_card_img_wrap {
        width: 100%;
        left: 0;
        min-height: 300px;
    }

    .qd_plate_advice_tag_wrap {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
        padding: 10px;
    }

    .qd-logo-section {
        height: 25px !important;
        width: auto !important;
        max-width: 50%;
    }

    .qd_visual_side .qd_delivery_rider {
        height: 70px;
    }

    .qd_plate_options {
        flex-direction: column;
    }

    .qd_plate_card_badge,
    .qd_location .qd_area_description {
        font-size: 14px;
    }

    .qd_hours_banner {
        border-radius: 20px;
        padding: 30px 30px;
    }

    .wwquick_footer_copyright {
        text-align: center;
    }

    .qd_pickup_card:nth-child(1),
    .qd_pickup_card:nth-child(2) {
        grid-column: span 2;
    }

    .qd_pickup_card:nth-child(3) img {
        top: 0;
    }

    .qd_pickup_card:nth-child(1),
    .qd_pickup_card:nth-child(2) {
        padding-bottom: 60%;
    }

    .qd_pickup_card:nth-child(1) img,
    .qd_pickup_card:nth-child(2) img {
        bottom: 0;
        top: unset;
    }

    .qd_pick_img_wrap {
        height: auto;
    }

    .wwquick_footer .wwquick_footer_links ul li:not(li:nth-child(1), li:nth-child(6)) {
        border-width: 0;
    }

    .qd_feature .qd_feature_desc {
        margin: 0 0 20px 0;
    }

    .qd_price_row {
        gap: 30px;
    }

    .qd_pick_lg_text {
        padding: 20px 20px 0 20px;
    }

    .qd_price_item {
        gap: 10px;
    }

    .qd_news_slider_area {
        width: 350px;
    }

    .wtrn_secondry_banner {
        text-align: center;
    }

    .wtrn_secondry_banner .breadcrumb {
        justify-content: center;
        gap: 10px;
    }

    .wtrn_secondry_banner {
        padding: 150px 20px 90px 20px;
    }

    .wtrn_secondry_banner h2 {
        font-size: 36px;
    }

    .qd_area_district_item {
        width: 100%;
    }
}

/* #153: 商品検索バナー(.wtrn_secondry_banner)の見出し・説明・パンくずを
   SP/タブレット全域(≤768px)で中央寄せに統一。中央寄せルールが ≤575px にしか無く
   576〜768px の帯で左寄せ(PC既定 text-align:left)に戻っていた不整合を解消。
   >768px(PC)は従来通り左寄せ。商品詳細/ログイン等の他バナーページも同一セレクタで整合。 */
@media (max-width: 768px) {
    .wtrn_secondry_banner {
        text-align: center;
    }

    .wtrn_secondry_banner .breadcrumb {
        justify-content: center;
    }
}

@media (max-width:500px) {
    .toppart .product_links_part ul li a {
        font-size: 12px;
    }

    .toppart .header_container {
        padding: 15px 5px;
        text-wrap: wrap;
    }
    .qd_home_banner_wrapper {
        width: 100%;
        height: auto;
        padding: 40px 0px;
    }
    .qd_home_banner_container {
        width: 100%;
        max-width: 360px;
        margin: 0 auto;
    }
    .qd_home_banner_title_main {
        font-size: 24px;
    }
    .qd_home_banner_title_sub {
        font-size: 14px;
        padding: 0px 10px;
    }
    .qd_home_banner_search_form {
        flex-direction: column;
    }
    .qd_home_banner_input_wrapper {
        width: 100%;
        margin-bottom: 10px;
    }
    .qd_home_banner_input {
        width: 100%;
        font-size: 13px;
    }
    .qd_home_banner_search_btn {
        width: 100%;
        margin-left: 0px;
    }
    .qd_home_banner_btn_grid {
        width: 100%;
        gap: 8px;
    }
    .qd_home_banner_quick_btn {
        font-size: 12px;
        padding: 0px 10px;
    }
}

@media (max-width:450px) {
    .fourth_section .right_part {
        grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
    }

    .first_section .owl-item img {
        height: 200px !important;
    }

    .owl-item .up_text ul li.straight-text:not(.bold_text.wtrc_title) {
        -webkit-line-clamp: 3;
        height: 80px;
    }

    .fourth_section .faq_title h3 {
        font-size: 18px;
    }

    .sec__title {
        font-size: 24px;
        letter-spacing: 10px;
    }

    .toppart .product_links_part ul li a {
        font-size: 12px;
    }

    .mob_left,
    .mob_right {
        gap: 10px;
    }

    .product_text .up_text ul li.bold_text {
        font-size: 24px;
        letter-spacing: 2px;
    }

    .owl-item .product_text .up_text ul li {
        font-size: 16px;
        line-height: 26px;
    }

    .owl-item .product_text .product_btn {
        font-size: 16px;
    }

    .product_text .up_text ul {
        gap: 5px !important;
    }

    .third_section .straight-text.sec__title span {
        margin: 0 5px 0 0;
    }

    body .swiper-pagination {
        bottom: -50px !important;
    }

    .qd_icon_btn {
        width: 40px;
        height: 40px;
        border-radius: 11px;
        padding: 8px;
    }

    .qd_logo_area :is(img, svg) {
        height: 30px;
    }

    .qd_header .qd_container {
        padding: 20px 20px 0;
    }

    .qd_action_group {
        gap: 5px;
    }
}

@media screen and (max-width:400px) {

    .toppart .humburger .line,
    .toppart .humburger .line::before,
    .toppart .humburger .line::after {
        width: 20px;
    }

    .qd_pickup_card:nth-child(3) img {
        right: 0;
        bottom: -10%;
        top: unset;
    }

    .wtrn_secondry_banner h2 {
        font-size: 32px;
    }

    .wtrn_secondry_banner {
        padding: 100px 10px 50px 10px;
    }
}

@media screen and (max-width:370px) {
    .toppart .product_links_part ul li a {
        font-size: 12px;
    }

    .toppart .right_part .logo .image_part img {
        height: 35px;
    }

    .cart .icon img {
        height: 25px;
        width: unset;
    }

    .toppart .humburger .line:before {
        transform: translate(0px, 5px);
    }

    .toppart .humburger .line:after {
        transform: translate(0px, -7px);
    }

    .qd_logo_area :is(img, svg) {
        height: 25px;
    }
}

@media screen and (max-width:340px) {
    .toppart .product_links_part ul li a {
        font-size: 12px;
    }

    .qd_logo_area :is(img, svg) {
        height: 22px;
    }
}

/* ======================================
   固定ページ SP レスポンシブ修正
   対象: 私達のこだわり、配送エリア、衛生管理、ご利用ガイド
   + サイドバーカード・メニュー・スクロールトップ SP修正 (統合)
   + 対応エリア一覧セクション SP修正 (統合)
   ====================================== */

@media screen and (max-width: 768px) {

    /* --- 統合: サイドバーカード (block1) --- */
    .qd_plate_card_image img {
        max-height: 150px;
        object-fit: cover;
    }

    /* --- 統合: ハンバーガーメニュー (block1) --- */
    .qd_header_menu {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        transform: none !important;
        max-width: 100% !important;
        width: 100% !important;
        border-radius: 0 !important;
        padding: 16px !important;
        padding-top: 80px !important;
        overflow-y: auto !important;
        z-index: 9999 !important;
    }

    .qd_header_menu.active {
        top: 0 !important;
    }

    .qd_header_menu__wrapper {
        grid-template-columns: 1fr !important;
        gap: 16px;
    }

    .qd_header_menu__info-grid {
        grid-template-columns: 1fr !important;
    }

    .qd_header_menu__nav-item {
        font-size: 14px;
        padding: 10px 0;
    }

    /* メニュー閉じるボタン - ヘッダーを z-index: 10000 に上げて常に前面表示 */
    .qd_header {
        z-index: 10000 !important;
    }

    .qd_header .qd_menu_btn {
        z-index: 10001 !important;
        position: relative;
    }

    /* --- 統合: スクロールトップボタン (block1) --- */
    .wwquick_back_to_top {
        position: fixed !important;
        right: 16px !important;
        bottom: 20px !important;
        top: auto !important;
        transform: none !important;
        z-index: 999;
    }

    /* --- 統合: シャドウ切れ修正 (block1) --- */
    .qd_plate_faq {
        overflow: visible !important;
        padding-bottom: 30px;
    }

    /* --- 統合: 対応エリア (block2) --- */
    .qd_visual_side .qd_delivery_rider {
        display: none;
    }

    .qd_location .qd_area_map_wrap {
        max-width: 100%;
    }

    .qd_location .qd_area_map_wrap img {
        max-height: 200px;
        object-fit: contain;
    }

    /* --- バナー padding-top（ヘッダー固定分） --- */
    .wtrn_secondry_banner {
        padding: 120px 16px 60px 16px;
    }

    /* --- /search/ キービジュアル縮小（SP）---
       .woocommerce-shop .wtrn_secondry_banner は MQ 外で padding 247/99 固定のため
       SP でも縦長になる。検索ページ限定で上下 padding を縮め、先頭2商品の
       h2・バッジ（盛り合わせ/セット）をファーストビュー内に表示する。 */
    .page-template-page-searchtemplate.woocommerce-shop .wtrn_secondry_banner {
        padding-top: 108px;
        padding-bottom: 8px;
    }

    /* --- ログイン/新規登録 キービジュアル縮小（SP）---
       .wtrn_secondry_banner.wtrn_log_reg も MQ 外で padding 247/99 固定のため
       SP では縦長(525px)になり、フォームがファーストビュー外へ押し出される。
       上下 padding を縮め、見出し＋入力欄を初期表示内に収める。 */
    .wtrn_secondry_banner.wtrn_log_reg {
        padding-top: 108px;
        padding-bottom: 32px;
    }

    /* --- バナー h1 --- */
    .wtrn_secondry_banner h1 {
        font-size: 28px;
        line-height: 40px;
    }

    .wtrn_secondry_banner p {
        font-size: 13px;
        line-height: 22px;
    }

    /* --- セクションタイトル共通 --- */
    .qd_sec_title,
    .qd_area_section.wtrn_section .qd_sec_title,
    .Features_first .qd_sec_title {
        font-size: 20px;
        line-height: 32px;
    }

    .qd_plan_title_box .qd_plan_title {
        font-size: 18px;
        line-height: 30px;
    }

    /* --- 共通: イントロセクション --- */
    .qd_intro_section .qd_intro_hero {
        margin-bottom: 0;
        padding-bottom: 56%;
        width: 100%;
        border-radius: 10px;
    }

    .qd_intro_section .qd_intro_content_box {
        padding: 24px 16px;
    }

    .qd_intro_section .qd_intro_text {
        font-size: 14px;
        line-height: 26px;
        text-align: left;
    }

    .qd_intro_section .qd_intro_bottom_row {
        flex-direction: column;
    }

    /* --- イントロ共通 (衛生管理・ガイド等) --- */
    .qd_voice_intro p {
        font-size: 14px;
        line-height: 24px;
        text-align: left;
    }

    .qd_voice_intro h2,
    .qd_health_sec .qd_voice_intro h2,
    .qd_health_sec.guide .qd_voice_intro h2 {
        font-size: 20px;
        line-height: 32px;
    }

    /* --- 共通: 品質・ポリシーセクション --- */
    .qd_quality_feature_section {
        margin-top: 40px;
    }

    .qd_quality_feature_section .qd_quality_row {
        flex-direction: column !important;
        margin-bottom: 30px;
    }

    .qd_quality_feature_section .qd_quality_image_col,
    .qd_quality_feature_section .qd_quality_text_col {
        max-width: 100%;
    }

    .qd_quality_feature_section .qd_quality_text_col .qd_quality_content_box,
    .qd_quality_feature_section .qd_reverse .qd_quality_text_col .qd_quality_content_box,
    .qd_quality_feature_section.qd_health_feature .qd_quality_text_col .qd_quality_content_box,
    .qd_quality_feature_section.qd_health_feature .qd_reverse .qd_quality_text_col .qd_quality_content_box {
        margin-left: 0;
        margin-right: 0;
        padding: 16px;
        border-radius: 0 0 16px 0;
        min-height: auto;
        font-size: 14px;
        line-height: 24px;
    }

    .qd_quality_feature_section .qd_quality_heading {
        font-size: 18px;
        line-height: 28px;
        padding: 10px 16px;
    }

    .qd_quality_feature_section .qd_quality_badge {
        font-size: 18px;
        top: -3%;
        left: 16px;
        padding: 4px 8px;
        border-width: 2px;
        min-width: unset;
        min-height: unset;
        width: auto;
        height: auto;
    }

    .qd_quality_feature_section .qd_reverse .qd_quality_badge {
        right: 16px;
        left: auto;
    }

    .qd_quality_feature_section .qd_quality_img,
    .qd_quality_feature_section.qd_health_feature .qd_quality_img {
        padding-bottom: 60%;
    }

    /* --- ご利用ガイド STEP番号 --- */
    .qd_quality_feature_section.qd_guide_feature .qd_quality_heading {
        font-size: 36px;
    }

    .qd_quality_feature_section.qd_guide_feature .qd_quality_text_col .qd_quality_content_box {
        font-size: 14px;
        line-height: 24px;
    }

    /* --- 企業/大学セクション --- */
    .qd_hours_container.secondry .qd_hours_big_text {
        font-size: 28px;
        line-height: 36px;
        -webkit-text-stroke: 2px white;
        text-stroke: 2px white;
    }

    .qd_corporate_cta {
        padding: 12px 24px;
        font-size: 14px;
    }

    .qd_corporate_cta span {
        font-size: 14px;
        line-height: 22px;
    }

    .qd_corporate_grid {
        flex-direction: column;
        gap: 16px;
    }

    .qd_corporate_column {
        flex: none;
        width: 100%;
    }

    .qd_corporate_header {
        margin-bottom: 40px;
    }

    .qd_corporate_path_container {
        display: none;
    }

    /* --- セットプラン グリッド --- */
    .qd_plan_section .qd_plan_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        row-gap: 24px;
    }

    .qd_plan_section.health .qd_plan_item {
        max-width: 100%;
        padding: 20px 12px 30px;
    }

    .qd_plan_section .qd_plan_name {
        font-size: 14px;
        line-height: 20px;
    }

    .qd_plan_section .qd_plan_item .qd_plan_badge {
        font-size: 12px;
    }

    /* --- 飲み放題プラン --- */
    .qd_health_drinkplan__section {
        overflow: hidden;
        padding: 40px 0;
    }

    .qd_health_drinkplan__card {
        flex-direction: column;
    }

    .qd_health_drinkplan__image-wrap {
        max-width: 100%;
    }

    .qd_health_drinkplan__image {
        height: 250px;
    }

    .qd_health_drinkplan__image-icon,
    .qd_health_drinkplan__meta-icon {
        width: 80px;
        height: 80px;
    }

    .qd_health_drinkplan__image-icon :is(svg, img),
    .qd_health_drinkplan__meta-icon :is(svg, img) {
        width: 45px;
        height: 45px;
    }

    .qd_health_drinkplan__meta-wrap {
        padding: 20px 16px;
    }

    .qd_health_drinkplan__meta {
        flex-direction: column;
        gap: 16px;
    }

    .qd_health_drinkplan__meta-item {
        gap: 12px;
    }

    .qd_health_drinkplan__meta-label {
        font-size: 18px;
    }

    .qd_health_drinkplan__meta-value {
        font-size: 14px;
    }

    .qd_health_drinkplan__desc-outer {
        margin-left: 0;
    }

    .qd_health_drinkplan__desc-box {
        padding: 20px 16px;
        border-radius: 0 0 20px 0;
    }

    .qd_health_drinkplan__desc-text {
        font-size: 14px;
        line-height: 24px;
    }

    .qd_health_drinkplan__section .qd_hours_banner {
        flex-direction: column;
        padding: 20px;
    }

    .qd_health_drinkplan__section .qd_hours_big_text {
        font-size: 18px;
        line-height: 28px;
    }

    .qd_hours_container .qd_banner_circle {
        display: none;
    }

    /* --- 営業時間セクション共通 --- */
    .qd_hours_container .qd_hours_big_text {
        font-size: 16px;
        line-height: 26px;
    }

    /* --- 問い合わせバナー新構造 レスポンシブ --- */
    .qd_hours_banner .qd_hours_banner_inner {
        max-width: 100%;
        gap: 14px;
    }

    .qd_hours_banner .qd_hours_banner_inner .qd_tag_wrap {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .qd_hours_banner .qd_hours_banner_inner .qd_tag_wrap .qd_tag_black {
        min-width: unset;
        font-size: 16px;
    }

    .qd_hours_banner .qd_hours_banner_inner .qd_tag_wrap .single_hours {
        font-size: 14px;
        display: flex;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
    }

    .qd_hours_banner .qd_hours_banner_inner .qd_tag_wrap .single_hours .qd_popup_btn {
        font-size: 16px;
        margin-right: 0;
    }

    .qd_hours_banner .qd_hours_banner_inner .qd_tag_wrap .qd_big_text_wrap .qd_hours_disclaimer {
        font-size: 13px;
    }

    /* ======================================
       SP修正 2026-05-07: 衛生管理・こだわり・配送エリア
       ====================================== */

    /* === 1. 衛生管理ページ === */

    /* イントロセクション: マージン縮小 */
    .qd_intro_sec.qd_health_sec {
        margin-top: 40px;
    }

    /* 衛生管理イントロ: コンテナbox */
    .qd_intro_sec .qd_container.qd_health_con {
        padding: 16px;
        border-radius: 16px;
    }

    /* 衛生管理イントロ: テキストボックス */
    .qd_health_con .qd_voice_intro {
        font-size: 13px;
        line-height: 22px;
        padding: 50px 16px 16px;
        border-radius: 16px;
        border-width: 2px;
        text-align: left;
        word-break: break-word;
        overflow-wrap: break-word;
    }

    /* イントロ内 p タグ (改行タグ br の影響を緩和) */
    .qd_health_con .qd_voice_intro p {
        font-size: 13px;
        line-height: 22px;
        text-align: left;
    }

    .qd_health_con .qd_voice_intro br {
        display: none;
    }

    /* リボンバッジ (衛生管理バッジ) */
    .qd_health_con .flot_1_quality {
        top: -8%;
    }

    .qd_health_con .flot_1_quality img {
        height: 50px;
    }

    /* 衛生管理: フィーチャー行のネガティブマージン除去 */
    .qd_quality_feature_section.qd_health_feature .qd_quality_text_col .qd_quality_content_box,
    .qd_quality_feature_section.qd_health_feature .qd_reverse .qd_quality_text_col .qd_quality_content_box {
        margin-left: 0;
        margin-right: 0;
    }

    .qd_quality_feature_section.qd_health_feature .qd_quality_content_box {
        min-height: auto;
        line-height: 24px;
    }

    .qd_quality_feature_section.qd_health_feature .qd_quality_heading {
        font-size: 16px;
        line-height: 26px;
        padding: 10px 16px;
    }

    .qd_quality_feature_section.qd_health_feature .qd_reverse .qd_quality_heading {
        padding: 10px 16px;
    }

    .qd_quality_feature_section.qd_health_feature .qd_quality_row {
        margin-top: 16px;
        margin-bottom: 16px;
    }

    /* 衛生管理: セットプランヘッダー */
    .qd_plan_section.health .qd_category_header {
        gap: 20px;
    }

    .qd_plan_section.health .qd_category_header img {
        max-width: 120px;
        height: auto;
    }

    /* 衛生管理: 飲み放題ボタン群 */
    .qd_health_drinkplan__buttons {
        flex-direction: column;
        gap: 12px;
        align-items: stretch;
    }

    .qd_health_drinkplan__buttons .qd__btn {
        font-size: 14px;
        padding: 12px 20px;
    }

    /* === 2. 私達のこだわり (quality) ページ === */

    /* イントロセクション: マージン */
    .qd_intro_sec {
        margin-top: 30px;
    }

    /* イントロ: qd_voice_intro ベース (quality ページ用) */
    .qd_voice_intro {
        font-size: 14px;
        line-height: 24px;
        margin-bottom: 20px;
    }

    /* フロート画像を非表示 (SP では重なりの原因) */
    .flot_1_quality,
    .flot_2_quality,
    .flot_3_quality {
        display: none;
    }

    /* 衛生管理のバッジは表示する (機能的な要素) */
    .qd_health_con .flot_1_quality {
        display: block;
    }

    /* ポリシーセクション: タイトルが画像に被る問題対策 */
    .qd_quality_feature_section .qd_quality_row {
        margin-top: 30px;
        margin-bottom: 30px;
    }

    /* 「熱々プレート」アクションボタン行 */
    .qd_quality_actions {
        flex-direction: column;
        gap: 12px;
        margin-top: 16px;
    }

    .qd_quality_actions .first_text {
        font-size: 14px;
        line-height: 22px;
    }

    .second_text {
        font-size: 13px;
    }

    .qd_quality_actions .qd_btn {
        font-size: 14px;
        padding: 10px 20px;
    }

    /* こだわり: 企業実績セクション */
    .qd_corporate_badge img {
        max-width: 200px;
        height: auto;
    }

    .qd_corporate_list_box {
        padding: 16px;
    }

    .qd_corporate_list li {
        font-size: 14px;
        line-height: 24px;
    }

    .qd_corporate_img img {
        border-radius: 12px;
    }

    /* === 3. 配送エリアページ === */

    /* 配送エリア: 地図カードのflex方向を縦に */
    .qd_area_section .qd_area_inner_box {
        flex-direction: column;
        padding: 16px;
        gap: 16px;
        border-radius: 16px;
    }

    /* 地図画像を100%幅 */
    .qd_area_section .qd_area_map {
        flex: none;
        width: 100%;
    }

    /* 情報カード */
    .qd_area_section .qd_area_info_card {
        flex: none;
        width: 100%;
        padding: 50px 16px 16px;
        border-radius: 20px;
        border-width: 2px;
    }

    /* バッジラップ */
    .qd_area_section .qd_area_badge_img_wrap {
        width: 70%;
        top: -14px;
    }

    /* テキスト: font-size を大幅縮小 (32px -> 15px) */
    .qd_area_section .qd_area_sub {
        font-size: 16px;
        line-height: 24px;
    }

    .qd_area_section .qd_area_list {
        gap: 6px;
    }

    /* セクションタイトル */
    .qd_area_section.wtrn_section .qd_category_header {
        margin-bottom: 24px;
    }

    /* サブ見出し共通 */
    .qd_sub_heading {
        font-size: 13px;
        line-height: 22px;
        margin-top: 16px;
    }

    /* エリア詳細: 五十音ラベル */
    .qd_area_kana_label {
        width: 60px;
        font-size: 16px;
        line-height: 24px;
        padding: 4px 8px;
        border-radius: 6px;
    }

    .qd_area_kana_label::after {
        border-top: 6px solid transparent;
        border-bottom: 6px solid transparent;
        border-left: 7px solid #D21200;
        right: -7px;
    }

    /* エリア詳細行 */
    .qd_area_detail_row {
        gap: 12px;
    }

    .qd_area_detail_flex_container {
        gap: 10px;
        margin-top: 20px;
    }

    /* 区名アイテム */
    .qd_area_district_item {
        font-size: 13px !important;
        padding: 8px !important;
        min-width: unset !important;
        flex-shrink: 1 !important;
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }

    /* 区名リスト: 2列グリッドで統一 */
    .qd_area_district_list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
    }

    /* エリア詳細行: SPで縦並び */
    .qd_area_detail_row {
        flex-direction: column;
        gap: 8px;
    }

    /* 五十音ラベル後の区名 */
    .qd_area_detail_row .qd_area_district_list {
        font-size: 13px;
    }

    /* エリアリストのテキスト */
    .qd_area_list_text {
        font-size: 14px;
        line-height: 24px;
    }

    /* プランタイトルボックス icon */
    .qd_plan_title_box .icon {
        width: 28px;
        height: 28px;
        margin-right: 8px;
    }

    /* プランセクション背景付き: padding縮小 */
    .qd_plan_section.bg_color {
        padding: 40px 0;
    }

    /* 人気エリアのプランアイテム名 */
    .qd_pop_area.qd_plan_section .qd_plan_name {
        font-size: 12px;
        min-height: 36px;
        line-height: 18px;
    }

    .qd_pop_area.qd_plan_section .qd_plan_grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
        row-gap: 16px;
    }

    .qd_pop_area.qd_plan_section .qd_plan_item {
        padding: 12px 6px 28px;
    }

    .qd_pop_area.qd_plan_section .qd_category_trigger {
        padding: 6px;
        bottom: -16px;
    }

    /* === 共通: overflow 防止 === */
    html {
        overflow-x: hidden !important;
    }

    body {
        overflow-x: hidden !important;
        max-width: 100vw;
        position: relative;
    }

    .qd_container {
        overflow-x: hidden;
        max-width: 100%;
    }

    /* ヘッダー幅制限 */
    .qd_header {
        max-width: 100vw;
        overflow-x: hidden;
    }

    /* セクション幅制限 */
    .wtrn_section,
    .qd_plan_section,
    .qd_area_section,
    .qd_corporate_section,
    .qd_health_drinkplan__section,
    .qd_quality_feature_section {
        max-width: 100vw;
        overflow-x: hidden;
    }

    /* フッターロゴはみ出し防止 */
    .wwquick_footer_logo .custom-logo-link img {
        max-width: 100%;
        height: auto;
    }

    /* フッター エリア一覧 */
    .qd_helper_area_row {
        flex-direction: column;
        gap: 8px;
    }

    .qd_helper_area_label_box {
        max-width: 100%;
    }

    .qd_helper_area_text_list {
        font-size: 13px;
        line-height: 1.6;
        padding-left: 0;
    }

    .qd_helper_header {
        font-size: 18px;
    }

    .qd_helper_link {
        font-size: 13px;
        padding: 6px 12px;
    }

    /* === 共通: plan_title_line (破線) === */
    .qd_plan_title_line {
        display: none;
    }

    .qd_plan_title::after {
        width: 10px;
        height: 10px;
        margin-left: 10px;
    }

    /* === ご利用規約ページ === */
    .qd_rules_section .qd_rules_detail_flex_container :is(li, p) {
        font-size: 14px;
        line-height: 24px;
    }

    .qd_rules_section .qd_plan_inner {
        padding: 16px;
        border-radius: 16px;
    }

    .qd_rules_section .rules_inner {
        gap: 24px;
    }

    .qd_rules_section .qd_plan_title_box {
        margin-bottom: 12px;
    }

    /* === 特定商取引法ページ === */
    .qd_law_section .qd_area_detail_row {
        flex-direction: column;
        gap: 0;
        border-bottom: 1px solid #FFECD8;
        padding: 16px 0;
    }

    .qd_law_section .qd_area_detail_row:last-child {
        border-bottom: none;
    }

    .qd_law_section .qd_area_kana_label {
        width: 100%;
        max-width: 100%;
        text-align: left;
        font-size: 13px;
        padding: 6px 12px;
        margin-bottom: 8px;
    }

    .qd_law_section .qd_area_district_item {
        text-align: left !important;
        width: 100% !important;
        background: none !important;
        border: none !important;
        padding: 0 !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 24px !important;
    }

    .qd_law_section .qd_area_district_list {
        display: block;
    }

    .qd_law_section .qd_area_detail_flex_container {
        gap: 0;
    }

    .qd_law_section .qd_plan_inner {
        padding: 16px;
    }

    /* === マイアカウントページ === */
    .woocommerce-account .woocommerce-MyAccount-content {
        overflow-x: auto;
    }

    .woocommerce-account .woocommerce-MyAccount-content table {
        font-size: 13px;
        word-break: break-word;
    }

    .woocommerce-account .woocommerce-MyAccount-content table td,
    .woocommerce-account .woocommerce-MyAccount-content table th {
        padding: 8px 6px;
        font-size: 13px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        margin-bottom: 20px;
    }

    /* === 共通: カテゴリヘッダー余白 === */
    .qd_category_header {
        margin-bottom: 24px;
    }

    /* === 4. フッター全体のフォントサイズ統一 === */

    /* Quick Links タイトル (PC: 23px) */
    .wwquick_footer .wwquick_footer_links h3 {
        font-size: 14px;
        line-height: 22px;
        margin-bottom: 10px;
    }

    /* Quick Links リンク (PC: 22px) */
    .wwquick_footer .wwquick_footer_links ul li {
        font-size: 13px;
        line-height: 22px;
    }

    /* Quick Links セパレータ余白縮小 */
    .wwquick_footer .wwquick_footer_links ul li:not(li:nth-child(1), li:nth-child(6)) {
        padding: 0 12px 0 0;
    }

    html body .wwquick_footer .wwquick_footer_links ul li:nth-child(2) {
        padding-left: 12px;
    }

    /* Quick Links ul gap 縮小 */
    .wwquick_footer .wwquick_footer_links ul {
        gap: 10px;
    }

    /* Quick Links コンテナ余白 */
    .wwquick_footer .wwquick_footer_links {
        padding: 0 0 16px 0;
        margin: 16px 0;
    }

    /* Copyright (PC: 23px) */
    .wwquick_footer_copyright {
        font-size: 12px;
        line-height: 20px;
    }

    /* フッター全体 padding 縮小 */
    .wwquick_footer {
        padding: 30px 16px;
    }

    /* フッターロゴ縮小 */
    .wwquick_footer_logo .custom-logo-link img {
        height: 32px;
    }

    /* フッター helper セクション */
    .qd_helper_area_item {
        font-size: 12px;
    }

    .qd_helper_slash {
        font-size: 12px;
    }

    /* Back to top ボタン縮小 */
    .wwquick_back_to_top {
        right: 16px;
        height: 40px;
        width: 40px;
    }

    /* === 5. ご利用ガイド 注意書きセクション === */

    /* ガイド下部の注意書き (PC: 20px / line-height: 42px) */
    .qd_health_sec.guide .qd_voice_intro.bottom {
        font-size: 13px;
        line-height: 22px;
    }

    .qd_health_sec.guide .qd_voice_intro.bottom p {
        font-size: 13px;
        line-height: 22px;
    }

    /* ガイド注意書きセクション内の br を非表示 (長い文章の改行制御) */
    .qd_health_sec.guide.sec .qd_voice_intro.bottom br {
        display: none;
    }

    /* ガイド下部セクション余白 */
    .qd_intro_sec.qd_health_sec.guide.sec {
        margin-top: 30px;
        padding: 20px 0;
    }

    /* ガイド下部バッジ */
    .guide.sec .flot_1_quality {
        display: block;
    }

    .guide.sec .flot_1_quality img {
        height: 50px;
    }

    /* ======================================
       SP修正 2026-05-07: トップページ (new-landingpage)
       全セクション レスポンシブ修正
       ====================================== */

    /* === ヘッダー (.toppart) === */

    /* ヘッダーコンテナ: 余白縮小 */
    .toppart .header_container {
        padding: 12px 10px;
        gap: 12px;
    }

    /* モバイルロゴサイズ */
    .toppart .right_part .logo .image_part img {
        height: 36px;
    }

    /* カートアイコン */
    .toppart .cart .icon img {
        height: 24px;
        width: auto;
    }

    /* カテゴリタブ: 横スクロール対応 */
    .toppart .product_links_part ul.wwcom_ul {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        gap: 6px;
        padding-bottom: 4px;
        scrollbar-width: none;
    }

    .toppart .product_links_part ul.wwcom_ul::-webkit-scrollbar {
        display: none;
    }

    .toppart .product_links_part ul li {
        flex-shrink: 0;
    }

    .toppart .product_links_part ul li a {
        font-size: 12px;
        padding: 8px 10px;
        white-space: nowrap;
    }

    /* ハンバーガー */
    .toppart .humburger .line,
    .toppart .humburger .line::before,
    .toppart .humburger .line::after {
        width: 22px;
    }

    /* === 第1セクション: 商品カルーセル (.first_section) === */

    .first_section {
        padding: 0 8px 80px;
        margin-bottom: 0;
    }

    .first_section .first_part .container {
        padding: 0;
    }

    /* カルーセル画像 */
    .first_section .owl-item img {
        width: 100% !important;
        height: auto !important;
        max-height: 280px;
        object-fit: cover;
        border-radius: 12px;
    }

    /* アイテムのパディング */
    .first_section .owl-item {
        padding: 0 8px;
    }

    /* 商品テキスト */
    .owl-item .product_text {
        position: static;
        padding: 0;
    }

    .owl-item .product_text .up_text {
        max-height: none;
        height: auto;
        min-height: auto;
    }

    .owl-item .product_text .up_text ul {
        flex-direction: column-reverse;
        gap: 6px;
    }

    .owl-item .product_text .up_text ul li {
        writing-mode: horizontal-tb !important;
        font-size: 13px;
        line-height: 20px;
        height: auto;
    }

    .product_text .up_text ul li.bold_text {
        font-size: 20px;
        line-height: 28px;
        letter-spacing: 1px;
    }

    .owl-item .up_text ul li.straight-text:not(.bold_text.wtrc_title) {
        -webkit-line-clamp: 2;
        height: auto;
        max-height: 44px;
    }

    /* 商品ボタン */
    .owl-item .product_text .product_btn {
        font-size: 14px;
        padding: 10px 20px;
        max-width: 100%;
        text-align: center;
        border-radius: 12px;
    }

    /* カルーセルナビゲーション */
    .first_section .owl-nav {
        top: 18%;
        max-width: 100%;
    }

    .first_section .owl-nav .owl-prev {
        left: -5px;
    }

    .first_section .owl-nav .owl-next {
        right: -5px;
    }

    .first_section .owl-nav :is(.owl-prev, .owl-next) img {
        width: 10px;
        height: auto;
    }

    /* ドットナビゲーション */
    body .first_section .owl-dots {
        bottom: -30px !important;
        max-width: 100%;
        gap: 6px;
    }

    /* 背景画像非表示 */
    .first_section .bg_image {
        display: none;
    }

    /* === 第2セクション: 注文の流れ (.second_section) === */

    .second_section.same_section {
        padding: 40px 0;
    }

    .second_section .section_block .container,
    .second_section .second_part.section_block .container {
        flex-direction: column;
        gap: 20px;
    }

    /* セクションタイトル: 横書きに */
    .second_section .straight-text.sec__title {
        writing-mode: horizontal-tb;
        font-size: 24px;
        letter-spacing: 8px;
        line-height: 32px;
    }

    /* カード: 縦並び */
    .second_section .right_part {
        flex-direction: column;
        gap: 16px;
    }

    .second_section .right_part .cards {
        gap: 12px;
        flex-direction: row;
        align-items: center;
    }

    .second_section .right_part .cards .numbers {
        font-size: 20px;
        line-height: 28px;
        flex-shrink: 0;
    }

    .second_section .right_part .cards h3 {
        font-size: 16px;
        letter-spacing: 2px;
    }

    .second_section .right_part .cards p {
        font-size: 13px;
        line-height: 22px;
    }

    /* === 第3セクション: 東京23区対応 (.third_section) === */

    .third_section {
        padding: 40px 0;
    }

    .third_section .third_part.section_block .container {
        flex-direction: column;
        gap: 20px;
    }

    /* タイトル: 横書き */
    .third_section .straight-text.sec__title {
        writing-mode: horizontal-tb;
        font-size: 24px;
        letter-spacing: 8px;
        line-height: 32px;
        display: flex;
        flex-direction: row;
        align-items: baseline;
    }

    .third_section .straight-text.sec__title span {
        writing-mode: horizontal-tb;
        margin: 0 4px;
        font-size: 28px;
    }

    /* カード */
    .third_section .right_part {
        gap: 16px;
    }

    .third_section .cards {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px;
        border-radius: 16px;
        border-width: 2px;
        box-shadow: 0px 0px 0px 8px var(--bg-color);
    }

    .third_section .cards h3 {
        font-size: 18px;
        line-height: 28px;
    }

    .third_section .cards p {
        font-size: 14px;
        line-height: 24px;
    }

    /* === 第4セクション: よくある質問 (.fourth_section) === */

    .fourth_section.same_section {
        padding: 40px 0;
    }

    .fourth_section .fourth_part.section_block .container {
        flex-direction: column;
        gap: 20px;
    }

    /* タイトル: 横書き */
    .fourth_section .straight-text.sec__title {
        writing-mode: horizontal-tb;
        font-size: 24px;
        letter-spacing: 8px;
        line-height: 32px;
    }

    /* FAQ: 1列表示 */
    .fourth_section .right_part {
        flex-direction: column;
        gap: 12px;
    }

    .fourth_section .right_part .outer_faq {
        max-width: 100%;
    }

    .fourth_section .right_part .cards_faq {
        padding: 16px;
        border-radius: 16px;
        margin: 0;
        gap: 12px;
    }

    .fourth_section .faq_title {
        gap: 12px;
    }

    .fourth_section .faq_title h3 {
        font-size: 14px;
        letter-spacing: 1px;
        line-height: 22px;
        white-space: normal;
        word-break: break-word;
        overflow-wrap: break-word;
    }

    .fourth_section .right_part .cards_faq .icon {
        height: 30px;
        width: 30px;
        padding: 5px;
        flex-shrink: 0;
    }

    .fourth_section .right_part .cards_faq .icon img {
        height: 100%;
        width: 100%;
    }

    .fourth_section .faq_content {
        font-size: 13px;
        line-height: 22px;
    }

    .fourth_section .faq_content p {
        font-size: 13px;
        line-height: 22px;
    }

    .fourth_section .faq_content ul li {
        font-size: 13px;
        line-height: 22px;
    }

    /* === 第5セクション: お問い合わせ (.five_section) === */

    .five_section.same_section {
        padding: 0 0 40px 0;
    }

    .five_section .five_part.section_block .container {
        flex-direction: column;
        gap: 20px;
    }

    /* タイトル: 横書き */
    .five_section .straight-text.sec__title {
        writing-mode: horizontal-tb;
        font-size: 24px;
        letter-spacing: 8px;
        line-height: 32px;
    }

    .five_section .right_part .cards {
        padding: 12px;
        border-radius: 20px;
    }

    .five_section .right_part .cards .cards_inner_part {
        padding: 30px 20px;
        border-radius: 20px;
        gap: 20px;
        border-width: 2px;
    }

    .five_section .right_part .cards .cards_inner_part h3 {
        font-size: 16px;
        line-height: 28px;
        letter-spacing: 4px;
    }

    .main_btn {
        font-size: 14px;
        padding: 12px 24px;
        border-radius: 12px;
        border-width: 2px;
    }

    /* === フッター (.footer) === */

    .footer {
        padding: 16px 0;
    }

    .footer .container {
        flex-direction: column;
        gap: 8px;
        text-align: center;
    }

    .footer .container p {
        font-size: 12px;
        line-height: 20px;
    }

    .footer .container p a {
        font-size: 12px;
    }

    /* === セクション共通 (.sec__title) === */

    .sec__title {
        font-size: 24px;
        line-height: 32px;
        letter-spacing: 8px;
    }

    .same_section {
        padding: 40px 0;
    }

    /* section_block container 共通: SP縦並び */
    .section_block .container {
        flex-direction: column;
        gap: 20px;
    }

    /* === overflow 防止 (ランディングページ) === */
    .first_section,
    .second_section,
    .third_section,
    .fourth_section,
    .five_section {
        overflow-x: hidden;
        max-width: 100vw;
    }

    /* スクロールマージン (固定ヘッダー対策) */
    .wtrc__section {
        scroll-margin-top: 100px;
    }

    /* ======================================
       SP修正 2026-05-07: トップページ (page-npm)
       ヒーロー・カテゴリー・メニュー・エリア 全修正
       対象: iPhone 15 (393px) で完璧に表示
       ====================================== */

    /* === 1. ヒーローバナー (.qd_home_banner_wrapper) === */

    .qd_home_banner_wrapper {
        padding: 100px 16px 40px 16px;
        width: 100%;
        height: auto;
        box-sizing: border-box;
    }

    .qd_home_banner_wrapper .qd_container {
        padding: 0;
        width: 100%;
    }

    /* 見出し「当日注文も12時までOK！」 */
    .qd_home_banner_wrapper .qd_title {
        font-size: 24px;
        line-height: 34px;
        text-align: center;
        margin-bottom: 12px;
    }

    /* サブテキスト */
    .qd_home_banner_wrapper .qd_description {
        font-size: 13px;
        line-height: 22px;
        display: block;
    }

    /* 検索フォーム: 縦並び、幅100% */
    .qd_home_banner_search_form {
        flex-direction: column;
        gap: 8px;
        margin: 0 0 20px 0;
        width: 100%;
    }

    .qd_home_banner_input_wrapper {
        width: 100%;
    }

    .qd_home_banner_input {
        width: 100%;
        padding: 14px 40px 14px 16px;
        font-size: 13px;
        border-radius: 30px;
    }

    .qd_home_banner_input::placeholder {
        font-size: 12px;
        line-height: 20px;
    }

    .qd_home_banner_search_icon {
        right: 16px;
    }

    .qd_home_banner_search_icon img {
        width: 18px;
        height: 18px;
    }

    .qd_home_banner_search_form .qd_cta {
        width: 100%;
        padding: 10px 20px;
        font-size: 14px;
        text-align: center;
        box-sizing: border-box;
    }

    /* 「もっとカンタン検索！」ラベル */
    .qd_home_banner_quick_label {
        font-size: 14px;
        line-height: 22px;
        margin: 0 0 8px 0;
    }

    /* タグボタングリッド */
    .qd_home_banner_btn_grid {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
        max-width: 100%;
        width: 100%;
    }

    .qd_home_banner_quick_btn {
        font-size: 12px;
        line-height: 18px;
        padding: 4px 12px;
        gap: 4px;
    }

    .qd_home_banner_btn_icon {
        margin-right: 2px;
    }

    .qd_home_banner_btn_icon img {
        width: 14px;
        height: 14px;
    }

    /* === 2. 商品タイプから選ぶ (.qd_category_section) === */

    .qd_category_section.wtrn_section {
        padding: 40px 0;
    }

    .qd_flex_container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
        justify-content: center;
    }

    .qd_category_item {
        flex: none;
        min-width: unset;
        width: 100%;
    }

    .qd_image_frame {
        border-radius: 16px;
        margin-bottom: 12px;
        aspect-ratio: auto;
    }

    .qd_category_img {
        object-fit: cover;
        width: 100%;
        height: 100%;
    }

    .qd_image_frame::before {
        top: 4px;
        left: 4px;
        right: 4px;
        bottom: 4px;
        border-radius: 14px;
        border-width: 2px;
    }

    .qd_item_label {
        font-size: 14px;
        margin-bottom: 10px;
        letter-spacing: 0.3px;
    }

    .qd_arrow_btn {
        padding: 6px 16px;
        border-radius: 14px;
        font-size: 12px;
    }

    .qd_arrow_btn img {
        width: 14px;
        height: 14px;
    }

    /* === 3. 料理ジャンルから選ぶ (.qd_menu_section) === */

    .qd_menu_section.wtrn_section {
        padding: 40px 0;
    }

    .qd_menu_grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 16px;
        row-gap: 40px;
    }

    .qd_menu_card {
        max-width: 100%;
        width: 100%;
    }

    .qd_menu_img_wrap {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        max-width: 140px;
        max-height: 140px;
        margin: 0 auto;
        border-radius: 50%;
        overflow: hidden;
    }
    .qd_menu_img_wrap img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .qd_image_container {
        margin-bottom: -30px;
    }

    .qd_menu_info {
        padding: 46px 10px 0;
        border-radius: 16px;
    }

    .qd_menu_label {
        font-size: 13px;
        line-height: 20px;
        margin-bottom: 10px;
        text-align: center;
        word-break: keep-all;
    }

    .qd_category_trigger {
        width: 50px;
        padding: 6px;
        bottom: -14px;
    }

    .qd_category_trigger img {
        width: 16px;
        height: 16px;
    }

    /* メニューセクション背景画像 */
    .qd_menu_section .qd_back_bg {
        display: none;
    }

    /* === 4. 提供スタイル (.qd_plate_section) === */

    .qd_plate_section {
        padding: 40px 16px;
    }

    .qd_plate_cards {
        gap: 24px;
    }

    .qd_plate_card {
        width: 100%;
    }

    .qd_plate_card_body {
        padding: 20px 12px;
    }

    .qd_plate_card_sub {
        font-size: 13px;
        line-height: 22px;
    }

    .qd_plate_card_title {
        font-size: 20px;
        line-height: 30px;
    }

    .qd_plate_advice_tag {
        font-size: 12px;
    }

    .qd_plate_advice_tag_wrap span {
        font-size: 12px;
    }

    .qd_plate_people_item {
        font-size: 12px;
    }

    .qd_plate_option_title {
        font-size: 14px;
    }

    .qd_plate_option_title .qd_yellow {
        font-size: 12px;
    }

    .qd_plate_note {
        font-size: 12px;
        line-height: 18px;
    }

    .qd_plate_card_badge {
        font-size: 13px;
        padding: 10px 16px;
    }

    /* === 5. 対応エリア (.qd_location) === */

    .qd_location {
        flex-direction: column;
        padding: 40px 16px;
        gap: 24px;
    }

    .qd_location .qd_visual_side {
        width: 100%;
        max-width: 100%;
    }

    .qd_location .qd_visual_side .qd_dish_main {
        width: 100%;
        height: auto;
        max-height: 200px;
        object-fit: cover;
        border-radius: 12px;
    }

    .qd_location .qd_text_side {
        max-width: 100%;
    }

    .qd_location .qd_text_side h2 {
        font-size: 20px;
        line-height: 32px;
    }

    .qd_location .qd_area_description {
        font-size: 13px;
        line-height: 22px;
    }

    .qd_location .area_btn_wrap {
        flex-direction: column;
        gap: 10px;
    }

    .qd_location .area_btn_wrap .qd_cta {
        width: 100%;
        text-align: center;
        box-sizing: border-box;
        font-size: 14px;
    }

    .qd_location .qd_map_side {
        width: 100%;
    }

    .qd_location .qd_map_side .qd_map_graphic {
        width: 100%;
        height: auto;
        max-height: 250px;
        object-fit: contain;
    }

    /* === 6. 配送エリアページ補足 === */

    .qd_area_section .qd_area_map img {
        max-height: 200px;
        object-fit: contain;
        width: 100%;
    }

    /* === 7. おすすめメニュー (.qd_recommended_menu) === */

    .qd_recommended_menu.wtrn_section {
        padding: 40px 0;
    }

    /* メインタブ: 横並びコンパクト */
    .qd_rec_main_tabs {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 6px;
        padding: 0 16px;
        justify-content: center;
    }

    .qd_rec_main_tab.qd_tab_btn {
        font-size: 12px;
        padding: 8px 14px;
        gap: 4px;
        flex: 0 0 auto;
        width: auto !important;
        min-width: 0 !important;
        max-width: none;
    }

    /* サブタブ（価格帯等）: 横スクロール+コンパクト */
    .qd_recommended_menu .sub-tabs {
        gap: 6px;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 8px;
        -webkit-overflow-scrolling: touch;
    }
    .qd_recommended_menu .sub-tabs .qd_tab_btn {
        font-size: 12px;
        padding: 6px 12px;
        white-space: nowrap;
        flex-shrink: 0;
        width: auto !important;
        min-width: 0 !important;
        border-radius: 20px;
    }
    .qd_recommended_menu .sub-tabs-wrapper {
        margin-bottom: 20px;
    }

    .qd_rec_main_tab.qd_tab_btn span img {
        width: 18px;
        height: 18px;
    }

    /* サブタブ: 横スクロール */
    .sub-tabs-wrapper {
        padding: 0 16px;
        margin-top: 12px;
    }

    .sub-tabs {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
    }

    .qd_rec_sub_btn.qd_tab_btn {
        font-size: 12px;
        padding: 6px 10px;
    }

    /* スライダー */
    .qd_rec_slider_shell {
        padding: 0 16px;
        margin-top: 16px;
    }

    .qd_bottom_cta {
        padding: 0 16px;
    }

    .qd_bottom_cta .qd_cta {
        font-size: 13px;
        padding: 10px 16px;
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }

    .qd_bottom_cta .qd_cta span img {
        width: 14px;
        height: 14px;
    }

    /* === 8. Pickup Contents (.qd_pickup_container) === */

    .qd_pickup_container.wtrn_section {
        padding: 40px 0;
    }

    .qd_pickup_grid {
        gap: 12px;
    }

    .qd_pick_img_wrap {
        height: 200px;
        border-radius: 12px;
        overflow: hidden;
    }

    .qd_pickup_bg_img,
    .qd_pickup_container img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .qd_pickup_card {
        padding-bottom: 0 !important;
    }

    /* === 9. クイックデリスタイルについて (.qd_feature) === */

    .qd_feature.wtrn_section {
        padding: 40px 0;
    }

    .qd_feature .qd_feature_title {
        font-size: 18px;
        line-height: 28px;
        text-align: center;
    }

    .qd_feature .qd_feature_desc {
        font-size: 13px;
        line-height: 22px;
        text-align: center;
        padding: 0 10px;
    }

    .qd_feature .qd_feature_gallery {
        gap: 8px;
    }
    .qd_feature .qd_feature_gallery img {
        border-radius: 12px;
    }

    /* SP: クイックデリスタイルについて セクション中央揃え */
    .qd_feature .qd_category_header {
        align-items: center;
    }
    .qd_feature .qd_feature_content {
        max-width: 100%;
        width: 100%;
    }
    .qd_feature .qd_feature_gallery {
        grid-template-columns: repeat(2, 1fr);
    }

    .qd_feature .qd_cta {
        font-size: 14px !important;
        padding: 12px 20px !important;
    }

    /* === 10. News & Topics (.qd_news_section) === */

    .qd_news_section.wtrn_section {
        padding: 40px 0;
    }

    .qd_news_slider_area {
        width: 100%;
        max-width: 100%;
    }

    .qd_news_card {
        padding: 16px;
    }

    .qd_card_date {
        font-size: 12px;
    }

    .qd_card_text {
        font-size: 13px;
        line-height: 22px;
    }

    /* === 11. セクション共通: 見出し・余白統一 === */

    .qd_sec_title {
        font-size: 20px;
        line-height: 32px;
    }

    .qd_sec_title span {
        font-size: 20px;
    }

    .wtrn_section {
        padding: 40px 0;
    }

    .qd_container {
        padding: 0 16px;
        box-sizing: border-box;
    }

    /* === 12. 画像共通: はみ出し防止 === */

    img {
        max-width: 100%;
        height: auto;
    }

    /* === 13. お問い合わせバナー共通 === */

    .qd_hours_container {
        padding: 40px 16px;
    }

    .qd_hours_banner {
        padding: 24px 16px;
        border-radius: 16px;
    }

    .qd_hours_big_text {
        font-size: 20px;
        line-height: 30px;
    }

    .qd_hours_sub_text {
        font-size: 13px;
        line-height: 22px;
    }


    /* === 14. qd_cta ボタン共通 === */

    .qd_cta {
        font-size: 14px;
        padding: 10px 20px;
    }

    /* ======================================
       SP修正 2026-05-07: 残課題一括修正
       ====================================== */

    /* === 15. ヒーローバナー padding-top 増加 (ヘッダー被り対策) === */
    .qd_home_banner_wrapper {
        padding-top: 140px;
    }

    /* === 16. 配送エリア・クイックデリスタイル ロゴ画像縮小 === */
    .qd-logo-section {
        height: 28px !important;
        width: auto !important;
        max-width: 60%;
    }

    /* === 17. 商品カルーセル はみ出し防止 === */

    /* トップページ (new-landingpage) 旧カルーセル:
       .first_section 自体で overflow: hidden にし、
       .owl-stage-outer は clip しない（カルーセル横スライドに必要） */
    .first_section {
        overflow: hidden;
    }

    .first_section .first_part {
        overflow: hidden;
    }

    .first_section .first_part .container {
        overflow: visible;
    }

    .first_section .owl-carousel .owl-stage-outer {
        overflow: visible !important;
    }

    /* トップページ (page-npm) 新おすすめカルーセル */
    .qd_rec_slider_shell {
        overflow: hidden;
    }

    .qd_rec_slider_shell .track-outer {
        overflow: hidden;
    }

    .qd_recommended_menu .slider-track {
        overflow: hidden;
    }

    .qd_recommended_menu .qd_card {
        flex: 0 0 calc((100% - 12px) / 2);
        min-width: 0;
        max-width: calc((100% - 12px) / 2);
    }

    /* Pickup Contents カルーセル */
    .qd_pickup_container .owl-carousel .owl-stage-outer {
        overflow: hidden;
    }

    /* News カルーセル */
    .qd_news_section .owl-carousel .owl-stage-outer {
        overflow: hidden;
    }

    /* === 18. 全体的なはみ出し防止強化 === */

    /* position: absolute 要素のはみ出し防止 */
    .qd_home_banner_wrapper {
        overflow: hidden;
    }

    .qd_category_section {
        overflow: hidden;
    }

    .qd_menu_section {
        overflow: hidden;
    }

    .qd_plate_section {
        overflow: hidden;
    }

    .qd_feature {
        overflow: hidden;
    }

    /* 配送エリアページ全体 */
    .qd_area_section {
        overflow: hidden;
    }

    .qd_plan_section {
        overflow: hidden;
    }

    /* === 19. 画像はみ出し防止 (specificity 強化) === */
    .qd_main img,
    .qd_area_section img,
    .qd_plan_section img,
    .qd_feature img,
    .qd_location img,
    .qd_pickup_container img,
    .qd_recommended_menu img {
        max-width: 100%;
        height: auto;
    }

    /* qd_feature_gallery の画像がはみ出さないように */
    .qd_feature_gallery {
        overflow: hidden;
    }

    .qd_feature_gallery img {
        width: 100%;
        height: auto;
        object-fit: cover;
    }

    /* === 20. 通知バー SP対応 === */
    .qd_notice_bar_text {
        font-size: 12px;
        line-height: 16px;
    }

    .qd_notice_bar {
        height: 36px;
        padding: 0 8px;
    }

    /* ======================================
       検索ページ / ショップページ SP 1カラム化
       ====================================== */

    /* 2カラム → 1カラム */
    .shop_layout {
        flex-direction: column;
        gap: 16px;
    }

    /* サイドバー: 幅100%、コンテンツの下に */
    .shop_sidebar {
        max-width: 100%;
        width: 100%;
        order: 2;
    }

    /* メインコンテンツ: 幅100%、上に表示 */
    .shop_products {
        max-width: 100%;
        width: 100%;
        order: 1;
    }

    /* 商品カード: 2列グリッド */
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product,
    .search-results .qd_card {
        max-width: 48% !important;
        margin: 0 1% 12px 1% !important;
    }

    /* 商品カード画像 */
    .shop_products .qd_card_img_wrap,
    .search-results .qd_card_img_wrap {
        height: 180px;
        min-height: 180px;
    }

    /* 商品名 */
    .shop_products .qd_card_img_wrap .woocommerce-loop-product__title,
    .search-results .woocommerce-loop-product__title {
        font-size: 14px;
    }

    /* 価格 */
    .shop_products .qd_custom_price_wrap,
    .search-results .qd_custom_price_wrap {
        font-size: 14px;
        line-height: 22px;
    }

    .shop_products .qd_custom_price_wrap .qd_price,
    .search-results .qd_custom_price_wrap .qd_price {
        font-size: 14px;
    }

    .shop_products .qd_custom_price_wrap .qd_menu_size,
    .search-results .qd_custom_price_wrap .qd_menu_size {
        font-size: 12px;
    }

    /* カード内ボディ余白 (旧 bottom 160px: absolute配置の価格+ボタン用固定確保→通常フロー化で撤去 #175) */
    .shop_products .qd_card .qd_card_body .qd_card_body_bottom {
        padding: 12px;
    }

    /* 配送エリア 地図画像 */
    .qd_map_side img.qd_map_graphic {
        max-height: 200px;
        width: 100%;
        object-fit: contain;
    }

    /* ======================================
       SP修正 2026-05-07: 追加修正
       ====================================== */

    /* === 修正1: new-landingpage.php ヒーローテキスト被り防止 === */
    .toppart .header_container {
        padding: 15px 10px;
    }

    .first_section {
        padding: 0 10px 80px;
    }

    .first_section .first_part .container {
        transform: none;
    }

    .owl-item.active .product_text {
        position: static;
        margin-bottom: 16px;
        padding: 12px;
    }

    .owl-item .product_text .up_text ul li.bold_text.wtrc_title {
        font-size: 18px;
        line-height: 26px;
        letter-spacing: 1px;
    }

    .owl-item .product_text .up_text ul li:not(.bold_text) {
        font-size: 13px;
        line-height: 22px;
    }

    .owl-item .product_text .product_btn {
        font-size: 14px;
        padding: 10px 20px;
    }

    /* new-landingpage セクションタイトル統一 */
    .sec__title {
        font-size: 24px;
        letter-spacing: 6px;
    }

    .second_section .right_part .cards h3,
    .third_section .right_part .cards h3 {
        font-size: 16px;
    }

    .second_section .right_part .cards p,
    .third_section .right_part .cards p {
        font-size: 13px;
        line-height: 22px;
    }

    /* new-landingpage セクション余白統一 40px */
    .second_section,
    .third_section,
    .fourth_section,
    .five_section {
        padding: 40px 0;
    }


    /* FAQ */
    .fourth_section .faq_title h3 {
        font-size: 16px;
        line-height: 24px;
    }



    /* === 修正1: 商品詳細ページ SP === */

    .product-container {
        margin: 30px 0;
    }

    .product-container .qd_container {
        padding: 0 16px;
    }

    .product-container .main-content-flex {
        flex-direction: column;
        gap: 24px;
    }

    .product-container .gallery-section {
        width: 100%;
        max-width: 100%;
        position: static;
    }

    .product-container .gallery-section img {
        max-width: 100%;
        height: auto;
    }

    .product-container .order-section {
        width: 100%;
        position: static;
    }

    .product-container .product-header {
        margin-bottom: 20px;
    }

    .product-container .product-title {
        font-size: 20px;
        line-height: 32px;
    }

    .product-container .product-subtitle {
        font-size: 14px;
    }

    /* === 修正1: 配送エリアページ 地図最大高さ === */

    .qd_area_section .qd_area_map img {
        max-height: 180px;
        object-fit: contain;
        width: 100%;
    }

    /* エリアカード: 余白・フォント調整 */
    .qd_area_info_card {
        padding: 40px 16px 16px;
    }

    /* === 修正1: 検索ページ フィルターフォントサイズ === */

    .shop_sidebar .filter-section label {
        font-size: 13px;
    }

    .shop_sidebar .qd_menu_sub_title {
        font-size: 16px;
    }

    .shop_sidebar .wwdcsss_filter_delta label {
        font-size: 13px;
        padding: 8px 10px;
    }

    /* 検索ページ: nv_divider テキスト */
    .shop_products .nv_divider .nv_text {
        font-size: 13px;
    }

    /* === 修正2: 0件メッセージ SP === */

    .qd_no_products_found {
        padding: 40px 16px;
    }

    .qd_no_products_inner {
        padding: 30px 20px;
    }

    .qd_no_products_icon svg {
        width: 48px;
        height: 48px;
    }

    .qd_no_products_title {
        font-size: 18px;
        line-height: 28px;
    }

    .qd_no_products_text {
        font-size: 14px;
        line-height: 24px;
    }

    .qd_no_products_btn {
        font-size: 14px;
        padding: 12px 30px;
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }

    /* === 修正3: ロゴはみ出し修正 === */

    .qd-logo-section {
        max-width: 100% !important;
        width: auto !important;
        height: auto !important;
        max-height: 30px;
    }

    /* ロゴを含むセクションのoverflow制御 */
    .qd_location {
        overflow: hidden;
    }

    .qd_location .qd_text_side {
        overflow: hidden;
    }

    .qd_location .qd_text_side img {
        max-width: 100%;
        height: auto;
    }

    /* 検索ページ下部のロゴセクション */
    .qd_location.wtrn_section {
        overflow: hidden;
    }

    /* 全ページ共通: qd-logo-section のはみ出し防止 */
    img.qd-logo-section {
        max-width: 100% !important;
        height: auto !important;
        max-height: 28px;
        display: block;
    }

    /* 商品詳細ページ下部のロゴセクション */
    .qd_location .qd_visual_side {
        overflow: hidden;
    }

    /* 検索ページ商品カード: 簡易版 (columns-4 -> 2列) */
    .shop_products ul.products.columns-4 {
        display: flex;
        flex-wrap: wrap;
    }

    .shop_products ul.products.columns-4 > li.qd_card {
        width: 48% !important;
        max-width: 48% !important;
        margin: 0 1% 16px 1% !important;
        float: none;
    }

    .shop_products ul.products.columns-4 > li.qd_card img {
        max-width: 100%;
        height: auto;
    }

    .shop_products ul.products.columns-4 .woocommerce-loop-product__title {
        font-size: 14px;
        line-height: 20px;
    }

    .shop_products ul.products.columns-4 .price {
        font-size: 13px;
    }

    /* 検索ページ下部: プランセクション */
    .qd_plan_section .qd_plan_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .qd_plan_section .qd_plan_name {
        font-size: 13px;
        line-height: 20px;
    }

    /* 検索ページ下部: プレートセクション */
    .qd_plate_faq .qd_plate_cards {
        flex-direction: column;
        gap: 20px;
    }

    .qd_plate_faq .qd_plate_card {
        width: 100%;
    }

    .qd_plate_faq .qd_plate_card_sub {
        font-size: 13px;
        line-height: 22px;
    }

    /* ==============================================
       商品詳細ページ SP修正 (iPhone 15 / 393px)
       ============================================== */

    /* --- 1. ヘッダーと商品バナーの被り修正 --- */
    .single-product .wtrn_secondry_banner {
        padding-top: 220px;
        padding-bottom: 80px;
        max-height: none;
        overflow: visible;
        text-align: center;
    }

    .single-product .wtrn_secondry_banner h1 {
        font-size: 36px;
        line-height: 50px;
        margin-bottom: 20px;
    }

    .single-product .wtrn_secondry_banner p {
        font-size: 16px;
        line-height: 28px;
        margin-bottom: 20px;
    }

    .single-product .wtrn_secondry_banner .breadcrumb {
        font-size: 12px;
        gap: 8px;
    }

    .single-product .wtrn_secondry_banner .breadcrumb li:not(:last-child)::after {
        margin-left: 8px;
        font-size: 12px;
    }

    /* --- 2. 商品画像スライダー / サムネイル --- */
    .product-container .main-slider-wrapper .item {
        height: 260px;
    }

    .product-container .thumbnail-container {
        gap: 8px;
        margin-top: 16px;
    }

    .product-container .thumb {
        width: 70px;
        height: 70px;
    }

    .product-container .owl-nav button.owl-prev,
    .product-container .owl-nav button.owl-next {
        width: 32px;
        height: 32px;
        padding: 8px !important;
    }

    /* --- 3. フォントサイズ調整 --- */

    /* 商品名 */
    .product-container .product-title {
        font-size: 20px;
        line-height: 30px;
        margin: 16px 0;
    }

    /* 価格 */
    .product-container .qd_price_wrap {
        font-size: 18px;
        line-height: 24px;
    }

    .product-container .price-value {
        font-size: 24px;
    }

    .product-container .price-unit {
        font-size: 16px;
    }

    /* キャッチ文 */
    .product-container .wwwdc_ctach_line {
        font-size: 14px;
        margin: 16px 0 0 0;
        padding: 8px 14px;
    }

    /* 説明文 */
    .product-container .product-subtitle,
    .product-container .wtrn_notes_box,
    .qd_list_section .wtrn_notes_box {
        font-size: 14px;
        line-height: 1.7;
    }

    /* セクションタイトル（【メニュー内容】等） */
    .single-product .qd_sec_title,
    .single-product .qd_list_section .qd_sec_title {
        font-size: 16px;
        line-height: 26px;
    }

    /* メニューリスト */
    .qd_list_section .wtrn_lists li,
    .qd_list_section .wtrn_lists .wwdcs_mast span {
        font-size: 14px;
        line-height: 1.8;
    }

    .qd_list_section .wtrn_lists li::before,
    .qd_list_section .wtrn_lists .wwdcs_mast span::before {
        height: 18px;
        width: 18px;
    }

    /* ブロックタイトル（＜お料理内容＞等） */
    .qd_list_section .wtrn_lists h3 {
        font-size: 16px;
        margin-bottom: 12px;
    }

    .qd_list_section .wtrn_lists h3::before {
        font-size: 16px;
    }

    /* 付属品 */
    .qd_list_section .wtrn_lists .wtrn_sub_list h3,
    .qd_list_section .wtrn_lists .wtrn_estimated_people h3 {
        font-size: 14px;
    }

    .qd_list_section .wwdcs_mast h3 {
        min-width: 120px;
        max-width: 120px;
        font-size: 14px;
    }

    /* 注意事項 */
    .qd_list_section .wtrn_notes_box {
        font-size: 13px;
        padding: 16px;
        margin-top: 24px;
    }

    /* SKU・商品種別 */
    .product-container .product-sku-wrapper {
        font-size: 13px;
    }

    .product-container .wwcds_producttyoe {
        font-size: 13px;
    }

    .product-container span.badge {
        font-size: 12px;
        padding: 5px 10px;
    }

    .product-container .sku-badge {
        font-size: 12px;
        padding: 5px 10px;
    }

    /* 配送情報 */
    .product-container .shipping-info {
        font-size: 13px;
        padding: 10px;
    }

    .product-container .shipping-info ul li {
        font-size: 13px;
    }

    .product-container .shipping-info p {
        font-size: 12px;
    }

    /* 定休日 */
    .product-container .holiday-notice {
        font-size: 13px;
    }

    .product-container .holiday-accent {
        font-size: 18px;
    }

    /* 人数目安 */
    .product-container .plate-count {
        font-size: 14px;
    }

    .product-container .capacity-hint {
        font-size: 14px;
    }

    /* --- 4. 「お買い物カゴに入れる」ボタン --- */
    .product-container .order-section button.qd_cart_btn {
        width: 100%;
        font-size: 16px;
        line-height: 24px;
        padding: 12px 0;
        justify-content: center;
    }

    .product-container .add-to-cart-btn {
        width: 100%;
        font-size: 16px;
        padding: 12px 20px;
    }

    /* --- 5. レイアウト 1カラム化 --- */
    .product-container .main-content-flex {
        flex-direction: column;
        gap: 20px;
    }


    .product-container .order-section {
        width: 100%;
        position: static;
        padding: 16px;
    }

    .product-container .product-header {
        margin-bottom: 16px;
    }

    /* セクション余白 */
    .product-container {
        margin: 20px 0;
    }

    .qd_category_header.wwdc_space {
        margin-top: 30px;
    }

    .qd_list_section .wtrn_lists_grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 24px;
    }
    .qd_list_section .wtrn_lists_grid>*:last-child:nth-child(odd) {
        grid-column: span 1;
    }

    .qd_list_section .wtrn_lists {
        padding: 16px;
        border-radius: 16px;
    }

    /* --- 6. 「類似商品を探す」タグセクション --- */
    .qd_category_section_delta .qd_block_content li a {
        font-size: 12px;
        padding: 4px 8px;
    }

    .qd_category_section_delta.qd_list_section .qd_block_content ul {
        flex-wrap: wrap;
        gap: 8px;
    }

    .qd_list_section.qd_category_section_delta .wtrn_lists h3 {
        font-size: 14px;
        gap: 10px;
    }

    .qd_list_section.qd_category_section_delta .wtrn_lists h3 img {
        width: 20px;
        height: 20px;
    }

    .qd_category_section_delta .wtrn_lists {
        padding: 12px;
    }

    /* 価格ボックス */
    .product-container :is(.qd_price_box, .qd_variation_item) {
        padding: 8px 14px;
        border-radius: 14px;
    }

    /* 数量ドロップダウン */
    .product-container .qd_qty_dropdown {
        padding: 12px 40px 12px 14px;
        font-size: 14px;
    }

    /* wwskutype_wrapper */
    .wwskutype_wrapper {
        gap: 6px;
    }

    /* === カートページ SP修正（カスタムカートUI） === */
    .qd_cart__item {
        padding: 12px;
        gap: 12px;
        border-radius: 14px;
        flex-wrap: wrap;
    }

    .qd_cart__item-img {
        width: 70px;
        height: 70px !important;
        border-radius: 8px;
    }

    .qd_cart__item-title {
        font-size: 14px;
        line-height: 1.3;
    }

    .qd_cart__item-info {
        gap: 8px;
    }

    .qd_cart__qty {
        flex-wrap: wrap;
        gap: 8px;
    }

    .qd_cart__qty-label {
        font-size: 12px;
    }

    .qd_cart__qty-controls {
        max-width: 120px;
    }

    .qd_cart__qty-btn {
        max-width: 36px;
        height: 32px;
        font-size: 14px;
    }

    .qd_cart__qty-val {
        font-size: 14px;
        min-width: 36px;
    }

    /* バッジ（セット・盛合等） */
    .qd_cart__item .wwskutype_wrapper {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
    }

    .qd_cart__item .wwskutype_wrapper span,
    .qd_cart__item .badge {
        font-size: 12px;
        padding: 2px 6px;
        white-space: nowrap;
    }

    /* 価格 */
    .qd_cart__item-price {
        font-size: 14px;
    }

    /* カート合計 */
    .qd_cart__summary {
        font-size: 14px;
    }

    .qd_cart__summary-row {
        padding: 8px 0;
    }

    .qd_cart__total-value {
        font-size: 18px;
    }

    /* チェックアウトボタン */
    .qd_cart__actions {
        flex-direction: column;
        gap: 8px;
    }

    .qd_cart__actions a,
    .qd_cart__actions button {
        width: 100%;
        font-size: 14px;
        padding: 10px;
        text-align: center;
    }

    /* ==============================================
       SP修正: 配送エリアセクション (.qd_location) はみ出し
       ============================================== */

    .qd_location .qd_text_side {
        margin-left: 0 !important;
        max-width: 100% !important;
        align-items: center;
        text-align: center;
    }

    .qd_location .qd_text_side h2 {
        font-size: 24px !important;
    }

    .qd_location .qd_area_description {
        font-size: 14px !important;
        line-height: 24px;
    }

    .qd_location {
        flex-direction: column !important;
        padding: 0 16px !important;
    }

    .qd_location .qd_visual_side {
        max-width: 250px;
        margin: 0 auto;
    }


    .qd-logo-section {
        max-width: 200px !important;
        height: auto !important;
    }

    /* ==============================================
       SP修正: カート追加ポップアップ レスポンシブ対応
       ============================================== */

    .qd_adding_cart_popup__overlay {
        align-items: flex-start;
        padding: 8px;
    }

    .qd_adding_cart_popup {
        max-width: 100%;
        padding: 16px;
        gap: 16px;
        border-radius: 16px;
        max-height: 100vh;
        max-height: 100dvh;
        overflow-y: auto;
    }

    .qd_adding_cart_popup__hdr {
        margin-bottom: 12px;
    }

    .qd_adding_cart_popup__title {
        font-size: 16px;
    }

    .qd_adding_cart_popup__check {
        width: 28px;
        height: 28px;
    }

    .qd_adding_cart_popup__top {
        flex-direction: column;
        gap: 12px;
    }

    .qd_adding_cart_popup__pnl {
        max-width: 100%;
        padding: 16px;
        border-radius: 16px;
    }

    .qd_adding_cart_popup__pnl-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        margin-bottom: 12px;
    }

    .qd_adding_cart_popup__pnl-img {
        width: 70px;
        height: 70px;
    }

    .qd_adding_cart_popup__pnl-name {
        font-size: 16px;
    }

    .qd_adding_cart_popup__pnl-meta {
        flex-direction: column;
        gap: 6px;
    }

    .qd_adding_cart_popup__pnl-meta-lbl {
        font-size: 13px;
        white-space: normal;
        text-wrap: wrap;
    }

    .qd_adding_cart_popup__pnl-meta-val {
        font-size: 13px;
        padding: 10px 8px;
    }

    .qd_adding_cart_popup__sum {
        max-width: 100%;
        padding: 16px;
        border-radius: 16px;
        gap: 12px;
    }

    .qd_adding_cart_popup__sum-count,
    .qd_adding_cart_popup__sum-total-lbl {
        font-size: 16px;
    }

    .qd_adding_cart_popup__sum-total {
        gap: 10px;
    }

    .qd_adding_cart_popup__sum-total-price {
        font-size: 24px;
    }

    .qd_adding_cart_popup__sum-btn-row {
        flex-direction: column;
        gap: 6px;
    }

    .qd_adding_cart_popup__sum-btn {
        width: 100%;
        font-size: 14px;
        padding: 10px 0;
    }

    .qd_adding_cart_popup__sum-checkout {
        font-size: 14px;
        padding: 10px 0;
    }

    /* ポップアップ: アップセルカード */
    .qd_adding_cart_popup__ups {
        padding: 16px 0 0;
    }

    .qd_adding_cart_popup__ups-title {
        font-size: 16px;
    }

    .qd_adding_cart_popup__ups-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }

    .qd_adding_cart_popup__ups-card {
        border-radius: 12px;
    }

    .qd_adding_cart_popup__ups-card-name {
        font-size: 12px;
        line-height: 18px;
    }

    .qd_adding_cart_popup__ups-card-price-val {
        font-size: 13px;
    }

    .qd_adding_cart_popup__close {
        top: 12px;
        right: 12px;
    }

    /* === 商品カード SP修正 === */
    .qd_card_actions .qd_add_cart a {
        font-size: 12px;
        padding: 8px 10px;
        white-space: nowrap;
        text-align: center;
        width: 100%;
    }

    .qd_card_actions {
        flex-direction: column;
        gap: 6px;
    }

    /* 商品一覧（カテゴリーページ） */
    .woocommerce ul.products li.product {
        width: 48% !important;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 13px;
        line-height: 18px;
    }

    .woocommerce ul.products li.product .price {
        font-size: 13px;
    }

    /* ランキングカード内のテーブル */
    .qd_card .qd_card_inner table {
        font-size: 12px;
    }

    .qd_card .qd_card_inner table td {
        padding: 4px 6px;
        white-space: nowrap;
    }

    /* === 問い合わせモーダル SP修正 === */
    #product-popup .popup-content,
    #product-popup-content .popup-content {
        padding: 20px 16px;
        border-radius: 16px;
        max-width: 100%;
        margin: 10px;
    }

    #product-popup-content form,
    #product-popup form {
        grid-template-columns: 1fr !important;
        gap: 12px;
    }

    #product-popup-content form p,
    #product-popup form p {
        grid-column: 1 !important;
    }

    #product-popup form input,
    #product-popup form textarea,
    #product-popup-content form input,
    #product-popup-content form textarea {
        font-size: 14px;
        padding: 10px;
    }

    #product-popup form label,
    #product-popup-content form label {
        font-size: 14px;
    }

    #product-popup .popup-content .popup-close,
    #product-popup-content .popup-content .popup-close {
        top: 10px;
        right: 10px;
        font-size: 24px;
    }

    .contact_info_text {
        font-size: 13px !important;
        line-height: 22px !important;
    }

    #product-popup form input[type="submit"],
    #product-popup-content form input[type="submit"] {
        font-size: 16px;
        padding: 12px;
        width: 100%;
    }

    /* ==============================================
       SP修正: カルーセル (owl-carousel) 表示保証
       ============================================== */

    /* owl-carousel初期化前でもアイテムを表示する */
    .owl-carousel:not(.owl-loaded) {
        display: flex !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        gap: 12px;
    }

    .owl-carousel:not(.owl-loaded) > * {
        flex: 0 0 85%;
        scroll-snap-align: start;
    }

    /* owl-carousel 初期化後のアイテム表示保証 */
    .first_section .owl-carousel .owl-stage {
        display: flex !important;
    }

    .first_section .owl-carousel .owl-item {
        display: flex !important;
        flex-shrink: 0;
    }

    /* ==============================================
       課題2: カートサイドパネルのスクロール修正
       ============================================== */
    .qd_cart {
        max-height: 100vh;
        overflow-y: auto;
    }
    .qd_cart__list {
        max-height: 40vh;
        overflow-y: auto;
    }

    /* ==============================================
       課題3: 配送エリアセクションはみ出し修正
       ============================================== */

    /* ==============================================
       課題4: メニューz-index修正
       ============================================== */
    .qd_header .qd_menu_btn {
        z-index: 10001 !important;
    }

    /* ==============================================
       課題6: カート追加ポップアップ テーブルはみ出し防止
       ============================================== */
    .qd_adding_cart_popup table {
        width: 100% !important;
        table-layout: fixed;
        word-break: break-word;
    }
    .qd_adding_cart_popup table td,
    .qd_adding_cart_popup table th {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* ==============================================
       お問い合わせフォーム SP修正
       ============================================== */

    /* 「個人情報の取扱い〜」テキストが1文字ずつ改行される問題 */
    .qd_submit_wrap {
        flex-direction: column;
        gap: 10px;
        align-items: stretch;
    }

    .qd_submit_wrap .qd_submit_text {
        font-size: 14px !important;
        width: 100% !important;
        min-width: 0;
        word-break: normal;
    }

    .qd_submit_wrap .wpcf7-submit {
        width: 100%;
    }

    /* お問い合わせフォーム 2カラム→1カラム */
    form.wpcf7-form {
        display: block !important;
    }

    form.wpcf7-form p {
        width: 100% !important;
        max-width: 100% !important;
    }

    #product-popup .qd_submit_wrap,
    #product-popup-content .qd_submit_wrap {
        flex-direction: column;
        gap: 10px;
    }

    /* ==============================================
       マイアカウント SP修正
       ============================================== */

    /* 配送先情報ページ */
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
        width: 100% !important;
        float: none !important;
        margin-bottom: 20px;
    }

    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields {
        width: 100%;
    }

    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .woocommerce-Address-title {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        align-items: center;
    }

    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .woocommerce-Address-title a {
        white-space: nowrap;
        font-size: 13px;
    }

    /* パスワード変更ページ - 「メールアドレス」改行防止 */
    .woocommerce-account .woocommerce-EditAccountForm label {
        display: block;
        width: 100%;
        white-space: nowrap;
        font-size: 16px;
    }

    .woocommerce-account .woocommerce-EditAccountForm .woocommerce-form-row {
        width: 100% !important;
        float: none !important;
        padding: 0 !important;
    }

    .woocommerce-account .woocommerce-EditAccountForm input[type="text"],
    .woocommerce-account .woocommerce-EditAccountForm input[type="email"],
    .woocommerce-account .woocommerce-EditAccountForm input[type="password"] {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    /* アカウント詳細の2カラム→1カラム */
    .woocommerce-account .woocommerce-MyAccount-content fieldset {
        width: 100%;
    }

    .woocommerce-account .woocommerce-MyAccount-content .form-row-first,
    .woocommerce-account .woocommerce-MyAccount-content .form-row-last {
        width: 100% !important;
        float: none !important;
    }

    /* ==============================================
       コラム記事 SP修正
       ============================================== */

    .qd_column_title {
        font-size: 24px;
        margin-bottom: 30px;
    }

    .qd_column_content h2 {
        font-size: 18px;
        padding: 12px 16px;
    }

    .qd_column_content h3 {
        font-size: 18px;
    }

    .qd_column_content {
        font-size: 16px;
    }

    .qd_column_nav_wrapper {
        flex-direction: column;
        gap: 12px;
    }

    .qd_column_nav_item.next {
        text-align: left;
    }

    /* コラム一覧 SP */
    .qd_column_grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .qd_column_card_title {
        font-size: 16px;
    }

    /* 配送エリアページ SP */
    .qd_area_delivery_row {
        flex-direction: column;
    }
    .qd_area_bottom_info {
        flex-direction: column;
        gap: 20px;
    }
    .qd_area_voices_grid,
    .qd_area_features_grid {
        grid-template-columns: 1fr;
    }
    .qd_area_cta_grid {
        flex-direction: column;
    }
    .qd_area_stats_number {
        font-size: 32px;
    }
    .qd_area_banner_label {
        font-size: 16px;
    }
    .qd_area_cta_box .qd_cta {
        font-size: 16px;
    }
}
/* コラムテンプレート レスポンシブ */
@media screen and (max-width: 768px) {
    .qd_col_images.two {
        flex-direction: column;
    }
    .qd_col_images.two img {
        height: 200px;
        width: 100%;
    }
    .qd_col_images.one img {
        max-height: 250px;
    }
    .qd_col_sub_heading {
        font-size: 18px;
    }
    .qd_col_list_header h2 {
        font-size: 28px;
    }
    .qd_col_list_intro {
        font-size: 16px;
    }
    .qd_col_list_card {
        padding: 20px 18px;
    }
    .qd_col_list_card h3 {
        font-size: 18px;
    }
    .qd_col_list_card p {
        font-size: 16px;
        padding-left: 0;
    }
    .qd_col_rec_thumb {
        width: 120px;
        height: 82px;
    }
    .qd_col_rec_info h3 {
        font-size: 18px;
    }
    .qd_col_rec_info p {
        font-size: 16px;
    }
    .qd_col_body {
        font-size: 16px;
    }
    .qd_col_article .qd_container {
        padding: 28px 20px;
    }
    /* コラム一覧 SP */
    .qd_column_card_image {
        height: 180px;
    }

    /* SPヘッダー: カート+ハンバーガーのみ非表示（ボトムナビに移動） */
    .qd_cart_opener,
    .qd_menu_btn#menuToggle {
        display: none !important;
    }
    .qd_search_box {
        display: none !important;
    }
    /* SP専用: コンパクト検索ボタン表示 */
    .qd_sp_search_btn {
        display: flex !important;
    }

    /* SP ボトムナビゲーション（2段構成） */
    .qd_sp_bottom_nav {
        display: flex !important;
        flex-direction: column;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 9999;
        background: rgba(255,255,255,0.95);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border-top: 1px solid #eee;
        box-shadow: 0 -2px 10px rgba(0,0,0,0.08);
        padding: 6px 10px env(safe-area-inset-bottom, 6px);
        gap: 5px;
    }
    .qd_sp_bottom_nav_row {
        display: flex;
        gap: 6px;
    }
    .qd_sp_bnav_btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
        text-decoration: none;
        font-size: 12px;
        font-weight: 600;
        padding: 7px 12px;
        border-radius: 20px;
        white-space: nowrap;
        flex: 1;
        position: relative;
        transition: opacity 0.2s;
    }
    .qd_sp_bnav_btn:active {
        opacity: 0.7;
    }
    .qd_sp_bnav_btn svg {
        flex-shrink: 0;
    }
    .qd_sp_bnav_outline {
        background: #fff;
        color: #333;
        border: 1px solid #ddd;
    }
    .qd_sp_bnav_filled {
        background: #E27A3F;
        color: #fff;
        border: 1px solid #E27A3F;
    }
    .qd_sp_bnav_filled svg {
        stroke: #fff;
    }
    .qd_sp_bnav_dark {
        background: #333;
        color: #fff;
        border: 1px solid #333;
    }
    .qd_sp_bnav_dark svg {
        stroke: #fff;
    }
    .qd_sp_bnav_badge {
        position: absolute;
        top: -2px;
        right: 8px;
        background: #D21200;
        color: #fff;
        font-size: 12px;
        font-weight: 700;
        min-width: 16px;
        height: 16px;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 4px;
    }

    /* ボトムナビ分のbody下余白 */
    body {
        padding-bottom: 90px;
    }
    .wwquick_back_to_top {
        bottom: 100px;
    }
}

/* お客様の声: レスポンシブ */
@media (max-width: 991px) {
    .qd_voice_cat_grid,
    .qd_voice_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}
@media (max-width: 768px) {
    .qd_voice_cat_grid,
    .qd_voice_grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .qd_voice_cat_card {
        padding: 18px;
    }
    .qd_voice_card__title {
        font-size: 16px;
    }
    .qd_voice_card__body {
        padding: 12px 16px 16px;
    }
}

/* お知らせページ レスポンシブ */
@media (max-width: 768px) {
    .qd_news_list_card {
        padding: 18px 20px;
    }
    .qd_news_list_card__title {
        font-size: 16px;
    }
    .qd_news_list_card__excerpt {
        font-size: 13px;
    }
    .qd_news_detail_section .qd_news_detail_inner {
        padding: 24px 0;
    }
    .qd_news_detail_content {
        font-size: 16px;
    }
}

/* シート10・11: タクソノミー一覧＆ターム詳細 レスポンシブ */
@media (max-width: 1024px) {
    .qd_taxlist_grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .qd_tax_products_section ul.products li.product {
        max-width: 31% !important;
        margin: 0 3.5% 2em 0 !important;
    }
    .qd_tax_products_section ul.products li.product:nth-child(4n) {
        margin-right: 3.5% !important;
    }
    .qd_tax_products_section ul.products li.product:nth-child(3n) {
        margin-right: 0 !important;
    }
}
@media (max-width: 768px) {
    .qd_taxlist_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .qd_taxlist_card_body {
        padding: 10px;
    }
    .qd_taxlist_card_name {
        font-size: 13px;
    }
    .qd_tax_products_section ul.products li.product {
        max-width: 48% !important;
        margin: 0 4% 2em 0 !important;
    }
    .qd_tax_products_section ul.products li.product:nth-child(3n) {
        margin-right: 4% !important;
    }
    .qd_tax_products_section ul.products li.product:nth-child(2n) {
        margin-right: 0 !important;
    }
    .qd_tax_ranking_grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .qd_tax_ranking_img img {
        width: 180px;
        height: 180px;
    }
    .qd_tax_sub_divider span {
        font-size: 16px;
    }
    .qd_taxdetail_other_grid {
        grid-template-columns: 1fr;
    }
    .qd_taxlist_rec_grid {
        grid-template-columns: 1fr;
    }
    .qd_taxlist_banner_grid {
        grid-template-columns: 1fr;
    }
    .qd_tax_desc_text {
        font-size: 14px;
        text-align: left;
    }
    .qd_tax_pagination {
        gap: 12px;
    }
    .qd_tax_page_btn {
        padding: 8px 16px;
        font-size: 13px;
    }
}
@media (max-width: 575px) {
    .qd_taxlist_grid {
        gap: 10px;
    }
    .qd_taxlist_card_img {
        aspect-ratio: 4/3;
    }
    .qd_tax_ranking_img img {
        width: 150px;
        height: 150px;
    }
    .qd_taxdetail_other_card {
        padding: 16px;
    }
    .qd_taxdetail_other_title {
        font-size: 14px;
    }
    .qd_taxdetail_other_desc {
        font-size: 12px;
    }
}

/* ========== 注文完了モーダル & テーブル レスポンシブ ========== */
@media (max-width: 768px) {
    .wwcs_modal_overlay {
        padding: 20px 10px;
    }
    .wwcs_modal_box,
    .wwcs_thankyou_card {
        padding: 28px 20px 24px;
    }
    .wwcs_modal_success_text {
        font-size: 16px;
    }
    .wwcs_modal_order_number strong {
        font-size: 28px;
    }
    .wwcs_modal_buttons {
        flex-direction: column;
        gap: 10px;
    }
    .wwcs_modal_recommended_grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .wwcs_order_detail_section {
        padding: 24px 0;
    }
    .wwcs_order_detail_header {
        font-size: 16px;
    }
    .wwcs_order_table thead th {
        font-size: 12px;
        padding: 8px 6px;
    }
    .wwcs_order_table tbody td {
        padding: 10px 6px;
        font-size: 13px;
    }
    .wwcs_order_table .wwcs_product_cell {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
    .wwcs_order_table .wwcs_product_cell img {
        width: 48px;
        height: 48px;
    }
    .wwcs_order_total_value {
        font-size: 24px;
    }
}
@media (max-width: 575px) {
    .wwcs_modal_header {
        flex-direction: column;
        text-align: center;
        gap: 8px;
    }
    .wwcs_modal_description p {
        font-size: 13px;
    }
    .wwcs_order_table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .wwcs_order_table thead th,
    .wwcs_order_table tbody td {
        min-width: 60px;
    }
    .wwcs_order_table tbody td:nth-child(2) {
        min-width: 180px;
    }
}

/* ========== マイアカウント住所編集フォーム SP対応 ========== */
@media screen and (max-width: 768px) {
    .woocommerce-edit-address .qd_login__field-col {
        flex-direction: column !important;
        gap: 8px;
    }
    .woocommerce-edit-address .qd_login__field-col .qd_login__field {
        width: 100% !important;
        max-width: 100% !important;
    }
    .woocommerce-edit-address .qd_login__field-col .qd_login__field input[type="text"],
    .woocommerce-edit-address .qd_login__field-col .qd_login__field input[type="tel"],
    .woocommerce-edit-address .qd_login__field-col .qd_login__field select {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
    .woocommerce-edit-address .qd_login__field input[type="text"],
    .woocommerce-edit-address .qd_login__field input[type="tel"],
    .woocommerce-edit-address .qd_login__field select {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
}

/* ============================================================
   SP表示調整 2026-06-17 (C群: 軽微修正)
   棚卸し: docs/sp-overhaul-20260617/findings.md
   ロールバック: このブロック全体を削除すれば元に戻る
============================================================ */
@media (max-width: 768px) {
    /* C3: 横スクロール抑制 (body wrapper) */
    html, body {
        overflow-x: hidden;
    }

    /* C2: カート画面の数量変更ボタンがビューポート上端で見切れる対策
       (sticky で表示している要素が想定外のoffsetを取るケース) */
    .wwdcs_cart_item_qty_btn,
    .wwcs_cart_qty_btn {
        position: relative;
        z-index: 1;
    }

    /* C1: 商品詳細の配送エリア地図を「タップで全画面表示」できるよう拡大ヒントを付与 */
    .delivery-area-map img,
    .qd_delivery_area_map img {
        max-width: 100%;
        height: auto;
    }

    /* C4: カート追加ポップアップのおすすめ商品「単価」と金額の縦並びを横並びに */
    .qd_adding_cart_popup .qd_ups_card_price,
    .qd_adding_cart_popup__ups-card .qd_adding_cart_popup__ups-meta {
        display: flex;
        align-items: center;
        gap: 6px;
        flex-wrap: nowrap;
    }
    .qd_adding_cart_popup .qd_ups_card_price > *,
    .qd_adding_cart_popup__ups-card .qd_adding_cart_popup__ups-meta > * {
        white-space: nowrap;
    }
}

/* ============================================================
   SP表示調整 2026-06-17 (B群: バランス・読みづらさ)
   棚卸し: docs/sp-overhaul-20260617/findings.md
   ロールバック: このブロック全体を削除すれば元に戻る
============================================================ */
@media (max-width: 768px) {
    /* B1: メインビジュアル(ページタイトル領域)の文字読みづらさ
       食材背景+黄色/白文字でコントラスト不足 → ダークオーバーレイ + text-shadow */
    .wtrn_secondry_banner,
    .wtrn_log_reg {
        position: relative;
    }
    .wtrn_secondry_banner::before,
    .wtrn_log_reg::before {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.35);
        pointer-events: none;
        z-index: 0;
    }
    .wtrn_secondry_banner > *,
    .wtrn_log_reg > * {
        position: relative;
        z-index: 1;
    }
    .cc_sub_heading,
    .wtrn_secondry_banner h1,
    .wtrn_secondry_banner h2 {
        text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
    }
    .cc_sub_text,
    .wtrn_secondry_banner p {
        text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
    }

    /* B2: 商品名長文時の1文字単位折り返し抑制
       「フィッシュ＆チップ / ス」「中華パーティープレート」のような禁則違反対策 */
    .qd_food_card_title,
    .qd_product_card__title,
    .qd_adding_cart_popup__ups-name,
    .woocommerce-loop-product__title,
    .product .woocommerce-loop-product__title {
        word-break: keep-all;
        overflow-wrap: anywhere;
        line-break: strict;
    }

    /* B3: TOP料理カテゴリ円形カードの末尾「海苔弁」が単独で左寄せ→中央寄せ
       grid末尾の余りを中央配置 */
    .qd_food_grid,
    .qd_category_grid {
        justify-items: center;
    }

    /* B4: TOPフッターの料理カテゴリ/利用シーンタグのタップ領域拡大 */
    .qd_food_category_tags a,
    .qd_food_category_tags li,
    .qd_usage_scene_tags a,
    .qd_usage_scene_tags li,
    .qd_attribute_tags a,
    .qd_attribute_tags li,
    .qd-tag-link,
    a.qd-tag {
        min-height: 36px;
        padding: 8px 12px;
        line-height: 1.4;
        display: inline-flex;
        align-items: center;
    }

    /* B5: FAQ質問文の3行折り返し対策
       テキスト中央列が狭くなりすぎている → font-size を SP に最適化 */
    .qd_faq_question,
    .qd_faq_item__question,
    .qd_faq__q,
    .qd_faq_q_text {
        font-size: 16px;
        line-height: 1.5;
    }
    /* FAQ全体のpaddingも縮小して読みやすく */
    .qd_faq_item,
    .qd_faq__item {
        padding: 14px 12px;
    }

    /* B6: マイページお客様情報の住所フォーム
       「市区町村/町名・番地」+ 「住所検索」ボタンが横詰まる → SP上下積み重ね */
    .qd_address_search_row,
    .woocommerce-address-fields__field-wrapper,
    .qd_form_row--address {
        flex-direction: column;
        align-items: stretch;
    }
    .qd_form_row--address > * {
        width: 100% !important;
    }
    /* 住所検索ボタンは別行に */
    .qd_address_search_btn,
    button#js-postcode-search,
    .js_postal_search_btn {
        width: 100%;
        margin-top: 8px;
    }
}

/* ============================================================
   SP表示調整 2026-06-17 (A群: 明らかな破綻)
   棚卸し: docs/sp-overhaul-20260617/findings.md
   ロールバック: このブロック全体を削除すれば元に戻る
============================================================ */
@media (max-width: 768px) {
    /* A1: カート追加ポップアップ おすすめ商品「詳細を見る」が縦書きに崩れる
       padding 13px 30px + font-size 16px がSP 2列カード幅で破綻 → 横幅優先で縮小 */
    .qd_adding_cart_popup__ups-card-link {
        padding: 10px 8px !important;
        font-size: 13px !important;
        white-space: nowrap !important;
        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
        word-break: keep-all !important;
        min-width: 0;
    }

    /* A2: カート追加ポップアップ上半部の巨大空白
       inner panel 高さ取得失敗 → コンテンツに沿った高さに */
    .qd_adding_cart_popup,
    .qd_adding_cart_popup__pnl,
    .qd_adding_pnl_inner {
        height: auto !important;
        min-height: 0 !important;
        max-height: 90vh;
        overflow-y: auto;
    }
    .qd_adding_cart_popup__overlay {
        align-items: flex-start;
        padding-top: 60px;
        padding-bottom: 100px;
    }

    /* A3: 商品詳細(`/product/{id}/`) 商品名直下の大量空白
       カルーセル/owlの初期高さ計算遅延 → SP で min-height 制御 */
    .product .single-product-summary,
    .qd_product_detail__main,
    .qd_product_carousel,
    .owl-carousel.qd_product_imgs {
        min-height: 0 !important;
    }
    .qd_product_detail__inner,
    .single-product .product {
        padding-top: 0 !important;
    }

    /* A4: 検索結果(`/?s=...`) 商品画像が一時的に白丸プレースホルダー
       初期画像レンダリング前の placeholder を背景色付きに */
    .qd_food_card__img,
    .qd_product_archive__img,
    .woocommerce ul.products li.product a img {
        background: #f5efe7;
        min-height: 120px;
    }

    /* A5: TOPカルーセル「人気のおすすめメニュー」左端見切れ
       bxsliderの前スライド「999円」吹き出しが見切れる */
    .qd_top_recommend_carousel,
    .bxslider-wrapper,
    .bx-wrapper {
        overflow: hidden !important;
    }
    .qd_top_recommend_carousel .bx-viewport {
        overflow: hidden !important;
    }

    /* A6: チェックアウト Step1 会社情報セクション
       ラベル+注意書きが横2カラム→右側縦長詰まる、ラジオも改行
       SPで上下積み重ね + ラジオ横並び */
    .wwcs_form_row,
    .wwcs_company_section .wwcs_form_row,
    .wwcs_section .wwcs_field_row,
    .wwcs_label_with_notice {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px;
    }
    .wwcs_section_label,
    .wwcs_label_with_notice > .wwcs_label,
    .wwcs_form_row > label {
        width: 100% !important;
        max-width: 100% !important;
    }
    .wwcs_notice_box,
    .wwcs_company_notice {
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 4px;
    }
    /* お客様区分ラジオは横並びを維持 */
    .wwcs_radio_group,
    .qd_customer_type_radio {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap;
        gap: 16px;
    }
    .wwcs_radio_group label,
    .qd_customer_type_radio label {
        white-space: nowrap;
        flex: 0 1 auto;
    }

    /* A7: 健康ページ ヘッダー〜本文間の大きな空白
       上部画像の高さ取得遅延 or padding 過大 → 縮小 */
    .page-template-page-health .qd_quality_section,
    .page-health .qd_quality_section,
    body.page-template-page-health main {
        padding-top: 0 !important;
    }
    .qd_quality_heading {
        margin-top: 16px;
    }
}

/* ============================================================
   SP表示調整 2026-06-17 (E群: 2回目巡回 致命的・重大破綻)
   棚卸し: docs/sp-overhaul-20260617/findings.md (E群セクション)
   ロールバック: このブロック全体を削除すれば元に戻る
============================================================ */
@media (max-width: 768px) {

    /* E0-1: カートテーブル td::before が `: 値` だけ表示
       data-title 属性が null で、CSS既存ルール content: attr(data-title) ": " が
       ": " のみ出力 → 値だけが裸で並んで判読不可
       対応: クラス別に content を明示上書き */
    table.shop_table_responsive.cart tr td.product-remove::before {
        content: "削除" !important;
    }
    table.shop_table_responsive.cart tr td.product-sku::before {
        content: "商品番号: " !important;
    }
    table.shop_table_responsive.cart tr td.product-thumbnail::before {
        content: "" !important;
        display: none !important;
    }
    table.shop_table_responsive.cart tr td.product-name::before {
        content: "商品名: " !important;
    }
    table.shop_table_responsive.cart tr td.product-price::before {
        content: "単価: " !important;
    }
    table.shop_table_responsive.cart tr td.product-quantity::before {
        content: "数量: " !important;
    }
    table.shop_table_responsive.cart tr td.product-subtotal::before {
        content: "小計: " !important;
    }
    table.shop_table_responsive.cart tr td::before {
        font-weight: 700;
        color: #1e1e1e;
        margin-right: 4px;
    }

    /* E0-2: FAQアコーディオン質問行 アイコン+質問+トグルの3カラム破綻
       icon 70px + question 250px + toggle 40px = 360px が padding 60px 込みで超過
       質問文 font-size 28px がアイコン上に被さって読めない
       対応: padding 圧縮 + アイコン縮小 + 質問 flex:1 + font-size 縮小 */
    .qd_faq_header {
        padding: 16px !important;
        gap: 12px;
        align-items: center;
    }
    .qd_faq_icon_box {
        width: 44px !important;
        height: 44px !important;
        flex: 0 0 44px;
    }
    .qd_faq_icon_box img,
    .qd_faq_icon_box svg {
        width: 100%;
        height: auto;
    }
    .qd_faq_question {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0;
        font-size: 16px !important;
        line-height: 1.5 !important;
        word-break: break-word;
    }
    .qd_faq_toggle {
        width: 32px !important;
        height: 32px !important;
        flex: 0 0 32px;
        font-size: 24px;
    }

    /* E1: TOP「商品タイプから選ぶ」セクションの巨大空白＋内部縦スクロール
       qd_container が clientH = 3370, scrollH = 3384 で内部スクロールバー露出
       対応: container の overflow-y を visible 化 (祖先側で y-scroll する) */
    .qd_container {
        overflow-y: visible !important;
    }

    /* E2: TOP「予算から選ぶ」価格チップカルーセル 左右見切れ
       carousel viewport の padding 不足で先頭/末尾チップが切れる */
    .qd_top_budget_carousel,
    .qd_budget_chip_wrap,
    .qd_top_price_chips,
    .qd_top_section .bx-viewport {
        padding-left: 16px;
        padding-right: 16px;
    }

    /* E3: 検索結果商品カード 円形画像の上半分のみ表示
       A4で背景色は当てたが、円形クリップが画像高さ不足で上半分しか描画されない
       対応: 高さを aspect-ratio で確保 + object-fit cover */
    .qd_food_card__img,
    .qd_product_archive__img {
        aspect-ratio: 1 / 1;
        width: 100%;
        overflow: hidden;
    }
    .qd_food_card__img img,
    .qd_product_archive__img img,
    .woocommerce ul.products li.product a img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    /* E4: 衛生管理 キッチン画像直後の巨大空白
       lazyload の height:auto が SP で計算失敗 → aspect-ratio で確保 */
    .page-template-page-health img,
    .page-health img,
    body.page-template-page-health .qd_kitchen_image,
    body.page-template-page-health video {
        aspect-ratio: 16 / 9;
        width: 100%;
        height: auto;
        object-fit: cover;
    }
    body.page-template-page-health .qd_quality_section + section,
    body.page-template-page-health .qd_quality_section + div {
        min-height: 0 !important;
    }

    /* E5/E6/E8: チェックアウト/マイアカウント フォーム行 入力フィールド2カラム維持
       A6で .wwcs_form_row 全体を column 化しているが、その内側の
       「ラベル左 + 入力右」の構造が別セレクタ (.wwcs_field_row等) で 2カラム残存
       電話番号3分割が右にはみ出すのも同じ箇所
       対応: 各種フォーム行を columnに、入力ラッパを w:100%、3分割は wrap */
    .wwcs_section .wwcs_form_row,
    .wwcs_field_row,
    .wwcs_label_input_row,
    .qd_billing_field_row,
    .qd_address_field_row,
    .qd_company_field_row {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px !important;
    }
    .wwcs_section .wwcs_form_row > label,
    .wwcs_field_row > label,
    .wwcs_label,
    .qd_billing_field_row > label,
    .qd_address_field_row > label,
    .qd_company_field_row > label {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
    }
    .wwcs_section .wwcs_form_row > .wwcs_input_wrap,
    .wwcs_section .wwcs_form_row > input,
    .wwcs_section .wwcs_form_row > select,
    .wwcs_field_row > input,
    .wwcs_field_row > select,
    .wwcs_field_row > .wwcs_input_wrap,
    .qd_billing_field_row > input,
    .qd_billing_field_row > .qd_input_wrap,
    .qd_address_field_row > input,
    .qd_company_field_row > input {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    /* 電話番号3分割 (会社代表番号/電話番号) が右にはみ出す
       3つの input を flex で wrap し、合計幅をビューポートに収める */
    .qd_phone_split,
    .qd_phone_input_group,
    .wwcs_phone_split,
    .qd_company_tel_group,
    .qd_postal_split {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 4px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .qd_phone_split > input,
    .qd_phone_input_group > input,
    .wwcs_phone_split > input,
    .qd_company_tel_group > input,
    .qd_postal_split > input {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        width: auto !important;
        box-sizing: border-box !important;
        text-align: center;
    }
    .qd_phone_split > .qd_phone_sep,
    .qd_phone_input_group > span,
    .wwcs_phone_split > span,
    .qd_company_tel_group > span,
    .qd_postal_split > span {
        flex: 0 0 auto;
    }

    /* E7: チェックアウト「【注意点】」と「*は必須項目」の間に巨大空白
       空セクションの margin/padding 累積 → 該当領域の縦余白圧縮 */
    .wwcs_section + .wwcs_section,
    .wwcs_company_section + .wwcs_notice_section {
        margin-top: 16px !important;
    }
    .wwcs_section:empty,
    .wwcs_form_row:empty {
        display: none !important;
    }
    .wwcs_required_notice,
    .wwcs_form_actions {
        margin-top: 16px !important;
    }

    /* E-fix (2026-06-17): E群コミット後に未マッチだった4項目を実DOMセレクタで再修正
       原因: チェックアウト/マイページのフォーム行は .qd-reg-row / .qd-reg-label、
             検索結果画像ラッパは .qd_card_img_wrap、電話番号は .qd-reg-phone-row、
             郵便番号は .qd-reg-post-row が正しいセレクタだった */

    /* E5/E6/E8 再修正: マイページ/チェックアウト フォーム行 縦並び */
    .qd-reg-row {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px !important;
    }
    .qd-reg-label {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
    }
    .qd-reg-row > input,
    .qd-reg-row > select,
    .qd-reg-row > textarea,
    .qd-reg-row > .qd-reg-input,
    .qd-reg-row > .qd-reg-input-wrap,
    .qd-reg-row > .qd-reg-name-row,
    .qd-reg-row > .qd-reg-phone-row,
    .qd-reg-row > .qd-reg-post-row,
    .qd-reg-row > .qd-reg-address-row {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    /* 電話番号3分割 / 郵便番号2分割 はSP幅に収める */
    .qd-reg-phone-row,
    .qd-reg-post-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 6px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .qd-reg-phone-row > input,
    .qd-reg-post-row > input {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: none !important;
        box-sizing: border-box !important;
        text-align: center;
    }
    .qd-reg-phone-row > span,
    .qd-reg-phone-row > .qd-reg-phone-sep,
    .qd-reg-post-row > span,
    .qd-reg-post-row > .qd-reg-post-sep {
        flex: 0 0 auto;
    }

    /* E3 再修正: 検索結果商品カードの円形画像 上半分のみ表示
       .qd_card_img_wrap が border-radius:50%, width 230 / height 180 →
       円形に対し高さ不足で下半分クリップ。aspect-ratio で 1:1 確保 */
    .qd_card_img_wrap {
        aspect-ratio: 1 / 1 !important;
        height: auto !important;
        overflow: hidden !important;
    }
    .qd_card_img_wrap img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    /* E2 再修正: TOP「予算から選ぶ」価格チップカルーセル 左右見切れ
       bxslider の一般構造: .bx-wrapper / .bx-viewport / .bx-pager
       viewport 自体に padding は無理なので、内側 ul に左右マージン */
    .qd_top_section .bx-wrapper,
    .home .bx-wrapper {
        margin-left: 16px !important;
        margin-right: 16px !important;
    }

    /* F1: 価格チップカルーセル 真の原因 (2026-06-17 追加調査)
       実DOM調査で判明 — bxslider ではなく overflow-x:auto の OL横スクロール:
         OL #tab-budget (overflow-x:auto, padding 0, scrollW 513 > clientW 448)
         親 .qd_rec_sub_tabs_wrapper は padding-inline:16px だがOLには効かず
       → OL 自体に padding-inline:16px を入れ、スクロール開始位置を内側に */
    #tab-budget,
    #tab-people,
    .qd_rec_sub_tabs_wrapper > ol.sub-tabs {
        padding-left: 16px !important;
        padding-right: 16px !important;
        scroll-padding-inline: 16px !important;
        box-sizing: border-box !important;
    }
    /* 親 wrapper は padding を 0 に戻して OL に任せる (二重 padding 回避) */
    .qd_rec_sub_tabs_wrapper {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* G1 (2026-06-17): カート追加ポップアップ「詳細を見る」が縦書きに崩れる
       A1 で .qd_adding_cart_popup__ups-card-link を当てたが、真クラスは A.qd_cart_btn。
       実DOM: A.qd_cart_btn (padding 13px 31px, font-size 16px, width 93px)
              親 .qd_adding_cart_popup__ups-card-foot (186px、2カラム横並び)
              5文字「詳細を見る」+ padding 62px が 93px枠に収まらず縦書きで4行
       対応: padding 縮小・font-size 縮小・white-space nowrap・min-width 0 */
    .qd_adding_cart_popup .qd_cart_btn,
    .qd_adding_cart_popup__ups-card-foot .qd_cart_btn,
    .qd_adding_cart_popup__ups-card .qd_cart_btn {
        padding: 8px 12px !important;
        font-size: 13px !important;
        white-space: nowrap !important;
        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
        word-break: keep-all !important;
        min-width: 0 !important;
        line-height: 1.3 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    /* G2 (2026-06-17): カート追加ポップアップ「単価」「3,024円」が縦書き
       C4 で .qd_ups_card_price 等を当てたが、真クラスは .qd_adding_cart_popup__pnl-meta-col。
       実DOM: .qd_adding_cart_popup__pnl-meta-col (73x57)
                ├─ SPAN.qd_adding_cart_popup__pnl-meta-lbl "単価" (13x37 ← 1文字幅縦書き!)
                └─ DIV.qd_adding_cart_popup__pnl-meta-val (50x57) > Price
       対応: meta-col を flex row, ラベル inline, 値の幅を auto に */
    .qd_adding_cart_popup__pnl-meta-col,
    .qd_adding_cart_popup__ups-card .qd_adding_cart_popup__pnl-meta-col {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 6px !important;
        flex-wrap: nowrap !important;
        width: auto !important;
        height: auto !important;
        white-space: nowrap !important;
    }
    .qd_adding_cart_popup__pnl-meta-lbl {
        display: inline-block !important;
        width: auto !important;
        height: auto !important;
        writing-mode: horizontal-tb !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        flex: 0 0 auto !important;
        font-size: 13px !important;
    }
    .qd_adding_cart_popup__pnl-meta-val {
        display: inline-flex !important;
        align-items: center !important;
        width: auto !important;
        height: auto !important;
        white-space: nowrap !important;
        flex: 1 1 auto !important;
        font-size: 13px !important;
    }
    .qd_adding_cart_popup__pnl-meta-val .woocommerce-Price-amount,
    .qd_adding_cart_popup__pnl-meta-val .amount {
        white-space: nowrap !important;
        writing-mode: horizontal-tb !important;
    }
    /* card-foot 全体を縦並びにして「単価/値」行と「詳細を見る」行を整理 */
    .qd_adding_cart_popup__ups-card-foot {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        align-items: stretch !important;
    }

    /* G3 (2026-06-17): カート追加ポップアップが bottom-nav に隠れる (致命的)
       実測: overlay z-index 2000 < bottom-nav z-index 9999
       結果: ポップアップ「詳細を見る」ボタン (top:627) が bottom-nav (top:628) と
       完全に重なって見えない
       → overlay/popup の z-index を bottom-nav より上に */
    .qd_adding_cart_popup__overlay {
        z-index: 10000 !important;
    }
    .qd_adding_cart_popup {
        z-index: 10001 !important;
    }

    /* G4 (2026-06-17): カート画面「商品を探す」ボタンが2行折り返し
       実測: A.wwdc_shop_page (width 212, padding 11.5px 78.38px, white-space normal)
       padding-inline 78.38px が過剰で「商品を探す」5文字が折り返し
       姉妹ボタン .wwdc_clearcart_page は nowrap で1行維持なので合わせる */
    .wwdc_shop_page,
    a.wwdc_shop_page {
        white-space: nowrap !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        height: auto !important;
        min-height: 0 !important;
        line-height: 1.4 !important;
    }

    /* G5 (2026-06-17): カート「注意事項に同意して注文に進む」ボタンが縦書き
       致命的: ボタンが 82x340px で 14文字が1文字ずつ縦に詰まっていた
       原因: .wwdc__cart_intervin (flex-direction:row, w:480) で SPでも
             左カートテーブル + 右注文ボタン128pxの2カラム維持。狭すぎ
       → SP で column 化して各カラムを横幅フル使用 */
    .wwdc__cart_intervin {
        flex-direction: column !important;
        gap: 16px;
    }
    .wwdc_cart_leftes,
    .wwdc_cart_rightes,
    .wwdc__cart_intervin > * {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
    }
    .qd_member_option,
    .qd_member_option.qd_cart_box,
    .qd_member_block {
        width: 100% !important;
        max-width: 100% !important;
    }
    a.qd_testimonial__read-more {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 14px 16px !important;
        font-size: 15px !important;
        white-space: normal !important;
        word-break: keep-all !important;
        writing-mode: horizontal-tb !important;
        line-height: 1.4 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    /* G6 (2026-06-17): SP メニューモーダルが開かない致命破綻
       #qd_head は opacity:0 / visibility:hidden の状態。
       JS (custom-trc.js 末尾 G6) で .qd_menu_open クラスを付与する想定。
       本ルールで .qd_menu_open 時に表示。 */
    #qd_head.qd_header_menu.qd_menu_open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
    /* 閉じている状態は明示的に hidden 固定 (CSS優先度競合で表示残り対策) */
    #qd_head.qd_header_menu:not(.qd_menu_open) {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
    body.qd_menu_open_body {
        overflow: hidden !important;
    }

    /* G16 (2026-06-17): TOP「盛り合わせから商品を探す」赤ボタンが
       画像の上端に被って画像をクリップしてしまう
       実DOM: .qd_plate_card_badge position:absolute, top:-31px で
       カード(画像) 上端から -31px 配置。 ボタン高さ41 で 41-31=10px が
       画像上に被っていた
       → top:-41px でボタン全体を画像の外側に出す */
    .qd_plate_card_badge {
        top: -41px !important;
        margin-bottom: 12px;
    }

    /* G15 (2026-06-17): 対応エリア一覧の上の区切り線が左寄り
       実DOM: .qd_sec_divider が margin:"20px 280px 20px 0px" で
       right margin 280px のため左に押されていた (PC2カラム想定)
       → SP では margin:20px auto で中央配置 */
    .qd_sec_divider {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* G13 (2026-06-17): メニューモーダル閉じても暗いレイヤーが残る
       実DOM計測: NAV#sideMenu.qd_side_menu (PC用サイドメニュー) が
       rgba(255,255,255,0.8) で z-index:1500、 SPでも常時表示残存
       → SP では完全非表示 + pointer-events:none */
    nav#sideMenu,
    nav.qd_side_menu,
    #sideMenu.qd_side_menu {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
        opacity: 0 !important;
    }

    /* G12 (2026-06-17): TOP「商品タイプから選ぶ」カード画像高さバラバラ
       実測: .qd_category_img が 232x154 / 232x260 / 232x180 とアスペクト比が
       バラバラで、カード4枚の画像高さが不揃い → 一品料理だけ大きく見える
       対応: aspect-ratio 固定 + object-fit:cover で全カード画像を統一 */
    .qd_category_img,
    img.qd_category_img {
        aspect-ratio: 232 / 180 !important;
        width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
        display: block !important;
    }

    /* G12-2 (2026-06-17): 価格チップ OL の justify-content:center で
       scrollWidth>clientWidth時に両端からはみ出し、LI[0]「1,000〜1,999円」が
       left:-33px で画面外へ隠れていた
       対応: justify-content:flex-start で左寄せ固定 (横スクロールで右側を見る) */
    #tab-budget,
    #tab-people,
    .qd_rec_sub_tabs_wrapper > ol.sub-tabs {
        justify-content: flex-start !important;
    }

    /* G11-fix (2026-06-17): チェックアウト「住所・所在地」「会社情報」が
       2カラム横並びの真の原因
       実DOM: 「住所・所在地」の親が .wwcs_section_title_red で display:grid
       2列グリッドで「ラベル + 注意ブロック」を配置していた
       対応: display:block 化 + grid-template-columns 解除 */
    .wwcs_section_title_red,
    .wwcs_section_title,
    [class*="wwcs_section_title"] {
        display: block !important;
        grid-template-columns: none !important;
    }

    /* G11 (2026-06-17): チェックアウト「住所・所在地」「会社情報」見出し +
       隣のピンク注意ブロックが2カラム横並び (拡大目視で発覚)
       実機: H3.wwcs_confirm_sub_title (Step2) + 隣の注意ブロックが横並び
       対応: 親 .wwcs_confirm_section や類似コンテナを column 化、
       見出しと注意ブロックを横幅100%で縦並びに */
    .wwcs_confirm_section,
    .wwcs_confirm_section_inner,
    .qd_reg__step_inner,
    .wwcs_form_section,
    .wwcs_form_section_inner {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
    }
    .wwcs_confirm_sub_title,
    .wwcs_section_title,
    .wwcs_form_section_title {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
        margin-bottom: 8px;
    }
    /* 注意ブロック (赤枠/ピンク) */
    .wwcs_company_notice,
    .wwcs_address_notice,
    .wwcs_section_notice,
    .qd_reg__step_inner .wwcs_notice_box,
    [class*="wwcs"][class*="notice"] {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        flex: 0 0 auto !important;
    }

    /* G10 (2026-06-17): TOPメインビジュアルの overlay が効いていない
       B1で `.wtrn_secondry_banner / .wtrn_log_reg` には 35% 黒 overlay 当てたが、
       TOPのヒーロー `.qd_home_banner_wrapper` には未適用で
       「当日注文も12時までOK！」「クイックデリスタイル」ロゴが食材背景に埋もれる
       → TOP用のクラスにも overlay + text-shadow 追加 */
    .qd_home_banner_wrapper,
    .qd_home_banner_container {
        position: relative;
    }
    .qd_home_banner_wrapper::before {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.4);
        pointer-events: none;
        z-index: 0;
    }
    .qd_home_banner_wrapper > * {
        position: relative;
        z-index: 1;
    }
    .qd_home_banner_title_main,
    .qd_home_banner_wrapper h1,
    .qd_home_banner_wrapper h2,
    .qd_home_banner_wrapper p,
    .qd_home_banner_wrapper .qd_home_banner_sub_text {
        text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
    }
    /* ヘッダーロゴ自体は overlay の上にあるので text-shadow で読みやすく */
    .qd_home_banner_wrapper .qd_logo,
    .qd_home_banner_wrapper .qd_logo_text,
    .qd_home_banner_wrapper .qd_logo_subtext {
        text-shadow: 0 2px 6px rgba(0, 0, 0, 0.7);
    }

    /* G9 (2026-06-17): 商品カードの「カートに追加」「カートに追加済み」が
       狭いカード幅で2行に折り返し
       実測: button.add_to_cart_button (w:170 padding:13px 31px ws:normal)
       → nowrap + padding 縮小で1行表示 */
    .add_to_cart_button,
    button.add_to_cart_button,
    .button.add_to_cart_button,
    a.add_to_cart_button {
        white-space: nowrap !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        font-size: 14px !important;
        line-height: 1.3 !important;
        word-break: keep-all !important;
        height: auto !important;
        min-height: 0 !important;
    }

    /* G7: メニュー内に閉じる × ボタンが存在しないため動的挿入
       右上にフローティング、十分なタップ領域 (44x44) */
    .qd_g7_close {
        position: fixed !important;
        top: 12px !important;
        right: 12px !important;
        width: 44px !important;
        height: 44px !important;
        border-radius: 50% !important;
        border: none !important;
        background: #fff !important;
        color: #1e1e1e !important;
        font-size: 28px !important;
        line-height: 1 !important;
        cursor: pointer !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
        z-index: 10010 !important;
        display: none !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
    }
    #qd_head.qd_menu_open .qd_g7_close,
    body.qd_menu_open_body .qd_g7_close {
        display: flex !important;
    }

    /* G16-v3 (2026-06-17): G16/G16-v2 を @media 外に置いていたが PC でも
       バッジが pill 化・位置がずれていた。SP のみに押し戻し。
       元 PC: top:-31px / max-width:366px / width:100% / padding:13px 30px / border-radius:40px
       SP のみ pill ボタン化 (フィット幅 + 中央寄せ + 角丸 + shadow) */
    .qd_plate_card_badge {
        top: -22px !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        width: auto !important;
        max-width: calc(100% - 32px) !important;
        padding: 10px 28px !important;
        border-radius: 999px !important;
        box-shadow: 0 4px 12px rgba(212, 0, 26, 0.25) !important;
        white-space: nowrap !important;
    }

    /* G17-v3 (2026-06-17): G17 を @media 外に置いていたが PC でも
       advice_tag_wrap の justify-content/gap が変わっていた。SP のみに押し戻し。
       元 SP575px以下: flex-direction:column → アイコン+テキストが縦積み崩壊
       SP のみ flex row 強制 + 中央寄せで「1プレートは4〜5人前です」を整える */
    .qd_plate_advice_tag_wrap {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 12px !important;
        flex-wrap: wrap !important;
    }
    .qd_plate_advice_tag_wrap > img,
    .qd_plate_advice_tag_wrap > svg,
    .qd_plate_advice_tag_wrap > [class*="icon"] {
        flex: 0 0 auto !important;
        width: 24px !important;
        height: 24px !important;
        margin: 0 !important;
    }
    .qd_plate_advice_tag_wrap > span,
    .qd_plate_advice_tag_wrap > p {
        flex: 0 1 auto !important;
        width: auto !important;
        text-align: left !important;
        margin: 0 !important;
    }

    /* G18-v2 (2026-06-17): G18 を @media 外に置いていたが PC では元から横並びで
       gap/justify-content/wrap の上書きが余計だった。SP のみに押し戻し。
       元 SP575px以下: flex-direction:column → 10名/20名/30名 が縦並び
       SP のみ flex row 強制で 3 カードを横並びに */
    .qd_plate_options {
        flex-direction: row !important;
        justify-content: space-around !important;
        align-items: stretch !important;
        gap: 8px !important;
        flex-wrap: wrap !important;
    }
    .qd_plate_options_wrap {
        flex: 1 1 0 !important;
        min-width: 100px !important;
    }
}
