/* カスタマイズ用CSS */
.pc { display: block; }
.sp { display: none; }
@media only screen and (max-width: 750px) {
.pc { display: none; }
.sp { display: block; }
}
.slick-slider {
    margin-bottom: 0px;
}

.ec-blockTopBtn {
    bottom: 0px;
}

/* ====================================
   那須自然農園 スマホ固定メニュー
   白ベース・ナチュラルデザイン
   SVGアイコン統一版
   ==================================== */

/* PCでは非表示 */
#sp-fixed-menu {
    display: none;
}

/* スマートフォン専用 */
@media (max-width: 767px) {

    /* 固定フッター全体 */
    #sp-fixed-menu {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 9999;
        background: #ffffff;
        padding-bottom: env(safe-area-inset-bottom);
        box-shadow: 0 -2px 10px rgba(0,0,0,.08);
    }

    /* 横並び */
    #sp-fixed-menu ul {
        display: flex;
        width: 100%;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    /* 各メニュー */
    #sp-fixed-menu li {
        flex: 1;
        min-width: 0;
        margin: 0;
        padding: 0;
        border-right: 1px solid #e8e8e0;
    }

    #sp-fixed-menu li:last-child {
        border-right: none;
    }

    /* お買い物かご：稲穂オレンジ */
    #sp-fixed-menu .menu-cart {
        background: #eea044;
    }

    /* ホーム：白 */
    #sp-fixed-menu .menu-home {
        background: #ffffff;
    }

    /* お問い合わせ：白 */
    #sp-fixed-menu .menu-contact {
        background: #ffffff;
    }

    /* ボタン共通 */
    #sp-fixed-menu li a {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 4px;
        width: 100%;
        min-height: 58px;
        padding: 6px 3px;
        box-sizing: border-box;
        color: #ffffff;
        font-size: 12px;
        font-weight: 600;
        line-height: 1.3;
        text-decoration: none;
        text-align: center;
        -webkit-tap-highlight-color: transparent;
    }

    /* ホーム・お問い合わせの文字色 */
    #sp-fixed-menu .menu-home a,
    #sp-fixed-menu .menu-contact a {
        color: #386b45;
    }

    /* アイコン共通 */
    #sp-fixed-menu .menu-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 25px;
        height: 25px;
        flex-shrink: 0;
    }

    /* SVGアイコン統一 */
    #sp-fixed-menu .menu-icon svg {
        display: block;
        width: 24px;
        height: 24px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    /* タップ時 */
    #sp-fixed-menu li a:active {
        background: rgba(0,0,0,.06);
    }

    /* 買い物かごのタップ時 */
    #sp-fixed-menu .menu-cart a:active {
        background: rgba(0,0,0,.12);
    }

    /* キーボード操作時 */
    #sp-fixed-menu li a:focus-visible {
        outline: 2px solid #245a36;
        outline-offset: -3px;
    }

    /* 本文が固定メニューに隠れないように */
    body {
        padding-bottom: calc(
            70px + env(safe-area-inset-bottom)
        );
    }
}



/* ====================================
   那須自然農園 スマホ固定メニュー
   白ベース・ナチュラルデザイン
   ==================================== */

/* PCでは非表示 */
#sp-fixed-menu {
    display: none;
}

/* スマートフォン専用 */
@media (max-width: 767px) {

    /* 固定フッター全体 */
    #sp-fixed-menu {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 9999;
        background: #ffffff;
        padding-bottom: env(safe-area-inset-bottom);
        box-shadow: 0 -2px 10px rgba(0,0,0,.08);
    }

    /* 横並び */
    #sp-fixed-menu ul {
        display: flex;
        width: 100%;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    /* 各メニュー */
    #sp-fixed-menu li {
        flex: 1;
        min-width: 0;
        margin: 0;
        padding: 0;
        border-right: 1px solid #e8e8e0;
    }

    #sp-fixed-menu li:last-child {
        border-right: none;
    }

    /* お買い物かご：稲穂オレンジ */
    #sp-fixed-menu .menu-cart {
        background: #eea044;
    }

    /* ホーム：白 */
    #sp-fixed-menu .menu-home {
        background: #ffffff;
    }

    /* お問い合わせ：白 */
    #sp-fixed-menu .menu-contact {
        background: #ffffff;
    }

    /* ボタン共通 */
    #sp-fixed-menu li a {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 3px;
        width: 100%;
        min-height: 58px;
        padding: 6px 3px;
        box-sizing: border-box;
        color: #ffffff;
        font-size: 12px;
        font-weight: 600;
        line-height: 1.3;
        text-decoration: none;
        text-align: center;
    }

    /* ホーム・お問い合わせの文字色 */
    #sp-fixed-menu .menu-home a,
    #sp-fixed-menu .menu-contact a {
        color: #386b45;
    }

    /* アイコン */
    #sp-fixed-menu .menu-icon {
        font-size: 24px;
        line-height: 1;
        font-weight: normal;
    }

    /* タップ時 */
    #sp-fixed-menu li a:active {
        background: rgba(0,0,0,.06);
    }

    /* 買い物かごのタップ時 */
    #sp-fixed-menu .menu-cart a:active {
        background: rgba(0,0,0,.12);
    }

    /* 本文が固定メニューに隠れないように */
    body {
        padding-bottom: calc(70px + env(safe-area-inset-bottom));
    }
}





/* 那須自然農園 固定ヘッダー */
.farm-header {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1150px;
    height: 125px;
    margin: 0;
    padding: 0;
    background: transparent;
    z-index: 1000;
}
/* テーブル */
.farm-header-table {
    width: 1150px;
    height: 125px;
    margin: 0;
    padding: 0;
    border: 0;
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: fixed;
    background: transparent;
}
/* セル */
.farm-header-table td {
    padding: 0;
    border: 0;
    line-height: 0;
    vertical-align: top;
    background: transparent;
}
/* リンク */
.farm-header-table a {
    display: block;
    line-height: 0;
    text-decoration: none;
}
/* 画像 */
.farm-header-table img {
    display: block;
    max-width: none;
    border: 0;
}
/* PC表示 */
@media screen and (min-width: 768px) {
    body {
        padding-top: 125px;
    }
}
/* スマートフォン非表示 */
@media screen and (max-width: 767px) {
    .farm-header {
        display: none;
    }
}




/* 那須自然農園：ヘッダーカート専用（既存の開閉機能は維持） */
.ec-cartNaviWrap .ec-cartNavi {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-sizing: border-box;
    min-height: 58px;
    padding: 9px 16px;
    background: #e87918;
    border: 2px solid #fff;
    border-radius: 14px;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 3px 9px rgba(93, 53, 13, .20);
    transition: background .2s ease, box-shadow .2s ease;
}
.ec-cartNaviWrap .ec-cartNavi:hover,
.ec-cartNaviWrap .ec-cartNavi:focus-within {
    background: #c85e08;
    box-shadow: 0 4px 12px rgba(93, 53, 13, .30);
}
.ec-cartNaviWrap .ec-cartNavi__icon {
    position: relative;
    flex: 0 0 auto;
    font-size: 24px;
    color: #fff;
}
.ec-cartNaviWrap .ec-cartNavi__badge {
    background: #b91c1c;
    color: #fff;
}
.ec-cartNaviWrap .ec-cartNavi__label {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
    color: #fff;
    line-height: 1.3;
}
.ec-cartNaviWrap .farm-cart-title {
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}
.ec-cartNaviWrap .ec-cartNavi__price {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
}
@media (max-width: 767px) {
    .ec-cartNaviWrap .ec-cartNavi { gap: 7px; min-height: 46px; padding: 6px 9px; border-radius: 11px; }
    .ec-cartNaviWrap .ec-cartNavi__icon { font-size: 21px; }
    .ec-cartNaviWrap .farm-cart-title { font-size: 11px; }
    .ec-cartNaviWrap .ec-cartNavi__price { font-size: 12px; }
}

.rice-campaign { width: 100%; max-width: 1200px; margin: 35px auto; padding: 0 20px; box-sizing: border-box; }
.rice-campaign__inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.rice-campaign__item { display: block; min-width: 0; overflow: hidden; border-radius: 10px; transition: transform .25s, box-shadow .25s; }
.rice-campaign__item picture { display: block; }
.rice-campaign__item img { display: block; width: 100%; height: auto; aspect-ratio: 2/1; object-fit: contain; }
.rice-campaign__item:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,.15); }

@media (max-width: 767px) {
    .rice-campaign { margin: 20px auto; padding: 0 12px; }
    .rice-campaign__inner { grid-template-columns: 1fr; gap: 12px; }
    .rice-campaign__item { border-radius: 8px; }
    .rice-campaign__item img { width: 100%; height: auto; aspect-ratio: auto; }
    .rice-campaign__item:hover { transform: none; box-shadow: none; }
}
@media (prefers-reduced-motion: reduce) {
    .rice-campaign__item { transition: none; }
}


.nf-side-banner { width: 100%; margin: 0 0 25px; }
.nf-side-banner__title { margin: 0 0 12px; padding: 12px 15px; background: #184b2e; color: #fff; border-radius: 6px; font-size: 16px; font-weight: 700; }
.nf-side-banner__list { display: flex; flex-direction: column; gap: 12px; }
.nf-side-banner__item { display: block; overflow: hidden; border: 1px solid #dce5d6; border-radius: 8px; transition: transform .25s, box-shadow .25s; }
.nf-side-banner__item img { display: block; width: 100%; height: auto; transition: transform .3s; }
.nf-side-banner__item:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0,0,0,.12); }
.nf-side-banner__item:hover img { transform: scale(1.03); }
@media (max-width: 767px) {
    .nf-side-banner__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    .nf-side-banner__title { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
    .nf-side-banner__item, .nf-side-banner__item img { transition: none; }
}

/* 左カラムの右側に余白を確保 */
@media (min-width: 768px) {
    .ec-layoutRole__left {
        padding-right: 24px;
        box-sizing: border-box;
    }
}


.nf-category-nav { width:100%; margin:0 0 24px; border:1px solid #dce5d6; border-radius:10px; overflow:hidden; background:#fbfcf8; box-sizing:border-box; }
.nf-category-nav__head { padding:15px 18px; background:#184b2e; color:#fff; }
.nf-category-nav__head strong { display:block; font-size:16px; font-weight:700; }
.nf-category-nav__head small { display:block; margin-top:3px; color:#d8e5d5; font-size:10px; letter-spacing:.12em; }
.nf-category-nav__list,.nf-category-nav__children { list-style:none; margin:0; padding:0; }
.nf-category-nav__list { padding:8px 12px; }
.nf-category-nav__list > li { border-bottom:1px solid #e1e8dc; }
.nf-category-nav__list > li:last-child { border-bottom:none; }
.nf-category-nav__link { display:flex; align-items:center; gap:7px; padding:11px 5px; color:#184b2e; font-size:14px; font-weight:600; line-height:1.5; text-decoration:none; transition:background .2s,color .2s; }
.nf-category-nav__link:hover { color:#47823f; background:#eef4e9; text-decoration:none; }
.nf-category-nav__leaf { flex-shrink:0; color:#8aa56c; font-size:19px; line-height:1; }
.nf-category-nav__name { flex:1; min-width:0; overflow-wrap:anywhere; }
.nf-category-nav__stock { flex-shrink:0; display:inline-block; padding:3px 7px; border-radius:20px; font-size:10px; font-weight:600; white-space:nowrap; line-height:1.4; background:#e8f2e6; color:#184b2e; }
.nf-category-nav__children { margin:0 0 8px 12px; padding-left:10px; border-left:2px solid #dce5d6; }
.nf-category-nav__children .nf-category-nav__link { padding:7px 5px; font-size:12px; font-weight:400; }
.nf-category-nav__children .nf-category-nav__leaf { font-size:15px; }
.nf-category-nav__children .nf-category-nav__stock { font-size:9px; padding:2px 6px; }
@media(max-width:767px) { .nf-category-nav__head { padding:13px 15px; } .nf-category-nav__link { font-size:13px; } }


.nf-category-nav-sp { width:100%; margin:0 0 24px; border:1px solid #dce5d6; border-radius:10px; overflow:hidden; background:#fbfcf8; box-sizing:border-box; }
.nf-category-nav-sp__head { padding:15px 18px; background:#184b2e; color:#fff; }
.nf-category-nav-sp__head strong { display:block; font-size:16px; font-weight:700; }
.nf-category-nav-sp__head small { display:block; margin-top:3px; color:#d8e5d5; font-size:10px; letter-spacing:.12em; }
.nf-category-nav-sp__list,.nf-category-nav-sp__children { list-style:none; margin:0; padding:0; }
.nf-category-nav-sp__list { padding:8px 12px; }
.nf-category-nav-sp__list > li { border-bottom:1px solid #e1e8dc; }
.nf-category-nav-sp__list > li:last-child { border-bottom:none; }
.nf-category-nav-sp__link { display:flex; align-items:center; gap:7px; padding:14px 6px; color:#184b2e; font-size:15px; font-weight:600; line-height:1.5; text-decoration:none; transition:background .2s,color .2s; }
.nf-category-nav-sp__link:hover { color:#47823f; background:#eef4e9; text-decoration:none; }
.nf-category-nav-sp__leaf { flex-shrink:0; color:#8aa56c; font-size:19px; line-height:1; }
.nf-category-nav-sp__name { flex:1; min-width:0; overflow-wrap:anywhere; }
.nf-category-nav-sp__stock { flex-shrink:0; display:inline-block; padding:3px 7px; border-radius:20px; font-size:10px; font-weight:600; white-space:nowrap; line-height:1.4; background:#e8f2e6; color:#184b2e; }
.nf-category-nav-sp__children { margin:0 0 8px 12px; padding-left:10px; border-left:2px solid #dce5d6; }
.nf-category-nav-sp__children .nf-category-nav-sp__link { padding:11px 6px; font-size:14px; font-weight:400; }
.nf-category-nav-sp__children .nf-category-nav-sp__leaf { font-size:15px; }
.nf-category-nav-sp__children .nf-category-nav-sp__stock { font-size:9px; padding:2px 6px; }
@media(max-width:767px) { .nf-category-nav-sp__head { padding:13px 15px; } .nf-category-nav-sp__link { font-size:13px; } }


/* 那須自然農園 お買い物ガイド：このブロック内だけに適用 */
.nf-shopping-guide{max-width:1150px;margin:45px auto 55px;padding:0 20px;box-sizing:border-box;color:#27392c;font-size:16px;line-height:1.8}
.nf-shopping-guide *{box-sizing:border-box}
.nf-shopping-guide__title{text-align:center;color:#184b2e;font-size:27px;font-weight:700;margin:0 0 10px}
.nf-shopping-guide__intro{text-align:center;margin:0 0 26px;font-size:16px}
.nf-shopping-guide__section{margin:0 0 30px}
.nf-shopping-guide__heading{margin:0 0 14px;padding:12px 18px;background:#184b2e;color:#fff;font-size:20px;font-weight:700;border-radius:7px}
.nf-shopping-guide__notice{padding:14px 18px;background:#f2f7ee;border-left:4px solid #57814a;margin:0 0 16px}
.nf-shopping-guide__table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px}
.nf-shopping-guide__table th,.nf-shopping-guide__table td{border:1px solid #d7e1d5;padding:12px 14px;vertical-align:middle}
.nf-shopping-guide__table thead th{background:#e7f0e3;color:#184b2e;text-align:center;font-weight:700}
.nf-shopping-guide__table tbody tr:nth-child(even){background:#f8faf6}
.nf-shopping-guide__table th:first-child{width:52%}
.nf-shopping-guide__table .nf-shopping-guide__price{text-align:right;white-space:nowrap;font-weight:700;font-size:18px;font-variant-numeric:tabular-nums}
.nf-shopping-guide__region{font-weight:700;color:#184b2e}
.nf-shopping-guide__pref{display:block;color:#4e5c50;font-size:14px;line-height:1.6;margin-top:2px}
.nf-shopping-guide__notes{margin:14px 0 0;padding-left:1.4em}
.nf-shopping-guide__notes li{margin:5px 0}
.nf-shopping-guide__payment{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.nf-shopping-guide__payment-card{border:1px solid #d7e1d5;background:#f8faf6;border-radius:8px;padding:18px}
.nf-shopping-guide__payment-card h3{color:#184b2e;font-size:19px;margin:0 0 8px}
.nf-shopping-guide__payment-card p{margin:0 0 8px}
.nf-shopping-guide__payment-card p:last-child{margin-bottom:0}
.nf-shopping-guide__important{font-weight:700;color:#8d3d20}
@media(max-width:767px){
 .nf-shopping-guide{margin:30px auto 40px;padding:0 14px;font-size:16px}
 .nf-shopping-guide__title{font-size:23px}
 .nf-shopping-guide__heading{font-size:19px;padding:12px 14px}
 .nf-shopping-guide__table,.nf-shopping-guide__table tbody,.nf-shopping-guide__table tr,.nf-shopping-guide__table td{display:block;width:100%}
 .nf-shopping-guide__table thead{display:none}
 .nf-shopping-guide__table tbody tr{margin:0 0 13px;border:1px solid #d7e1d5;border-radius:8px;overflow:hidden;background:#fff!important}
 .nf-shopping-guide__table tbody td{border:0;border-bottom:1px solid #e4ebe2;padding:9px 13px}
 .nf-shopping-guide__table tbody td:first-child{background:#e7f0e3}
 .nf-shopping-guide__table tbody td:last-child{border-bottom:0}
 .nf-shopping-guide__table .nf-shopping-guide__price{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:right;font-size:18px}
 .nf-shopping-guide__table .nf-shopping-guide__price::before{content:attr(data-label);font-size:15px;font-weight:500;color:#354b39;white-space:normal;text-align:left}
 .nf-shopping-guide__pref{font-size:14px}
 .nf-shopping-guide__payment{grid-template-columns:1fr}
}

.nf-farm-address {
    width: 100%;
    margin: 0 0 22px;
    border: 1px solid #dce5d6;
    border-radius: 10px;
    overflow: hidden;
    background: #fbfcf8;
    box-sizing: border-box;
}
.nf-farm-address__head {
    padding: 13px 16px;
    background: #184b2e;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}
.nf-farm-address__body {
    padding: 15px 16px;
    color: #354c38;
    font-size: 13px;
    line-height: 1.9;
}
.nf-farm-address__name {
    font-size: 15px;
    font-weight: 700;
    color: #184b2e;
    margin-bottom: 6px;
}
.nf-farm-address__body address {
    font-style: normal;
}
.nf-farm-address__tel {
    margin-top: 10px;
}
.nf-farm-address__tel a {
    color: #184b2e;
    text-decoration: none;
    font-weight: 600;
}
.nf-farm-address__tel a:hover {
    text-decoration: underline;
}
@media (max-width: 767px) {
    .nf-farm-address {
        margin-bottom: 0;
        border-radius: 0;
        border-left: 0;
        border-right: 0;
    }
}


@media screen and (max-width: 767px) {
    .ec-headerNavSP {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        width: 52px;
        height: 52px;
        padding: 5px 4px !important;
        line-height: 1;
        border-radius: 8px;
        background: #184b2e;
        box-sizing: border-box;
        cursor: pointer;
    }
    /* ハンバーガーアイコン */
    .ec-headerNaviRole .fa-bars {
        position: static;
        top: auto;
        left: auto;
        transform: none;
        z-index: auto;
        display: block;
        margin: 0;
        color: #fff;
        font-size: 22px;
        line-height: 1;
    }

    /* MENU文字 */
    .ec-headerNavSP__label {
        display: block;
        margin: 0;
        color: #fff;
        font-size: 10px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 1px;
    }
.ec-drawerRoleClose {z-index:10000;}
}

@media screen and (max-width: 767px) {
    /* スマホメニュー全体 */
    .ec-drawerRole {
        background: #fbfcf8 !important;
    }
    /* 標準メニューの黒背景を変更 */
    .ec-drawerRole .ec-headerLinkArea,
    .ec-drawerRole .ec-headerLinkArea__link {
        background: #f0f5ec !important;
        color: #184b2e !important;
    }
    /* 標準メニューのリンク */
    .ec-drawerRole .ec-headerLinkArea a {
        color: #184b2e !important;
        text-decoration: none;
    }
    /* カテゴリナビの外枠 */
    .ec-drawerRole .nf-category-nav {
        margin: 0;
        border: none;
        border-radius: 0;
        background: #fbfcf8;
    }
    /* カテゴリ見出し */
    .ec-drawerRole .nf-category-nav__head {
        padding: 15px 18px;
        background: #184b2e;
    }
    /* カテゴリリンク */
    .ec-drawerRole .nf-category-nav__link {
        padding: 12px 8px;
        font-size: 13px;
    }
    /* 在庫表示 */
    .ec-drawerRole .nf-category-nav__stock {
        font-size: 10px;
    }

    /* カテゴリの下余白を調整 */
    .ec-drawerRole .nf-category-nav {
        margin-bottom: 0 !important;
    }
    /* カテゴリと会員メニューの間隔 */
    .ec-drawerRole .ec-headerLinkArea {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    /* 会員メニューのリンク */
    .ec-drawerRole .ec-headerLinkArea a {
        min-height: 54px;
        display: flex;
        align-items: center;
        padding: 12px 18px;
        color: #184b2e !important;
    }
    /* カテゴリリンク */
    .ec-drawerRole .nf-category-nav__link {
        min-height: 45px;
        padding: 10px 7px;
    }
}

/* =====================================
   農園紹介：画面全幅背景・内部1200px
===================================== */
.farm-feature {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 65px 20px 75px;
    box-sizing: border-box;
    background:
        radial-gradient(circle at 0% 0%, rgba(164,195,126,.22), transparent 38%),
        radial-gradient(circle at 100% 100%, rgba(225,205,148,.25), transparent 42%),
        #faf9f1;
}
.farm-feature__inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0,74fr) minmax(0,26fr);
    gap: 24px;
    align-items: start;
}
.farm-feature h2 {
    font-size: 21px;
    color: #245a36;
    margin: 0 0 18px;
    letter-spacing: .02em;
}

.farm-feature__video {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 10px;
}

.farm-feature__video iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.farm-feature__caption {
    font-size: 14px;
    margin-top: 12px;
    color: #647064;
}

.farm-feature__banners {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.farm-feature__banners a {
    display: block;
    border-radius: 9px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,.10);
    transition: transform .25s;
}

.farm-feature__banners a:hover {
    transform: translateY(-3px);
}

.farm-feature__banners picture,
.farm-feature__banners img {
    display: block;
    width: 100%;
}

.farm-feature__banners img {
    height: auto;
}

@media (max-width: 767px) {
    .farm-feature { padding: 40px 15px 50px; }
    .farm-feature__inner { grid-template-columns: 1fr; gap: 22px; }
    .farm-feature h2 { font-size: 20px; }
    .farm-feature__header { margin-bottom: 22px; }
    .farm-feature .farm-feature__header h2 { font-size: 23px; }
    .farm-feature__header p { font-size: 13px; }
}


/* 農園紹介・こだわり 共通見出し */
.farm-feature .farm-feature__heading {
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    min-height: 70px;
    margin: 0 0 20px;
    padding: 10px 12px 14px;
    border-bottom: 2px solid #c49a42;
    background: linear-gradient(
        90deg,
        #f4f8ef 0%,
        #ffffff 100%
    );
}

/* 丸いアイコン */
.farm-feature__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #2d623f;
    color: #fff;
    font-size: 23px;
}

/* 英語＋日本語 */
.farm-feature__heading-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.farm-feature__heading-text small {
    color: #82965e;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .12em;
    line-height: 1.3;
}

.farm-feature__heading-text strong {
    color: #245a36;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .025em;
}

/* スマートフォン */
@media (max-width: 767px) {
    .farm-feature .farm-feature__heading {
        min-height: 62px;
        padding: 8px 10px 12px;
        margin-bottom: 16px;
    }

    .farm-feature__icon {
        width: 36px;
        height: 36px;
        font-size: 20px;
    }

    .farm-feature__heading-text strong {
        font-size: 18px;
    }

    .farm-feature__heading-text small {
        font-size: 10px;
    }
}


/* 農園インフォメーション */
.farm-information {
    max-width: 1200px;
    margin: 45px auto;
    padding: 0 20px;
}

.farm-information__heading {
    text-align: center;
    margin-bottom: 28px;
}

.farm-information__en {
    display: block;
    font-size: 13px;
    color: #8a9b64;
    letter-spacing: .12em;
    margin-bottom: 5px;
}

.farm-information__heading h2 {
    color: #285b36;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: .02em;
    margin: 0 0 8px;
}

.farm-information__heading p {
    font-size: 14px;
    color: #667568;
    line-height: 1.7;
}

.farm-information__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.farm-information__item {
    display: block;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 3px 12px rgba(0,0,0,.10);
    transition: transform .25s, box-shadow .25s;
}

.farm-information__item img {
    display: block;
    width: 100%;
    height: auto;
}

.farm-information__item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 22px rgba(0,0,0,.16);
}

/* スマートフォン */
@media (max-width: 767px) {
    .farm-information {
        margin: 30px auto;
        padding: 0 15px;
    }

    .farm-information__heading h2 {
        font-size: 22px;
    }

    .farm-information__grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
}

.farm-information__item picture {
    display: block;
    width: 100%;
}

.farm-information__item picture img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}
/* =====================================
   NASU NEWS
   EC-CUBE 4.3.1
===================================== */

.nasu-news {
    position: relative;
    overflow: hidden;
    padding: 75px 20px 85px;
    background:
        radial-gradient(circle at 0% 0%,
            rgba(164,195,126,.22), transparent 38%),
        radial-gradient(circle at 100% 100%,
            rgba(225,205,148,.25), transparent 42%),
        #faf9f1;
}

.nasu-news__inner {
    max-width: 1050px;
    margin: 0 auto;
}

/* 見出し */
.nasu-news__heading {
    text-align: center;
    margin-bottom: 38px;
}

.nasu-news__en {
    display: block;
    font-size: 13px;
    letter-spacing: .2em;
    color: #739453;
    font-weight: 700;
    margin-bottom: 12px;
}

.nasu-news__heading h2 {
    color: #355c37;
    font-size: clamp(24px, 3vw, 34px);
    margin: 0 0 12px;
}

.nasu-news__heading h2::before,
.nasu-news__heading h2::after {
    content: "❧";
    display: inline-block;
    color: #9eb47a;
    font-size: 24px;
    padding: 0 15px;
}

.nasu-news__heading p {
    color: #78816d;
    font-size: 14px;
    letter-spacing: .05em;
}

/* ニュース一覧 */
.nasu-news__list {
    background: rgba(255,255,255,.95);
    border: 1px solid #e4ead9;
    border-radius: 18px;
    padding: 8px 30px;
    box-shadow: 0 12px 35px rgba(62,85,45,.08);
}

.nasu-news__item {
    border-bottom: 1px solid #e7eadf;
}

.nasu-news__item:last-child {
    border-bottom: none;
}

.nasu-news__item[hidden],
.nasu-news__moreBtn[hidden] {
    display: none !important;
}

/* 見出し行 */
.nasu-news__summary {
    display: flex;
    align-items: center;
    gap: 25px;
    padding: 23px 10px;
    cursor: pointer;
    list-style: none;
    transition: background .25s ease;
}

.nasu-news__summary::-webkit-details-marker {
    display: none;
}

.nasu-news__summary::marker {
    content: "";
}

.nasu-news__summary:hover {
    background: #f5f8ef;
}

.nasu-news__date {
    flex: 0 0 115px;
    font-size: 14px;
    font-weight: 600;
    color: #729153;
    letter-spacing: .05em;
}

.nasu-news__title {
    flex: 1;
    min-width: 0;
    font-size: 16px;
    font-weight: 600;
    color: #3c4e35;
    line-height: 1.7;
}

/* 開閉アイコン */
.nasu-news__arrow {
    width: 30px;
    height: 30px;
    border: 1px solid #c8d7b8;
    border-radius: 50%;
    position: relative;
    flex-shrink: 0;
    background: #f4f8ef;
}

.nasu-news__arrow::after {
    content: "";
    position: absolute;
    width: 7px;
    height: 7px;
    border-right: 2px solid #5b804b;
    border-bottom: 2px solid #5b804b;
    transform: rotate(45deg);
    top: 9px;
    left: 10px;
    transition: transform .25s;
}

.nasu-news__details[open] .nasu-news__arrow::after {
    transform: rotate(225deg);
    top: 12px;
}

/* 本文 */
.nasu-news__content {
    padding: 0 55px 26px 150px;
    color: #586451;
    font-size: 15px;
    line-height: 1.9;
}

.nasu-news__description {
    margin-bottom: 12px;
    overflow-wrap: anywhere;
}

.nasu-news__link {
    display: inline-block;
    color: #4f7d43;
    font-weight: 700;
    text-decoration: none;
}

.nasu-news__link:hover {
    color: #2f5b31;
    text-decoration: underline;
}

/* もっと見る */
.nasu-news__more {
    text-align: center;
    margin-top: 30px;
}

.nasu-news__moreBtn {
    border: 1px solid #71975c;
    background: #fff;
    color: #507642;
    border-radius: 30px;
    padding: 13px 50px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all .25s ease;
}

.nasu-news__moreBtn:hover {
    background: #507642;
    color: #fff;
}

.nasu-news__empty {
    padding: 24px 10px;
    text-align: center;
    color: #777;
}

/* スマートフォン */
@media (max-width: 767px) {
    .nasu-news {
        padding: 48px 12px 60px;
    }

    .nasu-news__heading h2 {
        font-size: 23px;
    }

    .nasu-news__heading h2::before,
    .nasu-news__heading h2::after {
        padding: 0 5px;
        font-size: 18px;
    }

    .nasu-news__list {
        padding: 5px 13px;
        border-radius: 14px;
    }

    .nasu-news__summary {
        gap: 8px;
        padding: 18px 4px;
        flex-wrap: wrap;
    }

    .nasu-news__date {
        flex: 0 0 100%;
        font-size: 12px;
    }

    .nasu-news__title {
        font-size: 14px;
    }

    .nasu-news__content {
        padding: 0 8px 20px;
        font-size: 14px;
    }

    .nasu-news__moreBtn {
        width: 75%;
    }
}

/* ========================================
   那須自然農園 おすすめ商品
   EC-CUBE 4.3.1 / Recommend42
======================================== */

.nasu-recommend {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 75px 30px 85px;
    background:
        radial-gradient(ellipse at 0% 5%,
            rgba(171, 204, 136, .24), transparent 40%),
        radial-gradient(ellipse at 100% 95%,
            rgba(224, 198, 126, .24), transparent 42%),
        linear-gradient(180deg, #fbfaf1, #f1f5e8);
}

/* 周囲の植物風装飾 */
.nasu-recommend::before,
.nasu-recommend::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 240px;
    height: 240px;
    border: 2px solid rgba(101, 145, 72, .15);
    border-radius: 70% 10% 70% 10%;
    transform: rotate(-35deg);
    pointer-events: none;
}

.nasu-recommend::before {
    left: -145px;
    top: 80px;
}

.nasu-recommend::after {
    right: -145px;
    bottom: 30px;
    transform: rotate(145deg);
}

/* 見出し */
.nasu-recommend__heading {
    text-align: center;
    margin: 0 auto 42px;
}

.nasu-recommend__eyebrow {
    display: block;
    color: #72934f;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .22em;
    margin-bottom: 12px;
}

.nasu-recommend__heading h2 {
    color: #355c37;
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 12px;
}

.nasu-recommend__heading h2::before,
.nasu-recommend__heading h2::after {
    content: "❧";
    display: inline-block;
    color: #9bae75;
    font-size: 25px;
    padding: 0 14px;
}

.nasu-recommend__heading p {
    color: #7b806b;
    font-size: 15px;
    letter-spacing: .08em;
}

/* PC：横5列 */
.nasu-recommend__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.nasu-recommend__item {
    min-width: 0;
    margin: 0;
    padding: 0;
}

/* 商品カード */
.nasu-recommend__card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e5e9d8;
    border-radius: 18px;
    box-shadow: 0 7px 24px rgba(49, 73, 37, .08);
    text-decoration: none;
    transition: transform .3s ease, box-shadow .3s ease;
}

.nasu-recommend__card:hover {
    transform: translateY(-7px);
    box-shadow: 0 16px 34px rgba(49, 73, 37, .16);
    text-decoration: none;
}

/* 商品画像 */
.nasu-recommend__image {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f8f7f1;
}

.nasu-recommend__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .4s ease;
}

.nasu-recommend__card:hover img {
    transform: scale(1.045);
}

/* 商品情報 */
.nasu-recommend__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 20px 17px 18px;
}

.nasu-recommend__body h3 {
    color: #394d32;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.65;
    margin: 0 0 15px;
    min-height: 3.3em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.nasu-recommend__price {
    margin-top: auto;
    color: #467445;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.5;
}

.nasu-recommend__price small {
    font-size: 11px;
    font-weight: 400;
    color: #888;
}

/* 商品を見るボタン */
.nasu-recommend__button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 17px;
    padding: 11px 14px;
    background: #5e854b;
    border-radius: 30px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    transition: background .25s ease;
}

.nasu-recommend__card:hover .nasu-recommend__button {
    background: #355c37;
}

.nasu-recommend__footer {
    text-align: center;
    margin-top: 42px;
    color: #81916e;
    font-size: 14px;
    letter-spacing: .12em;
}

/* タブレット：3列 */
@media (max-width: 991px) {
    .nasu-recommend__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 16px;
    }
}

/* スマートフォン */
@media (max-width: 767px) {
    .nasu-recommend {
        padding: 45px 12px 55px;
    }

    .nasu-recommend__heading {
        margin-bottom: 28px;
    }

    .nasu-recommend__heading h2 {
        font-size: 22px;
    }

    .nasu-recommend__heading h2::before,
    .nasu-recommend__heading h2::after {
        padding: 0 5px;
        font-size: 17px;
    }

    .nasu-recommend__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .nasu-recommend__body {
        padding: 13px 11px;
    }

    .nasu-recommend__body h3 {
        font-size: 13px;
    }

    .nasu-recommend__price {
        font-size: 15px;
    }

    .nasu-recommend__button {
        font-size: 12px;
        padding: 10px 6px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nasu-recommend__card,
    .nasu-recommend__image img,
    .nasu-recommend__button {
        transition: none;
    }
}

.header-fixed {
    position: fixed;
    top: 6px;
    left: 0px;
    width: 100%;
    z-index: 10;
    background-position: center center;
}

.ec-headerNaviRole {
    position: fixed;
    top: 4%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5000;
}

/* スマホ用 */
@media screen and (max-width: 768px) {
    .ec-headerNaviRole {
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }
.ec-headerRole__cart{display: none !important;}
}

.ec-footerRole {
    border-top: 1px solid #7d7d7d;
    margin-top: 0px;
    background: #1f4933;
}



/* =========================================
   那須自然農園 商品詳細説明専用CSS
   EC-CUBE 4.3.1
   ========================================= */

/* 1. 商品説明全体の背景 */
.ec-productRole .ec-productRole__description {
    background: linear-gradient(
        135deg,
        #fbfcf7 0%,
        #f3f6ed 100%
    );
    border: 1px solid #e1e8d8;
    border-radius: 12px;
    padding: 30px 36px;
    margin: 20px 0 24px;
    color: #465267;
    font-size: 15px;
    line-height: 1.9;
    overflow-wrap: anywhere;
    box-sizing: border-box;
}

/* 2. コンテンツ全体 */
.ec-productRole .kodawari-content {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* 3. こだわりの米作りバナー */
.ec-productRole .kodawari-banner {
    display: block;
    width: 100%;
    margin: 0 auto 28px;
    overflow: hidden;
    border-radius: 9px;
    box-shadow: 0 4px 16px rgba(35,65,35,0.10);
    transition: transform 0.25s ease,
                box-shadow 0.25s ease;
}

.ec-productRole .kodawari-banner img {
    display: block;
    width: 100%;
    height: auto;
}

.ec-productRole .kodawari-banner:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 22px rgba(35,65,35,0.16);
}

/* 4. 商品説明本文 */
.ec-productRole .kodawari-description {
    width: 100%;
    color: #475569;
    font-size: 15px;
    line-height: 1.9;
}

/* 5. メイン見出し */
.ec-productRole .rice-intro {
    margin: 0 0 22px;
    padding: 0 0 12px;
    border-bottom: 1px solid #dce6d6;
}

.ec-productRole .rice-intro span {
    display: block;
    margin-bottom: 6px;
    color: #718774;
    font-size: 12px;
    letter-spacing: 0.08em;
}

.ec-productRole .rice-intro h3 {
    margin: 0;
    color: #315b3b;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
}

/* 6. 特別栽培米：白いカード */
.ec-productRole .kodawari-description .rice-info {
    display: block;
    margin: 0 0 18px;
    padding: 24px 28px;
    background: #ffffff;
    border: 1px solid #dce6d6;
    border-radius: 10px;
    box-shadow: 0 3px 12px rgba(40,70,40,0.04);
}

/* 7. 農園のこだわり：緑のカード */
.ec-productRole .kodawari-description .rice-farm {
    display: block;
    margin: 0 0 18px;
    padding: 24px 28px;
    background: #eaf2e6;
    border: 1px solid #d3e2cc;
    border-radius: 10px;
}

/* 8. カード内の見出し */
.ec-productRole .kodawari-description .rice-info h4,
.ec-productRole .kodawari-description .rice-farm h4 {
    margin: 0 0 16px;
    color: #315b3b;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.5;
}

/* 9. カード内の本文 */
.ec-productRole .kodawari-description .rice-info p,
.ec-productRole .kodawari-description .rice-farm p {
    margin: 0 0 14px;
    color: #475569;
    font-size: 15px;
    line-height: 1.9;
}

/* 最終段落の余白 */
.ec-productRole .kodawari-description .rice-info p:last-child,
.ec-productRole .kodawari-description .rice-farm p:last-child {
    margin-bottom: 0;
}

/* 10. 強調文字 */
.ec-productRole .kodawari-description strong {
    color: #315b3b;
    font-weight: 700;
}

/* 11. 年間契約の案内 */
.ec-productRole .kodawari-description .rice-contract {
    margin: 20px 0 0;
    padding: 14px 18px;
    background: #fff5e6;
    border-radius: 7px;
    color: #965f2f;
    font-size: 15px;
    font-weight: 700;
}

/* =========================================
   タブレット
   ========================================= */

@media (max-width: 991px) {

    .ec-productRole .ec-productRole__description {
        padding: 24px;
        font-size: 14px;
    }

}

/* =========================================
   スマートフォン
   ========================================= */

@media (max-width: 767px) {

    .ec-productRole .ec-productRole__description {
        padding: 18px 16px;
        margin: 14px 0 20px;
        border-radius: 8px;
        font-size: 14px;
        line-height: 1.8;
    }

    .ec-productRole .kodawari-banner {
        margin-bottom: 20px;
        border-radius: 6px;
    }

    .ec-productRole .kodawari-banner:hover {
        transform: none;
    }

    .ec-productRole .kodawari-description {
        font-size: 14px;
    }

    .ec-productRole .rice-intro {
        margin-bottom: 18px;
    }

    .ec-productRole .rice-intro h3 {
        font-size: 19px;
    }

    .ec-productRole .kodawari-description .rice-info,
    .ec-productRole .kodawari-description .rice-farm {
        padding: 18px 16px;
        margin-bottom: 14px;
        border-radius: 8px;
    }

    .ec-productRole .kodawari-description .rice-info h4,
    .ec-productRole .kodawari-description .rice-farm h4 {
        font-size: 17px;
    }

    .ec-productRole .kodawari-description .rice-info p,
    .ec-productRole .kodawari-description .rice-farm p {
        font-size: 14px;
        line-height: 1.85;
    }

    .ec-productRole .kodawari-description .rice-contract {
        padding: 12px 14px;
        font-size: 14px;
    }

}



/* =========================================
   那須自然農園 商品詳細ページ
   商品名・関連カテゴリのデザイン
   ========================================= */

/* 商品名エリア */
.ec-productRole .ec-productRole__title {
    margin: 0 0 12px;
    padding: 18px 24px;
    background: linear-gradient(110deg, #f0f5eb, #fafcf8);
    border: 1px solid #e0e8dc;
    border-left: 4px solid #52765d;
    border-radius: 0 9px 9px 0;
}

/* 商品名 */
.ec-productRole .ec-productRole__title h2 {
    margin: 0;
    padding: 0;
    color: #294b35;
    font-size: 24px !important;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.02em;
}

/* 関連カテゴリ */
.ec-productRole .ec-productRole__category {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin: 0 0 24px !important;
    padding: 0 0 0 4px !important;
    border: none !important;
}

/* 関連カテゴリ見出し */
.ec-productRole .ec-productRole__category > div:first-child {
    margin: 0;
    color: #718774;
    font-size: 12px;
    white-space: nowrap;
}

/* カテゴリのリスト */
.ec-productRole .ec-productRole__category ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ec-productRole .ec-productRole__category li {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* カテゴリリンク */
.ec-productRole .ec-productRole__category a {
    display: inline-block;
    padding: 5px 13px;
    color: #416b4b;
    background: #f4f8f1;
    border: 1px solid #d7e5d4;
    border-radius: 20px;
    font-size: 12px;
    line-height: 1.5;
    text-decoration: none;
    transition: background 0.2s ease;
}

.ec-productRole .ec-productRole__category a:hover {
    color: #294b35;
    background: #e8f1e3;
}

/* スマートフォン */
@media (max-width: 767px) {

    .ec-productRole .ec-productRole__title {
        margin-bottom: 12px;
        padding: 14px 16px;
        border-radius: 0 7px 7px 0;
    }

    .ec-productRole .ec-productRole__title h2 {
        font-size: 19px !important;
        line-height: 1.55;
    }

    .ec-productRole .ec-productRole__category {
        margin-bottom: 18px !important;
        gap: 6px 8px;
    }

    .ec-productRole .ec-productRole__category a {
        padding: 4px 10px;
        font-size: 11px;
    }
}


/* =========================================
   商品名・カテゴリ・画像の余白調整
   ========================================= */

/* 商品名の下 */
.ec-productRole .ec-productRole__title {
    margin-bottom: 8px;
}

/* 関連カテゴリの下 */
.ec-productRole .ec-productRole__category {
    margin-bottom: 12px !important;
}

/* 商品画像エリア */
.pcm-vertical-product .pcm-product-images {
    margin-bottom: 24px;
}

/* スマートフォン */
@media (max-width: 767px) {
    .ec-productRole .ec-productRole__title {
        margin-bottom: 8px;
    }

    .ec-productRole .ec-productRole__category {
        margin-bottom: 10px !important;
    }

    .pcm-vertical-product .pcm-product-images {
        margin-bottom: 18px;
    }
}