@charset "UTF-8";
/* ===========================================================
   gengen F：WooCommerce 画面（商品一覧・商品詳細・カート・購入手続き・マイアカウント）を
   F案（紙白・ブランド4色・縦組み明朝）に合わせる。土台は theme-f.css（ブランド側と同一ファイル）。
   購入・定期便・販売停止の動作はテンプレートとプラグインのまま。ここは見た目だけ。
   gengen-e の commerce.css で監査済みの構造上の手当て（SPのカート合計・クーポンの横溢れ・
   定期便の表・Stripe欄の可読性・非表示ラベル）は同じ仕組みを残し、色と書体をF案に置き換えた。
   =========================================================== */

/* ---------- 土台 ---------- */
body.gengen-f{overflow-x:visible}
.gengen-f [hidden]{display:none!important}
.gengen-f .rv{opacity:1;transform:none}
.gengen-main{min-height:50vh;outline:none}
.gengen-main :where(p,li,td,dd,a,h1,h2,h3){overflow-wrap:anywhere}
.gengen-f button,.gengen-f input,.gengen-f select,.gengen-f textarea{font:inherit;letter-spacing:.03em}
.gengen-f :where(.gengen-main) :where(strong,b){font-weight:500}
.gengen-menu-open{overflow:hidden!important}
/* theme-f.css の header/footer/section の汎用指定を、WooCommerceが本文内に出す要素へ波及させない */
.gengen-f .gengen-main header{position:static;z-index:auto;background:none;backdrop-filter:none;border:0}
.gengen-f .gengen-main footer{background:none;color:inherit;padding:0}
.gengen-f :where(.gengen-commerce) section{padding:0}

/* ---------- ヘッダー（ブランド側と同じ組み＋マイアカウント） ---------- */
.gengen-f.admin-bar .gengen-header{top:32px}
.gengen-header .gengen-header-tools{gap:14px;flex-shrink:0}
.gengen-account-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;color:var(--sub);transition:color .3s}
.gengen-account-icon svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.gengen-account-icon:hover{color:var(--sumi)}
/* 261003 お買い物カゴ：アカウントと同じ線画・大きさ・色。個数は緑の小さな丸で右上に（0点のときは出さない） */
.gengen-cart-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;color:var(--sub);transition:color .3s}
.gengen-cart-icon svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.gengen-cart-icon:hover{color:var(--sumi)}
.gengen-cart-badge{position:absolute;top:4px;right:1px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--green);color:var(--on-dark);font-family:var(--f-sans);font-size:10px;font-weight:500;line-height:18px;letter-spacing:0;text-align:center;font-variant-numeric:tabular-nums;pointer-events:none}
.gengen-f .mnav{overflow-y:auto}
.gengen-f .mnav nav{display:flex;flex-direction:column}
.gengen-f .mnav-close{min-width:44px;min-height:44px;font-size:1.8rem;line-height:1;color:var(--sumi)}

/* ---------- フッター（ブランド側と同じ組み。見出しは文書構造上 h2） ---------- */
.gengen-footer .foot-links h2{font-family:var(--f-en);font-style:italic;font-weight:500;font-size:1rem;letter-spacing:.12em;color:var(--kin);margin-bottom:1rem}
.gengen-footer .foot-links a{display:inline-block}

/* ---------- 共通の見出し・パンくず・余白 ---------- */
.gengen-f .crumb{font-size:.78rem;letter-spacing:.14em;color:var(--weak);padding:22px 0 0}
.gengen-f .crumb a{color:var(--sub)}
.gengen-f .crumb a:hover{color:var(--sumi)}
.gengen-commerce{padding-top:56px;padding-bottom:130px}
.gengen-page-heading{margin-bottom:56px}
.gengen-page-heading .ey{margin-bottom:.9rem}
.gengen-page-heading h1{font-family:var(--f-min);font-weight:500;font-size:clamp(1.6rem,2.5vw,2.1rem);letter-spacing:.2em;line-height:1.7;color:var(--sumi)}
.gengen-page-heading p{color:var(--sub);margin-top:1rem}
.gengen-page-heading .lead{max-width:34em;font-size:.94rem}
/* 商品一覧の頭：F案の品目ページと同じく、右に縦組みの見出し・左下にリード */
.gengen-f:is(.woocommerce-shop,.tax-product_cat,.tax-product_tag) .gengen-page-heading{display:grid;grid-template-columns:1fr auto auto;grid-template-areas:"lead h1 ey";gap:0 28px;align-items:end;padding-top:24px}
.gengen-f:is(.woocommerce-shop,.tax-product_cat,.tax-product_tag) .gengen-page-heading .ey{grid-area:ey;align-self:start;margin:0;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.18em}
.gengen-f:is(.woocommerce-shop,.tax-product_cat,.tax-product_tag) .gengen-page-heading h1{grid-area:h1;align-self:start;writing-mode:vertical-rl;text-orientation:mixed;font-feature-settings:"palt" 0;letter-spacing:.22em;line-height:1.9;font-size:clamp(1.7rem,2.6vw,2.2rem)}
.gengen-f:is(.woocommerce-shop,.tax-product_cat,.tax-product_tag) .gengen-page-heading .lead{grid-area:lead;margin:0;padding-bottom:8px}
/* 見出し用の汎用クラス（テンプレートが使うもの） */
.gengen-f .sec-title{font-family:var(--f-min);font-weight:500;font-size:clamp(1.45rem,2.1vw,1.8rem);letter-spacing:.16em;line-height:1.8;color:var(--sumi);margin:.8rem 0 1.2rem}
.gengen-f .lead{color:var(--sub);font-size:.94rem}

/* ---------- 購入の流れ（01 カート ― 02 … ― 03 …） ---------- */
.gengen-checkout-steps{display:flex;flex-wrap:wrap;gap:0;margin:0 0 44px;padding:0;font-size:.8rem;letter-spacing:.14em;color:var(--weak)}
.gengen-checkout-steps li{display:flex;align-items:center;gap:10px;padding:8px 22px 8px 0}
.gengen-checkout-steps li span{font-family:var(--f-sans);font-variant-numeric:lining-nums tabular-nums;color:var(--kin-t)}
.gengen-checkout-steps li+li::before{content:"";width:28px;height:1px;background:var(--line-2);margin-right:14px}
.gengen-checkout-steps [aria-current="step"]{color:var(--sumi);font-weight:400}
.gengen-checkout-steps [aria-current="step"] span{color:var(--green)}

/* ---------- 商品詳細：左＝グレージュ矩形に写真を浮かせる／右＝品名・購入欄 ---------- */
.gengen-f .p-hero{padding:56px 0 130px}
.gengen-f .p-hero-grid{display:grid;grid-template-columns:minmax(0,54%) 1fr;gap:0 88px;align-items:start}
.gengen-product-gallery,.gengen-product-summary{min-width:0}
.gengen-product-gallery{position:sticky;top:112px}
.gengen-product-gallery::before{content:"";position:absolute;left:-32px;top:64px;right:22%;bottom:-40px;background:var(--face);pointer-events:none}
.gengen-product-gallery>*{position:relative}
.gengen-product-gallery .onsale{position:absolute}
.gengen-f .p-main{aspect-ratio:4/3;margin-right:12%;overflow:hidden;background:var(--white)}
.gengen-f .p-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0 0 12%}
.gengen-f .p-thumbs button{aspect-ratio:1/1;overflow:hidden;border:1px solid var(--line);background:var(--white);padding:0;cursor:pointer;opacity:.75;transition:opacity .3s,border-color .3s}
.gengen-f .p-thumbs button.active,.gengen-f .p-thumbs button:hover{opacity:1;border-color:var(--sumi)}
.gengen-set-gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1.1fr) minmax(0,1fr);gap:10px;aspect-ratio:1;overflow:hidden;margin-right:12%}
.gengen-set-gallery>img:first-child,.gengen-set-gallery>figure:first-child{grid-column:1/-1;min-height:0}
.gengen-set-gallery img{min-height:0;object-fit:cover}
.gengen-set-gallery>figure{margin:0;min-height:0;overflow:hidden}
.gengen-f .gengen-product-gallery .p-note{font-size:.78rem;color:var(--weak);letter-spacing:.08em;margin:1rem 12% 0 0}
.gengen-product-summary{padding-top:8px}
.gengen-product-summary>.ey{margin-bottom:1rem}
.gengen-f .p-name{font-family:var(--f-min);font-weight:500;font-size:clamp(1.6rem,2.4vw,2.1rem);letter-spacing:.18em;line-height:1.7;color:var(--sumi)}
.gengen-f .p-en{display:block;font-family:var(--f-en);font-style:italic;font-size:1.05rem;letter-spacing:.1em;color:var(--kin-t);margin:.4rem 0 0}
.gengen-f .p-catch{font-family:var(--f-min);font-weight:500;font-size:1.3rem;letter-spacing:.16em;line-height:1.8;color:var(--sumi);margin:1.4rem 0 .8rem}
.gengen-f .p-intro{color:var(--sub);font-size:.94rem}
.gengen-purchase-panel{margin-top:2rem;padding:28px 28px 22px;background:var(--face);scroll-margin-top:110px}
.gengen-purchase-panel>.price{margin:0 0 .6rem}
.gengen-product-format,.gengen-delivery-note{font-size:.8rem;color:var(--sub);line-height:1.9;letter-spacing:.08em}
.gengen-delivery-note{margin-top:18px;padding-top:14px;border-top:1px solid var(--line-2)}
.gengen-purchase-panel .cart{margin-top:20px}
.woocommerce-variation-description{font-size:.85rem;line-height:1.9;margin:14px 0}
.woocommerce-variation-price{margin:16px 0}
.gengen-f table.variations{display:block;width:100%;margin:0 0 18px;border:0}
.gengen-f table.variations :is(tbody,tr,th,td){display:block;width:100%;padding:0;border:0;background:none;text-align:left}
.gengen-f table.variations th{margin:14px 0 7px;font-weight:400;font-size:.86rem;letter-spacing:.1em;color:var(--sumi)}
.gengen-f table.variations select{width:100%}
.gengen-f .reset_variations{display:inline-block;font-size:.78rem;margin-top:8px;color:var(--sub);text-decoration:underline;text-underline-offset:4px}
.gengen-f .quantity{display:inline-flex;vertical-align:middle;max-width:100%;margin-right:10px}
.gengen-f .quantity input.qty{width:78px;min-height:50px;text-align:center}
.single_variation_wrap .woocommerce-variation-add-to-cart,.gengen-purchase-panel form.cart:not(.variations_form){display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.gengen-purchase-panel .single_add_to_cart_button{flex:1;min-width:180px}
.gengen-purchase-panel .quantity{margin-right:0}
/* 261003 カートに入った後：メインのボタン＝お買い物カゴを見る／その下に数量と「続けてお買い物カゴに追加」（文字リンクの見た目） */
.gengen-purchase-panel .gengen-view-cart{display:flex;width:100%;margin-top:20px}
.gengen-purchase-panel .gengen-view-cart+form.cart{margin-top:12px;gap:4px 14px}
.gengen-purchase-panel .gengen-view-cart+form.cart .quantity input.qty{width:68px;min-height:44px}
.gengen-purchase-panel .gengen-view-cart+form.cart .single_add_to_cart_button{flex:0 1 auto;min-width:0;min-height:44px;padding:.4rem .2rem;border:0;background:none;color:var(--sub);font-size:.84rem;letter-spacing:.1em;text-decoration:underline;text-underline-offset:4px}
.gengen-purchase-panel .gengen-view-cart+form.cart .single_add_to_cart_button:hover{background:none;border:0;color:var(--sumi)}
.gengen-story-link{display:inline-flex;align-items:center;gap:.8rem;min-height:44px;margin-top:1.4rem;font-family:var(--f-min);font-size:.95rem;letter-spacing:.16em;color:var(--sumi);border-bottom:1px solid var(--sumi);transition:color .35s,border-color .35s}
.gengen-story-link:hover{color:var(--kin-t);border-color:var(--kin-t)}
.gengen-f .woocommerce-variation-availability,.gengen-f .stock{font-size:.8rem;color:var(--sub);margin-block:10px}
.single-product .gengen-main>.woocommerce-notices-wrapper{max-width:var(--maxw);padding-inline:32px;margin:24px auto 0}

/* 商品詳細の中段（ものづくり）：F案のSTORYと同じくSILVER面に写真＋見出し */
.gengen-f .gengen-product-story{background:var(--face);padding:140px 0}
.gengen-f .story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,50%);gap:0 88px;align-items:center}
.gengen-f .story-grid .pic{aspect-ratio:4/3;border:12px solid var(--white);overflow:hidden}
.gengen-f .story-grid .lead{max-width:30em;margin-bottom:2rem}
.gengen-product-story img{max-height:520px}
.gengen-product-details{padding-top:96px}

/* ---------- 商品一覧 ---------- */
.woocommerce-result-count{display:inline-block;font-size:.8rem;letter-spacing:.1em;color:var(--weak);margin-bottom:32px}
.woocommerce-ordering{float:right;max-width:100%;margin-bottom:32px}
.gengen-f .woocommerce-ordering select{min-height:44px;padding:8px 36px 8px 12px;border:1px solid var(--line-2);border-radius:0;background:#fff;color:var(--sumi);font-size:.86rem;letter-spacing:.08em;color-scheme:light}
.gengen-f .woocommerce-ordering select:focus-visible{outline:2px solid var(--green);outline-offset:1px}
.gengen-f ul.products{clear:both;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:72px 48px;margin:0;padding:0;list-style:none}
.gengen-f ul.products::before,.gengen-f ul.products::after{display:none}
.gengen-f ul.products li.product{float:none;width:auto!important;margin:0!important;min-width:0;position:relative;display:flex;flex-direction:column;background:none;border:0;padding:0}
.gengen-f ul.products li.product>a.woocommerce-loop-product__link{display:block;flex:1}
.gengen-card-image{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--face);margin:0 0 1.4rem}
.gengen-f ul.products li.product img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;margin:0;transition:transform .5s}
.gengen-f ul.products li.product a:hover img{transform:translateY(-4px)}
.gengen-f ul.products .woocommerce-loop-product__title{font-family:var(--f-min);font-size:1.15rem;font-weight:500;letter-spacing:.16em;line-height:1.7;color:var(--sumi);margin:0 0 .8rem;padding:0}
.gengen-f ul.products li.product .price{margin:0 0 1.2rem;padding-top:.8rem;border-top:1px solid var(--line-2);font-size:1.05rem}
.gengen-f ul.products li.product>.button{align-self:stretch}
.gengen-f ul.products .added_to_cart{margin-top:10px;text-align:center;font-size:.82rem;color:var(--sub);text-decoration:underline;text-underline-offset:4px}
/* 261003（1.2.1）一覧：カートに入った商品は「お買い物カゴを見る」を枠線のボタンに、追加は下の文字リンクに（商品ページと同じ方針） */
.gengen-f ul.products li.product>.gengen-readd{align-self:center;min-height:44px;margin-top:6px;padding:.4rem .2rem;border:0;background:none;color:var(--sub);font-size:.82rem;letter-spacing:.1em;text-decoration:underline;text-underline-offset:4px}
.gengen-f ul.products li.product>.gengen-readd:hover{background:none;border:0;color:var(--sumi)}
.gengen-f ul.products li.product>.gengen-readd.loading{opacity:.6}
.gengen-f ul.products li.product .gengen-view-cart~.added_to_cart{display:none}
.gengen-f .onsale{position:absolute;top:12px;left:12px;z-index:2;padding:.3rem .8rem;border:1px solid var(--line-2);background:var(--white);color:var(--kin-t);font-family:var(--f-min);font-size:.8rem;letter-spacing:.2em}
.gengen-f .related,.gengen-f .upsells{padding:72px 0 0}
.gengen-f :is(.related,.upsells)>h2{font-family:var(--f-min);font-weight:500;font-size:clamp(1.35rem,2vw,1.65rem);letter-spacing:.18em;margin-bottom:36px}
.woocommerce-pagination{margin-top:56px}
.woocommerce-pagination ul{display:flex;justify-content:center;gap:8px}
.woocommerce-pagination :is(a,span){display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--line-2);font-variant-numeric:tabular-nums}
.woocommerce-pagination .current{border-color:var(--green);background:var(--green);color:var(--on-dark)}

/* ---------- 価格 ---------- */
.gengen-f .price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem;border:0;padding:0;margin:0;font-family:var(--f-sans);font-size:1.3rem;font-weight:400;font-variant-numeric:lining-nums tabular-nums;letter-spacing:.02em;color:var(--sumi);line-height:1.6}
.gengen-f .price small,.gengen-f .price .woocommerce-price-suffix{font-size:.74rem;font-weight:300;letter-spacing:.06em;color:var(--weak)}
.gengen-f .price del{font-size:.85em;color:var(--weak)}
.gengen-f .price ins{text-decoration:none}

/* ---------- 販売停止（Sold out）：商品情報は残し、次回の入荷・出荷待ちを案内する（260921定例） ---------- */
.gengen-card-image.is-soldout img{opacity:.5}
.gengen-soldout-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:.45rem 1.4rem;border:1px solid var(--sumi);background:rgba(252,250,248,.92);color:var(--sumi);font-family:var(--f-en);font-style:italic;font-size:1.15rem;letter-spacing:.14em;white-space:nowrap}
.gengen-soldout-label{margin:0 0 .5rem;font-family:var(--f-en);font-style:italic;font-weight:500;font-size:1.6rem;letter-spacing:.14em;color:var(--sumi)}
.gengen-soldout-note{margin:0;font-size:.9rem;line-height:1.9;color:var(--sub)}

/* ---------- ボタン（角R0・影なし。主＝深緑の面／副＝深緑の罫） ---------- */
.gengen-f :where(.woocommerce,.gengen-purchase-panel,.gengen-commerce) :where(a.button,button.button,input.button,.checkout-button,#place_order){display:inline-flex;justify-content:center;align-items:center;gap:.6rem;min-height:50px;padding:.9rem 1.8rem;font-family:var(--f-sans);font-size:.86rem;font-weight:400;line-height:1.6;letter-spacing:.14em;text-align:center;border:1px solid var(--green);border-radius:0;background:transparent;color:var(--green);cursor:pointer;white-space:normal;box-shadow:none;text-decoration:none;transition:background .3s,color .3s,border-color .3s}
.gengen-f :where(.woocommerce,.gengen-purchase-panel,.gengen-commerce) :where(.button.alt,#place_order,.checkout-button,.single_add_to_cart_button){background:var(--green);color:var(--on-dark)}
.gengen-f :where(.woocommerce,.gengen-purchase-panel,.gengen-commerce) .button:hover{background:var(--green);color:var(--on-dark)}
.gengen-f :where(.woocommerce,.gengen-purchase-panel,.gengen-commerce) :where(.button.alt,#place_order,.checkout-button,.single_add_to_cart_button):hover{background:var(--sumi);border-color:var(--sumi);color:var(--on-dark)}
.gengen-f :where(.woocommerce,.gengen-purchase-panel,.gengen-commerce) :where(button:disabled,.button.disabled,.button:disabled){opacity:.5;cursor:not-allowed}

/* ---------- 入力欄 ---------- */
.gengen-f :where(.woocommerce,.gengen-purchase-panel) :where(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]),select,textarea){max-width:100%;min-height:48px;border:1px solid var(--line-2);border-radius:0;padding:11px 13px;color:var(--sumi);background:#fff;font-size:16px;font-weight:400;line-height:1.5;box-shadow:none}
.gengen-f :where(.woocommerce,.gengen-purchase-panel) :where(select){color-scheme:light}
.gengen-f :where(.woocommerce,.gengen-purchase-panel) :where(input,select,textarea):focus-visible{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}
.gengen-f :where(.woocommerce,.gengen-purchase-panel) :where(input,textarea)::placeholder{color:var(--weak);opacity:1}
.gengen-f :where(.woocommerce,.gengen-purchase-panel) :where(input[type=checkbox],input[type=radio]){accent-color:var(--green);width:20px;height:20px;vertical-align:middle;margin-right:8px;flex-shrink:0}
.gengen-f .form-row{margin:0 0 22px;display:block}
.gengen-f .form-row label{display:block;font-size:.85rem;font-weight:400;letter-spacing:.08em;color:var(--sumi);margin-bottom:7px;line-height:1.8}
.gengen-f .form-row .woocommerce-input-wrapper{display:block}
.gengen-f .form-row :where(input.input-text,select,textarea){width:100%}
.gengen-f .form-row textarea{min-height:120px;resize:vertical}
.gengen-f .form-row-first{width:48%;float:left}
.gengen-f .form-row-last{width:48%;float:right}
.gengen-f .form-row-wide{clear:both}
.gengen-f .clear{clear:both}
.gengen-f .required{color:var(--kin-t);text-decoration:none}
.gengen-f .optional{color:var(--weak);font-size:.8rem}
.gengen-f .woocommerce-invalid :where(input,select){border-color:#9C3A2C!important}

/* ---------- お知らせ（エラー・案内・完了） ---------- */
.gengen-f :where(.woocommerce-error,.woocommerce-info,.woocommerce-message){padding:18px 22px;margin:0 0 28px;background:var(--face);border:0;border-left:3px solid var(--green);color:var(--sumi);font-size:.87rem;line-height:1.9;list-style:none}
.gengen-f .woocommerce-error{border-left-color:#9C3A2C}
.gengen-f .woocommerce-error li+li{margin-top:8px}
.gengen-f :where(.woocommerce-info,.woocommerce-message,.woocommerce-error) a:not(.button){color:var(--green);text-decoration:underline;text-underline-offset:4px}
.gengen-f .woocommerce-message .button{float:right;margin-left:20px}

/* ---------- 表・カート・合計 ---------- */
.gengen-f .shop_table{width:100%;border-collapse:collapse;border:0;margin:0 0 28px;font-size:.88rem;table-layout:auto}
.gengen-f .shop_table :where(th,td){border-bottom:1px solid var(--line-2);padding:18px 12px;text-align:left;vertical-align:middle}
.gengen-f .shop_table th{font-weight:400;color:var(--sumi)}
.gengen-f .shop_table td{color:var(--sub)}
.gengen-f .shop_table thead th{font-family:var(--f-min);font-weight:500;letter-spacing:.14em;border-bottom-color:var(--sumi)}
.gengen-f .shop_table .amount{color:var(--sumi);font-variant-numeric:lining-nums tabular-nums;letter-spacing:.02em;white-space:nowrap}
.gengen-f .shop_table .product-thumbnail{width:110px}
.gengen-f .shop_table .product-thumbnail img{width:80px;height:80px;object-fit:cover;background:var(--face)}
.gengen-f .shop_table .product-name>a{font-family:var(--f-min);font-size:1rem;letter-spacing:.1em;line-height:1.7;color:var(--sumi)}
.gengen-f a.remove{display:inline-flex;min-width:40px;min-height:44px;align-items:center;justify-content:center;color:var(--weak);font-size:1.6rem;transition:color .3s}
.gengen-f a.remove:hover{color:var(--sumi)}
.gengen-f .shop_table .variation{font-size:.78rem;line-height:1.9;margin-top:8px}
.gengen-f .variation dt{font-weight:400;float:left;margin-right:6px}
.gengen-f .variation dd{margin:0}
.gengen-f .shop_table .actions{text-align:right;padding:24px 0}
.gengen-f .coupon{display:flex;align-items:center;gap:10px;float:left;max-width:100%}
.gengen-f .coupon label{font-size:.8rem}
.gengen-f .coupon input{width:160px}
.gengen-f .cart-collaterals{display:flex;justify-content:flex-end;clear:both;margin-top:56px}
.gengen-f .cart_totals{width:48%;padding:36px 36px 32px;background:var(--face)}
.gengen-f .cart_totals h2{font-family:var(--f-min);font-size:1.4rem;font-weight:500;letter-spacing:.16em;margin-bottom:18px}
.gengen-f .cart_totals .shop_table th{width:35%;padding-left:0}
.gengen-f .cart_totals .shop_table td{padding-right:0}
.gengen-f .wc-proceed-to-checkout .checkout-button{width:100%}
.gengen-f #shipping_method li{margin:9px 0;line-height:1.8}
.gengen-f #shipping_method label{display:inline;font-size:.85rem}
.gengen-f .shipping-calculator-button{display:inline-block;margin-top:14px;color:var(--green);text-decoration:underline;text-underline-offset:4px}
.gengen-f .shipping-calculator-form{padding-top:18px}
.gengen-f .woocommerce-shipping-destination{font-size:.78rem;margin-top:14px}
.gengen-f .order-total .amount{font-size:1.35rem;color:var(--sumi)}

/* ---------- 購入手続き ---------- */
.gengen-f form.checkout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:0 56px;align-items:start}
.gengen-f #customer_details{grid-column:1;grid-row:1/4;min-width:0}
.gengen-f #customer_details :is(.col-1,.col-2){width:100%;float:none}
.gengen-f #order_review_heading{grid-column:2;margin:0;padding:32px 32px 0;background:var(--face)}
.gengen-f #order_review{grid-column:2;padding:20px 32px 32px;background:var(--face);min-width:0}
.gengen-f .woocommerce :where(h2,h3){font-family:var(--f-min);font-weight:500;letter-spacing:.14em;line-height:1.7;color:var(--sumi)}
.gengen-f .woocommerce h3{font-size:1.3rem;margin:0 0 24px}
.gengen-f .woocommerce h2{font-size:1.45rem;margin:0 0 24px}
.gengen-f .woocommerce-additional-fields{margin-top:34px}
.gengen-f #ship-to-different-address{font-family:var(--f-sans);font-size:.92rem;letter-spacing:.06em;margin-top:32px}
.gengen-f #payment{padding-top:12px;border-top:1px solid var(--line-2)}
.gengen-f #payment .payment_methods>li{padding:18px 0;border-bottom:1px solid var(--line-2)}
.gengen-f #payment .payment_methods>li>label{display:inline;font-size:.9rem;color:var(--sumi)}
.gengen-f #payment .payment_methods>li>label img{display:inline-block;width:auto;height:26px;max-width:100px;vertical-align:middle;margin-left:10px;object-fit:contain}
.gengen-f #payment .payment_box{padding:18px 0 0;font-size:.84rem;color:var(--sub)}
.gengen-f #payment fieldset{border:0;min-width:0}
.gengen-f #payment .place-order{margin:24px 0 0}
.gengen-f #place_order{width:100%;margin-top:18px}
.gengen-f :is(.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper){font-size:.78rem;line-height:1.9;color:var(--sub)}
.gengen-f :is(.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper) a{color:var(--green);text-decoration:underline}
.gengen-f .woocommerce-terms-and-conditions{background:#fff;border:1px solid var(--line-2);padding:20px}
/* Stripe：入力欄は白地・墨文字（テーマの明るい入力欄と揃える） */
.gengen-f :is(.wc-stripe-elements-field,.wc-stripe-iban-element-field){background:#fff;padding:14px;border:1px solid var(--line-2);min-height:48px}
body.gengen-f #wc-stripe-upe-form{background:#fff;color:var(--sumi);padding:16px;letter-spacing:normal}
.gengen-f #wc-stripe-upe-form iframe{max-width:100%}
.gengen-f .woocommerce-SavedPaymentMethods-token{margin-bottom:12px}
.gengen-f .woocommerce-SavedPaymentMethods-token label{display:inline}
/* 国・都道府県の選択（select2） */
.gengen-f .select2-container{max-width:100%}
.gengen-f .select2-container--default .select2-selection--single{min-height:48px;background:#fff;border:1px solid var(--line-2);border-radius:0}
.gengen-f .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--sumi);line-height:46px;padding-left:13px}
.gengen-f .select2-container--default .select2-selection--single .select2-selection__arrow{height:46px}
.gengen-f .select2-dropdown{background:#fff;color:var(--sumi);border:1px solid var(--line-2);border-radius:0}
.gengen-f .select2-search__field{background:#fff;color:var(--sumi)}
.gengen-f .select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--green);color:var(--on-dark)}
.gengen-f .select2-container--default .select2-results__option[aria-selected=true]{background:var(--face);color:var(--sumi)}

/* ---------- マイアカウント・注文・定期便・商品タブ ---------- */
.gengen-f .woocommerce-MyAccount-navigation{float:left;width:23%;border-top:1px solid var(--line-2)}
.gengen-f .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line-2)}
.gengen-f .woocommerce-MyAccount-navigation a{display:block;padding:16px;font-size:.86rem;letter-spacing:.1em;color:var(--sub)}
.gengen-f .woocommerce-MyAccount-navigation a:hover{color:var(--sumi)}
.gengen-f .woocommerce-MyAccount-navigation .is-active a{background:var(--face);color:var(--sumi);border-left:2px solid var(--green)}
.gengen-f .woocommerce-MyAccount-content{float:right;width:71%;min-width:0}
.gengen-f .woocommerce::after{content:"";display:block;clear:both}
.gengen-f .woocommerce-MyAccount-content p{margin-bottom:20px}
.gengen-f .woocommerce-MyAccount-content p a{color:var(--green);text-decoration:underline;text-underline-offset:4px}
.gengen-f .woocommerce-MyAccount-content .button{margin:4px}
.gengen-f .gengen-main mark{background:none;color:var(--sumi);font-weight:500}
.gengen-f :is(.woocommerce-form-login,.woocommerce-form-register,.lost_reset_password){padding:36px;border:1px solid var(--line-2);background:#fff;max-width:620px}
.gengen-f #customer_login{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.gengen-f #customer_login>:is(.col-1,.col-2){min-width:0}
.gengen-f .woocommerce-form-login .form-row{float:none;width:100%}
.gengen-f .woocommerce-form-login .woocommerce-form-login__rememberme{margin-bottom:14px}
.gengen-f .lost_password{font-size:.82rem;margin-top:20px}
.gengen-f .lost_password a{color:var(--green);text-decoration:underline;text-underline-offset:4px}
.gengen-f .show-password-input{color:var(--sub)}
.gengen-f .password-input{display:flex;position:relative;align-items:center}
.gengen-f .password-input input{flex:1;min-width:0}
.gengen-f .password-input .show-password-input{background:transparent;border:0;padding:8px;cursor:pointer}
.gengen-f .woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:32px}
.gengen-f .woocommerce-Address{border:1px solid var(--line-2);padding:24px;min-width:0}
.gengen-f .woocommerce-Address-title :is(h2,h3){font-size:1.15rem;margin-bottom:12px}
.gengen-f address{font-style:normal;color:var(--sub)}
.gengen-f .woocommerce-Address-title .edit{display:inline-block;margin-bottom:16px;font-size:.8rem;color:var(--green);text-decoration:underline}
.gengen-f .woocommerce fieldset{border:1px solid var(--line-2);padding:24px;margin:24px 0}
.gengen-f .woocommerce legend{padding:0 10px}
.gengen-f .woocommerce-order-overview{display:flex;flex-wrap:wrap;gap:24px;padding:28px;background:var(--face);margin:28px 0}
.gengen-f .woocommerce-order-overview li{font-size:.8rem;letter-spacing:.08em;color:var(--sub);flex:1;min-width:150px}
.gengen-f .woocommerce-order-overview strong{display:block;color:var(--sumi);font-size:1rem;font-weight:400}
.gengen-f :is(.woocommerce-order-details,.woocommerce-customer-details){padding:36px 0}
.gengen-f .woocommerce-order-downloads{padding-block:30px}
.gengen-f .woocommerce-tabs{padding-top:0;margin-top:0}
.gengen-f .woocommerce-tabs .tabs{display:flex;gap:32px;flex-wrap:wrap;border-bottom:1px solid var(--line-2);margin-bottom:32px}
.gengen-f .woocommerce-tabs .tabs a{display:block;padding:16px 0;font-size:.9rem;letter-spacing:.12em;color:var(--sub)}
.gengen-f .woocommerce-tabs .tabs .active a{border-bottom:2px solid var(--green);color:var(--sumi)}
.gengen-f .woocommerce-tabs .panel{padding:0 0 30px}
.gengen-f .woocommerce-tabs .panel>h2{font-family:var(--f-min);font-weight:500;font-size:1.2rem;letter-spacing:.14em;margin-bottom:1rem;color:var(--sumi)}
.gengen-f .woocommerce-tabs .panel p{margin-bottom:20px;color:var(--sub)}
.gengen-f .woocommerce-product-attributes{width:100%;border-collapse:collapse}
.gengen-f .woocommerce-product-attributes :is(th,td){border-bottom:1px solid var(--line-2);padding:14px;text-align:left}
.gengen-f dialog{background:var(--white);color:var(--sumi);border:1px solid var(--line-2);padding:28px;max-width:calc(100vw - 32px);margin:auto}
.gengen-f dialog::backdrop{background:rgba(39,38,36,.45)}
.gengen-f .blockUI.blockOverlay{background:#FCFAF8!important;opacity:.6!important}

/* 定期便（subscriptions-for-woocommerce）：gengen-kantan が wp_head 1000 でブランド4色の表を出す。
   角と見出しの面だけF案に揃え、表の横スクロール・行構造・フォーカスの手当てはプラグインのまま使う。 */
body.gengen-f .woocommerce-MyAccount-content :is(.wps_sfw_account_wrap,.wps_sfw_details_wrap,.wps_sfw_account_additional_wrap){border-radius:0!important;box-shadow:none!important}
body.gengen-f .woocommerce-MyAccount-content .wps_sfw_account_additional_wrap{border:1px solid var(--line-2)}
body.gengen-f .woocommerce-MyAccount-content .wps_sfw_details_wrap{border:0!important}
body.gengen-f .woocommerce-MyAccount-content :is(.wps_sfw_account_wrap,.wps_sfw_details_wrap) :is(h2,h3,h4){background:var(--face)!important;color:var(--sumi)!important;font-family:var(--f-min);font-weight:500;letter-spacing:.12em;border-radius:0!important}
body.gengen-f .woocommerce-MyAccount-content :is(.wps_sfw_account_wrap,.wps_sfw_details_wrap) th{background:var(--face)!important}
body.gengen-f .woocommerce-MyAccount-content :is(.wps_sfw_account_wrap,.wps_sfw_details_wrap) a.button{border-radius:0;text-decoration:none}
body.gengen-f .woocommerce-MyAccount-content :is(.wps_sfw_account_wrap,.wps_sfw_details_wrap) a.button:hover{background:var(--green)!important;color:var(--on-dark)!important}
body.gengen-f .woocommerce-MyAccount-content .wps_sfw_sub_detail_back{display:inline-flex;align-items:center;min-height:44px;gap:8px;color:var(--green)!important;text-decoration:underline;text-underline-offset:.2em;margin-bottom:16px}
body.gengen-f .woocommerce-MyAccount-content .wps_sfw_sub_detail_back::before{color:var(--green)!important;border-color:var(--green)!important}
body.gengen-f .woocommerce-MyAccount-content .wps_sfw_sub_detail_back svg{fill:currentColor;stroke:currentColor}
body.gengen-f .woocommerce-MyAccount-content :is(.wps_sfw_account_wrap,.wps_sfw_details_wrap) .woocommerce-orders-table__cell-order-status span{display:inline-block;background:#fff!important;color:var(--sumi)!important;border:1px solid var(--line-2);border-radius:0;padding:3px 10px;font-size:.8rem;line-height:1.8;white-space:nowrap}
body.gengen-f .woocommerce-MyAccount-content :is(.wps_sfw_account_wrap,.wps_sfw_details_wrap) .woocommerce-orders-table__cell-order-status.wps_sfw_active span{color:var(--green)!important;border-color:var(--green)}

/* 非表示ラベルがクーポン欄の横並びの幅を引き継がないようにする（SPの横溢れ対策・E案監査の指摘5） */
body.gengen-f .screen-reader-text{position:absolute!important;width:1px!important;min-width:0!important;max-width:1px!important;height:1px!important;min-height:0!important;max-height:1px!important;padding:0!important;margin:-1px!important;border:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;flex:none!important}

@keyframes gengen-reveal{from{opacity:.6;transform:translateY(12px)}to{opacity:1;transform:none}}
.gengen-revealed{animation:gengen-reveal .8s cubic-bezier(.16,.5,.2,1) both}

/* ===================== ≤1080（ヘッダーはハンバーガーへ。theme-f.css と同じ境目） ===================== */
@media (max-width:1080px){
  .gengen-f .p-hero-grid{gap:0 48px}
  .gengen-f .story-grid{gap:0 48px}
  .gengen-f form.checkout{gap:0 32px}
  .gengen-f ul.products{gap:56px 28px}
}
/* ===================== ≤900 ===================== */
@media (max-width:900px){
  .gengen-product-gallery{position:relative;top:auto;max-width:660px;width:100%}
  .gengen-f .p-hero-grid{grid-template-columns:1fr;gap:56px 0}
  .gengen-f .story-grid{grid-template-columns:1fr;gap:40px 0}
  .gengen-f form.checkout{display:block}
  .gengen-f #order_review_heading{margin-top:36px}
  .gengen-f ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gengen-f .cart_totals{width:70%}
  .gengen-f .woocommerce-MyAccount-navigation{float:none;width:100%;margin-bottom:32px}
  .gengen-f .woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;gap:0 14px}
  .gengen-f .woocommerce-MyAccount-navigation li{flex:1 1 140px}
  .gengen-f .woocommerce-MyAccount-content{float:none;width:100%}
  .gengen-f .shop_table .actions>.button{margin-top:16px}
  .gengen-f .coupon{float:none;flex-wrap:wrap}
  .gengen-f #customer_login{grid-template-columns:1fr}
}
/* ===================== ≤782（WordPress管理バーの高さが変わる） ===================== */
@media (max-width:782px){.gengen-f.admin-bar .gengen-header{top:46px}}
/* ===================== ≤768（SP。theme-f.css と同じ境目） ===================== */
@media (max-width:768px){
  .gengen-commerce{padding-top:32px;padding-bottom:88px}
  .gengen-page-heading{margin-bottom:36px}
  .gengen-f:is(.woocommerce-shop,.tax-product_cat,.tax-product_tag) .gengen-page-heading{grid-template-columns:auto auto 1fr;grid-template-areas:"h1 ey ." "lead lead lead";gap:24px 20px;padding-top:8px}
  .gengen-f:is(.woocommerce-shop,.tax-product_cat,.tax-product_tag) .gengen-page-heading .lead{padding:0;font-size:.92rem}
  .gengen-checkout-steps{font-size:.72rem;margin-bottom:28px}
  .gengen-checkout-steps li{padding-right:10px;gap:6px}
  .gengen-checkout-steps li+li::before{width:14px;margin-right:8px}
  .gengen-f .p-hero{padding:28px 0 88px}
  .gengen-product-gallery::before{left:-20px;top:40px;right:18%;bottom:-24px}
  .gengen-f .p-main{margin-right:8%}
  .gengen-f .p-thumbs{gap:8px;margin-left:8%}
  .gengen-set-gallery{margin-right:8%}
  .gengen-f .p-name{font-size:clamp(1.45rem,6.4vw,1.8rem);letter-spacing:.12em}
  .gengen-f .p-catch{font-size:1.15rem}
  .gengen-purchase-panel{padding:22px 18px 18px}
  .gengen-f .gengen-product-story{padding:88px 0}
  .gengen-f .story-grid .pic{border-width:8px}
  .gengen-product-details{padding-top:64px}
}
/* ===================== ≤600 ===================== */
@media (max-width:600px){
  .gengen-f.admin-bar .gengen-header{top:0}
  .gengen-f ul.products{grid-template-columns:1fr;gap:56px}
  .gengen-f .woocommerce-ordering{float:none;display:block}
  .gengen-f .woocommerce-ordering select{width:100%}
  .gengen-f .woocommerce-result-count{margin-bottom:14px}
  .gengen-f .cart_totals{width:100%;padding:24px 18px}
  .gengen-f .shop_table_responsive thead{display:none}
  .gengen-f :is(.shop_table_responsive,.shop_table_responsive tbody,.shop_table_responsive tr){display:block;width:100%}
  .gengen-f .shop_table_responsive tr{padding-block:16px;border-bottom:1px solid var(--line-2)}
  .gengen-f .shop_table_responsive td{display:flex;gap:14px;justify-content:space-between;align-items:center;text-align:right;padding:10px 0;width:100%;border:0;flex-wrap:wrap}
  .gengen-f .shop_table_responsive td[data-title]::before{content:attr(data-title);font-weight:400;color:var(--sumi);text-align:left}
  .gengen-f .shop_table_responsive td.product-thumbnail{justify-content:center}
  .gengen-f .shop_table_responsive td.product-thumbnail img{width:120px;height:120px}
  .gengen-f .shop_table_responsive td.product-remove{justify-content:flex-end}
  .gengen-f .shop_table_responsive td.product-name{display:block;text-align:left;max-width:100%}
  .gengen-f .shop_table_responsive td.product-name::before{display:none}
  .gengen-f .shop_table_responsive .actions{display:block}
  .gengen-f .coupon label{width:100%;text-align:left}
  .gengen-f .coupon input{flex:1;width:140px;min-width:0}
  .gengen-f .coupon .button{padding-inline:14px}
  .gengen-f .cart-collaterals{margin-top:30px}
  .gengen-f :is(.form-row-first,.form-row-last){float:none;width:100%}
  .gengen-f #order_review_heading{padding:24px 18px 0}
  .gengen-f #order_review{padding:18px}
  .gengen-f #order_review .shop_table :where(th,td){padding:14px 5px;font-size:.8rem}
  .gengen-f .shop_table .product-name{max-width:65%;overflow-wrap:anywhere}
  .gengen-f .shop_table .variation{white-space:normal}
  .gengen-f .woocommerce-message .button{float:none;display:flex;margin:0 0 14px}
  .gengen-f .woocommerce-Addresses{grid-template-columns:1fr}
  .gengen-f :is(.woocommerce-form-login,.woocommerce-form-register,.lost_reset_password){padding:24px 18px}
  .gengen-f .woocommerce fieldset{padding:18px}
  .gengen-f .woocommerce-order-overview{padding:20px}
  .single-product .gengen-main>.woocommerce-notices-wrapper{padding-inline:20px}
  /* カート合計：行見出し（th）を残し、SP用の重複ラベル（td::before）を出さない（E案監査の指摘5） */
  body.gengen-f .cart_totals .shop_table_responsive td[data-title]::before{content:none;display:none}
  body.gengen-f .cart_totals .shop_table_responsive tr{display:grid;grid-template-columns:minmax(72px,.65fr) minmax(0,1.35fr);gap:12px;align-items:start}
  body.gengen-f .cart_totals .shop_table_responsive th{display:block;width:auto;padding:10px 0;border:0}
  body.gengen-f .cart_totals .shop_table_responsive td{display:block;text-align:right;padding:10px 0;min-width:0}
  /* 定期便の詳細：SPでは2枚の表を縦に積む（E案監査の指摘6） */
  body.gengen-f .woocommerce-MyAccount-content .wps_sfw_details_wrap{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;gap:24px!important;width:100%!important;min-width:0!important}
  body.gengen-f .woocommerce-MyAccount-content .wps_sfw_details_wrap>.wps_sfw_account_additional_wrap{flex:0 0 auto!important;float:none!important;width:100%!important;max-width:100%!important;min-width:0!important;margin-inline:0!important;box-sizing:border-box}
  body.gengen-f .woocommerce-MyAccount-content .wps_sfw_details_wrap :is(th,td){padding:12px 10px!important}
  body.gengen-f .woocommerce-MyAccount-content .wps_sfw_details_wrap tr>:first-child{width:36%!important}
}
@media (prefers-reduced-motion:reduce){.gengen-revealed{animation:none}html{scroll-behavior:auto}}

/* 261009 お知らせ（投稿）の詳細＝single-post.php。既存の画面には効かないクラスだけ */
.gengen-news-date{font-variant-numeric:lining-nums tabular-nums;letter-spacing:.14em;color:var(--kin-t)}
.gengen-news-body{max-width:46em;font-size:.98rem;line-height:2.1;color:var(--sub)}
.gengen-news-body>*+*{margin-top:1.4em}
.gengen-news-body :where(h2,h3,h4){font-family:var(--f-min);font-weight:500;letter-spacing:.12em;line-height:1.7;color:var(--sumi);margin-top:2.2em}
.gengen-news-body h2{font-size:1.35rem}
.gengen-news-body h3{font-size:1.15rem}
.gengen-news-body a{color:var(--sumi);border-bottom:1px solid var(--line-2)}
.gengen-news-body :where(ul,ol){padding-left:1.4em}
.gengen-news-body img{max-width:100%;height:auto}
.gengen-news-back{margin-top:64px}
/* 261011 お知らせ詳細のアイキャッチ画像（かんたん管理の「お知らせ」で付けた画像）。切り抜かずに全体を見せる */
.gengen-news-pic{max-width:720px;margin:0 0 56px}
.gengen-news-pic img{display:block;width:auto;max-width:100%;height:auto;max-height:min(72vh,640px);border:2px solid var(--white);outline:1px solid var(--line)}
@media (max-width:768px){.gengen-news-pic{margin-bottom:36px}.gengen-news-pic img{max-height:none}}

/* 261011 CEO指摘：カートの送料計算（配送先の入力）で、郵便番号が左半分・都道府県が右半分に寄り、
   「更新」ボタンが郵便番号の横へ回り込んで崩れる→この欄は縦一列・ボタンは下に全幅。 */
.woocommerce-shipping-calculator .form-row{float:none!important;width:100%!important;clear:both}
.woocommerce-shipping-calculator .shipping-calculator-form > p:last-of-type{clear:both;margin-top:.9rem}
.woocommerce-shipping-calculator .shipping-calculator-form button.button{width:100%;justify-content:center}

/* 261012 CEO「特商法ページの表組みのデザインをもっと綺麗に」：罫線で行を区切り、項目名は明朝・左揃え・改行させない。
   SP（768px以下）は項目名の下に内容を置く縦積み。表の中身（WPページ本文）は変えない。 */
.gengen-legal-table{width:100%;max-width:980px;border-collapse:collapse;border-top:1px solid var(--line-2);color:var(--sumi);font-size:.94rem;line-height:1.95;letter-spacing:.04em}
.gengen-legal-table tr{border-bottom:1px solid var(--line)}
.gengen-legal-table th,.gengen-legal-table td{padding:1.55rem 0;text-align:left;vertical-align:top}
.gengen-legal-table th{width:15em;padding-right:2.4rem;font-family:var(--f-min);font-weight:600;font-size:.95rem;letter-spacing:.12em;white-space:nowrap}
.gengen-legal-table td a{color:var(--green);text-decoration:underline;text-underline-offset:.2em}
@media (max-width:768px){
  .gengen-legal-table,.gengen-legal-table tbody,.gengen-legal-table tr,.gengen-legal-table th,.gengen-legal-table td{display:block;width:100%}
  .gengen-legal-table tr{padding:1.25rem 0}
  .gengen-legal-table th{padding:0 0 .5rem;white-space:normal;font-size:.9rem;color:var(--kin-t)}
  .gengen-legal-table td{padding:0;font-size:.9rem;line-height:1.9}
}

/* 261012 新規登録のハニーポット（人には見せない・読み上げもしない） */
.gengen-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* 261012 新規登録の完了案内（ログイン欄・新規登録欄の代わりに出す）。
   既存の「.gengen-f :where(.gengen-commerce) section{padding:0}」とリセットの list-style に負けないよう .gengen-f を付けて詳細度を上げる。 */
.gengen-f .gengen-registered{max-width:720px;padding:40px 44px;border:1px solid var(--line-2);background:#fff;color:var(--sumi);line-height:1.95}
.gengen-f .gengen-registered h2{font-family:var(--f-min);font-weight:500;font-size:1.35rem;letter-spacing:.14em;margin-bottom:1.1rem}
.gengen-f .gengen-registered-steps{margin:1.1rem 0 1.2rem 1.5em;padding:0;list-style:decimal}
.gengen-f .gengen-registered-steps li{margin:.35rem 0;padding-left:.3em}
.gengen-f .gengen-registered-note{font-size:.88rem;color:var(--sub)}
.gengen-f .gengen-registered-note a{color:var(--green);text-decoration:underline;text-underline-offset:.2em}
.gengen-f .gengen-registered-actions{margin-top:1.6rem}
@media (max-width:768px){.gengen-f .gengen-registered{padding:26px 20px}.gengen-f .gengen-registered h2{font-size:1.15rem}}

/* 261012 CEO「（ログインと新規登録の）枠の高さを揃えて」：左右の列を縦方向に伸ばし、枠（フォーム）を列の高さいっぱいに。
   あわせてパスワード欄が他の欄より狭かった（右の「表示」ボタンが場所を取っていた）→ボタンを欄の内側右端に重ね、文字で「表示／隠す」を出す。 */
.gengen-f #customer_login{align-items:stretch}
.gengen-f #customer_login>:is(.col-1,.col-2){display:flex;flex-direction:column;float:none;width:auto}
.gengen-f #customer_login :is(.woocommerce-form-login,.woocommerce-form-register){flex:1;max-width:none;margin-bottom:0}
.gengen-f .password-input{display:block;position:relative}
.gengen-f .password-input input{width:100%;padding-right:4.2em}
.gengen-f .password-input .show-password-input{position:absolute;top:50%;right:6px;transform:translateY(-50%);padding:6px 10px;line-height:1}
.gengen-f .password-input .show-password-input::after{content:"表示";font-size:.78rem;letter-spacing:.08em;color:var(--sub)}
.gengen-f .password-input .show-password-input.display-password::after{content:"隠す"}
/* 261012 CEO「新規登録ボタンとその上の文章の間に余白を入れて」 */
.gengen-f .woocommerce-form-register .woocommerce-privacy-policy-text{margin-bottom:28px}

/* 261012 CEO「ダッシュボードはダッシュボードっぽくして下さい。直近の注文表示や住所・決済方法の表示など」：
   マイアカウントのダッシュボード（woocommerce/myaccount/dashboard.php）。白地のカード（細罫・角0）を PC 2列／640px以下 1列。
   見出しは明朝。本文は1rem以上（高齢のお客様にも読める大きさ）。.gengen-dash の中だけに効かせ、他の画面は変えない。 */
.gengen-f .gengen-dash{color:var(--sumi);font-size:1rem;line-height:1.9}
.gengen-f .woocommerce-MyAccount-content .gengen-dash :where(p){margin:0}
.gengen-f .gengen-dash .ey{margin-bottom:.35rem}
.gengen-f .gengen-dash-hello{padding:0 0 26px;margin:0 0 28px;border-bottom:1px solid var(--line-2)}
.gengen-f .gengen-dash-name{font-family:var(--f-min);font-weight:500;font-size:clamp(1.45rem,2.2vw,1.8rem);letter-spacing:.14em;line-height:1.6;color:var(--sumi)}
.gengen-f .gengen-dash-sama{margin-left:.45em;font-size:.72em;letter-spacing:.1em}
.gengen-f .woocommerce-MyAccount-content .gengen-dash-lead{margin-top:.7rem;color:var(--sub);font-size:1rem}
.gengen-f .woocommerce-MyAccount-content .gengen-dash-logout{margin-top:.5rem;font-size:.88rem;color:var(--weak)}
.gengen-f .woocommerce-MyAccount-content .gengen-dash-logout a{color:var(--sub)}
.gengen-f .gengen-dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.gengen-f .gengen-dash-card{display:flex;flex-direction:column;min-width:0;padding:26px 28px 18px;background:#fff;border:1px solid var(--line-2)}
.gengen-f .gengen-dash-card.is-wide{grid-column:1/-1}
.gengen-f .gengen-dash-card.is-sub{border-left:3px solid var(--green)}
.gengen-f .gengen-dash-card-head{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.gengen-f .gengen-dash-card-head .ey{font-size:.86rem;margin-bottom:.15rem}
.gengen-f .woocommerce .gengen-dash-card-head h2{margin:0;font-size:1.2rem;letter-spacing:.14em;line-height:1.6}
.gengen-f .gengen-dash-card-body{flex:1;min-width:0}
.gengen-f .gengen-dash-card-foot{display:flex;flex-wrap:wrap;gap:4px 22px;align-items:center;margin-top:14px}
.gengen-f .gengen-dash-card-foot .button{margin:4px 0 8px;min-width:12em}
.gengen-f .gengen-dash a.gengen-dash-link{display:inline-flex;align-items:center;min-height:44px;color:var(--green);font-size:.96rem;letter-spacing:.08em;text-decoration:underline;text-underline-offset:4px}
.gengen-f .gengen-dash a.gengen-dash-link:hover{color:var(--sumi)}
.gengen-f .gengen-dash-empty{color:var(--sub)}
.gengen-f .woocommerce-MyAccount-content .gengen-dash-empty .gengen-dash-empty-title{color:var(--sumi);margin-bottom:.25rem}
.gengen-f .woocommerce-MyAccount-content .gengen-dash-note{margin-top:.6rem;font-size:.9rem;color:var(--sub)}
/* 直近のご注文 */
.gengen-f .gengen-dash-orders{margin:0;padding:0;list-style:none}
.gengen-f .gengen-dash-order{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px 26px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.gengen-f .gengen-dash-order:first-child{padding-top:2px}
.gengen-f .woocommerce-MyAccount-content .gengen-dash-order-meta{display:flex;flex-wrap:wrap;gap:0 1.2em;font-size:.9rem;color:var(--sub);font-variant-numeric:lining-nums tabular-nums}
.gengen-f .woocommerce-MyAccount-content .gengen-dash-order-items{margin-top:2px;font-family:var(--f-min);font-weight:500;font-size:1.04rem;letter-spacing:.08em;line-height:1.7;color:var(--sumi)}
.gengen-f .gengen-dash-order-more{font-family:var(--f-sans);font-weight:300;font-size:.9rem;letter-spacing:.04em;color:var(--sub)}
.gengen-f .gengen-dash-order-side{display:flex;align-items:center;justify-content:flex-end;gap:16px}
.gengen-f .gengen-dash-order-total{font-size:1.04rem;font-variant-numeric:lining-nums tabular-nums;letter-spacing:.02em;white-space:nowrap}
.gengen-f .gengen-dash-order-total .amount{color:var(--sumi)}
.gengen-f .gengen-dash-status{display:inline-block;padding:1px 10px;border:1px solid var(--line-2);background:#fff;color:var(--sumi);font-size:.88rem;line-height:1.8;letter-spacing:.06em;white-space:nowrap}
.gengen-f .gengen-dash-status.is-processing{border-color:var(--green);color:var(--green)}
.gengen-f .gengen-dash-status:is(.is-on-hold,.is-pending){border-color:var(--kin-t);color:var(--kin-t)}
.gengen-f .gengen-dash-status:is(.is-cancelled,.is-failed,.is-refunded){color:var(--weak)}
.gengen-f .gengen-dash a.gengen-dash-order-link{justify-self:end}
/* 定期便 */
.gengen-f .gengen-dash-stats{display:flex;flex-wrap:wrap;gap:12px 56px;margin:0}
.gengen-f .gengen-dash-stats dt{font-size:.9rem;color:var(--sub);letter-spacing:.08em}
.gengen-f .gengen-dash-stats dd{margin:0;font-family:var(--f-min);font-weight:500;font-size:1.6rem;line-height:1.5;letter-spacing:.06em;color:var(--sumi);font-variant-numeric:lining-nums}
.gengen-f .gengen-dash-stats dd.is-date{font-size:1.3rem;letter-spacing:.08em}
.gengen-f .gengen-dash-stats dd small{margin-left:.2em;font-size:.6em}
.gengen-f .gengen-dash-sub-names{margin:.9rem 0 0;padding:0;list-style:none}
.gengen-f .gengen-dash-sub-names li{padding-left:1em;text-indent:-1em}
.gengen-f .gengen-dash-sub-names li::before{content:"・"}
/* 住所・お支払い方法・アカウント */
.gengen-f .gengen-dash-address{font-style:normal;color:var(--sumi);line-height:1.9}
.gengen-f .gengen-dash-cards{margin:0;padding:0;list-style:none}
.gengen-f .gengen-dash-cards li{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;padding:8px 0}
.gengen-f .gengen-dash-cards li+li{border-top:1px solid var(--line)}
.gengen-f .gengen-dash-card-brand{flex-basis:100%;color:var(--sumi)}
.gengen-f .gengen-dash-card-last4{font-variant-numeric:lining-nums tabular-nums}
.gengen-f .gengen-dash-card-exp{font-size:.9rem;color:var(--sub);font-variant-numeric:lining-nums tabular-nums}
.gengen-f .gengen-dash-badge{display:inline-block;padding:0 8px;border:1px solid var(--green);color:var(--green);font-size:.88rem;line-height:1.8;white-space:nowrap}
.gengen-f .gengen-dash-account{margin:0}
.gengen-f .gengen-dash-account dt{font-size:.9rem;color:var(--sub);letter-spacing:.08em}
.gengen-f .gengen-dash-account dd{margin:0;color:var(--sumi);overflow-wrap:anywhere}
.gengen-f .woocommerce-MyAccount-content .gengen-dash-help{margin-top:28px;font-size:.92rem;color:var(--sub)}
@media (max-width:640px){
  .gengen-f .gengen-dash-grid{grid-template-columns:1fr;gap:18px}
  .gengen-f .gengen-dash-card{padding:22px 20px 14px}
  .gengen-f .gengen-dash-order{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}
  .gengen-f .gengen-dash-order-main{grid-column:1/-1}
  .gengen-f .gengen-dash-order-side{justify-content:flex-start;gap:12px}
  .gengen-f .gengen-dash-stats{gap:10px 36px}
  .gengen-f .gengen-dash-card-foot .button{width:100%}
}
