/* WordPress / WooCommerce 固有の部品を、承認デザインのトーンに合わせる。 */
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.footer__tagline { font-size:.8rem; opacity:.75; margin:0; }
.footer ul ul, .footer .menu { list-style:none; margin:0; padding:0; display:grid; gap:8px; font-size:.82rem; }
.bnav__home svg { stroke:var(--clover); }
.gnav a[aria-current] { color:var(--clover-deep); }

/* 背景は真っ白（生成りは使わない）。 */
:root { --cream:#fff; --paper:#fff; }
body { background:#fff; }
.header { background:rgba(255,255,255,.96); border-bottom-color:#ebe7e0; }
.bnav { background:rgba(255,255,255,.97); }
@media (max-width:860px) { .fv__copy { background:rgba(255,255,255,.95); } }
.rank .p-card::before { background:#fff; }
.p-card { border-color:#e9e5dd; }
.quick__form input { background:#f7f7f5; }

/* サイト全体を角ゴシックに（英字の飾り見出し .en だけセリフを残す）。 */
:root { --font:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; --heading:var(--font); }
body, button, input, select, textarea { font-family:var(--font); }
.fv__catch, .fv__lead, .sec__title, .season__txt > h3, .shop-intro h1, .concept h2, .checklist-promo h2, .promo h2, .footer h4 { font-family:var(--font); }
.fv__catch { font-weight:500; }
.editorial-caption span { font-family:var(--font); font-weight:700; }
.sec__title, .season__txt > h3 { font-weight:700; letter-spacing:.04em; }

/* トップ：白地に淡いセージの帯を挟み、波線でつなぐ（参考: yamauchinotori.jp） */
.band { --band:#f2f6ee; position:relative; background:var(--band); padding-bottom:96px; margin-top:64px; }
.band--deep { --band:#e3ecdb; margin-top:72px; padding-bottom:110px; }
.band::before, .band::after { content:""; position:absolute; left:0; right:0; height:46px; background:var(--band); pointer-events:none; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 46' preserveAspectRatio='none'%3E%3Cpath d='M0 46V24C120 6 240 0 360 8s240 30 360 30 240-26 360-30 240 10 360 22V46Z'/%3E%3C/svg%3E") center/100% 100% no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 46' preserveAspectRatio='none'%3E%3Cpath d='M0 46V24C120 6 240 0 360 8s240 30 360 30 240-26 360-30 240 10 360 22V46Z'/%3E%3C/svg%3E") center/100% 100% no-repeat; }
.band::before { top:-45px; }
.band::after { bottom:-45px; transform:scaleX(-1) scaleY(-1); }
.band--deep::after { display:none; }
.band-gap { padding-top:24px; }
.band-gap .promo { background:#fff; box-shadow:0 0 0 1px #e3e9dc, 0 18px 40px rgba(70,90,60,.06); }
.band .season__box { background:transparent; padding-inline:0; }
.band .p-card { background:#fff; }
@media (max-width:860px) {
  .band { padding-bottom:64px; margin-top:44px; }
  .band::before, .band::after { height:26px; }
  .band::before { top:-25px; }
  .band::after { bottom:-25px; }
  .band--deep { padding-bottom:80px; }
}
.season__box, .quick__tags a, .cta, .shop-footer, .column-ranking, .side__box, .card, .faq { background:#fff; }
.quick__tags a { border:1px solid #e6e2da; }
.column-ranking, .side__box, .card, .faq { border:1px solid #ece8e1; }
.fv::before { display:none; }
.header { background:rgba(255,255,255,.96); }
@media (max-width:860px) { .fv__copy { background:#fff; } }

/* 文字の太さで階層をつくる：見出し・商品名・価格・ボタンは太く、本文は標準 */
.sec__title { font-weight:700; letter-spacing:.04em; color:#3b3530; }
.sec__title .en { font-weight:500; }
.gnav a, .quick__label, .sec__more, .season__chips button, .chips a { font-weight:500; }
.cat, .btn, .promo h2, .concept h2, .j-card__ttl, .season__txt > h3, .footer h4 { font-weight:700; }
.fv__catch { font-weight:700; }
.fv__lead, .promo p, .concept p, .season__txt > p { font-weight:400; color:#5a5048; }
.p-card__name { font-weight:500; color:#3b3530; }
.p-card__brand { font-weight:400; }

/* 商品情報は信頼感を優先して角ゴシック。FV・見出し・コラム本文はブランドの丸ゴ／明朝のまま。 */
:root { --sans: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; }
.p-card, .p-card *,
.bot__products, .bot__products *,
.woocommerce .detail div.product, .woocommerce .detail div.product *,
.set-deals, .set-deals *,
.woocommerce-cart .woocommerce, .woocommerce-cart .woocommerce *,
.woocommerce-checkout .woocommerce, .woocommerce-checkout .woocommerce *,
.wc-block-cart, .wc-block-cart *, .wc-block-checkout, .wc-block-checkout *,
.widget_shopping_cart_content, .widget_shopping_cart_content * { font-family:var(--sans); }
.p-card__name { font-weight:500; letter-spacing:.02em; }
.p-card__price { font-family:var(--sans); font-weight:700; letter-spacing:.01em; }

/* カート・注文概要：商品名は2行まで、説明は1行。狭い画面でも名前の列を確保する */
.wc-block-components-order-summary-item { display:grid!important; grid-template-columns:56px minmax(0,1fr) auto; gap:4px 12px; align-items:start; padding:12px 0!important; }
.wc-block-components-order-summary-item__image { width:56px!important; margin:0!important; padding:0!important; }
.wc-block-components-order-summary-item__image img { width:56px!important; height:56px; object-fit:contain; border-radius:8px; background:#fff; border:1px solid #eee; }
.wc-block-components-order-summary-item__description { min-width:0; padding:0!important; font-size:13px; line-height:1.55; }
.wc-block-components-order-summary-item__total-price { padding:0!important; font-weight:700; font-size:13px; white-space:nowrap; }
.wc-block-components-order-summary-item .wc-block-components-product-name,
.wc-block-cart-item__product .wc-block-components-product-name,
.woocommerce-checkout-review-order-table .product-name,
.woocommerce-cart-form .product-name a { display:-webkit-box!important; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; word-break:normal; overflow-wrap:anywhere; font-size:13px; line-height:1.55; font-weight:500; }
.wc-block-components-order-summary-item .wc-block-components-product-metadata,
.wc-block-cart-item__product .wc-block-components-product-metadata { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1; overflow:hidden; font-size:11px; color:var(--ink-soft); }
.wc-block-components-order-summary-item .wc-block-components-product-price { font-size:12px; }
.wc-block-components-order-summary-item__quantity { font-size:11px!important; min-width:20px; height:20px; }
.wc-block-cart-item__image img { object-fit:contain; }
.wc-block-cart .wc-block-cart-items__row { grid-template-columns:72px minmax(0,1fr) auto!important; column-gap:12px; }
.wc-block-cart .wc-block-cart-items__row .wc-block-cart-item__image { grid-column:1!important; }
.wc-block-cart .wc-block-cart-items__row .wc-block-cart-item__product { grid-column:2!important; min-width:0; padding-right:0!important; }
.wc-block-cart .wc-block-cart-items__row .wc-block-cart-item__total { grid-column:3!important; grid-row:1; white-space:nowrap; font-weight:700; }

/* 商品カード：<a> のカートボタン・読込中・セール */
a.btn-cart { text-decoration:none; }
.btn-cart.is-loading { opacity:.55; pointer-events:none; }
.p-card__img img { aspect-ratio:1; }
.p-card__badge--sale { left:auto; right:12px; background:var(--rose); color:#fff; }
.season__box .p-card[hidden] { display:none!important; }
/* 記事本文：角ゴシックで読みやすく（見出しの帯・表・結論ボックス・強調マーカー） */
.art h1, .art__body, .art__body * { font-family:var(--sans); }
.art h1 { font-weight:700; letter-spacing:.02em; line-height:1.6; }
.art__body { font-size:16px; line-height:1.95; letter-spacing:.03em; color:#3a3530; }
.art__body p { margin:0 0 1.4em; }
.art__body h2 { font-size:1.25rem; line-height:1.6; margin:2.6em 0 1em; padding:.75em 1em; background:#eef3ea; border-left:5px solid var(--clover); border-radius:6px; }
.art__body h3 { font-size:1.08rem; line-height:1.6; margin:2em 0 .8em; padding:0 0 .45em .8em; border-left:3px solid var(--clover); border-bottom:1px solid var(--sand); }
.art__body strong { font-weight:700; background:linear-gradient(transparent 62%, #f6e7b8 62%); }
.art__body a { color:var(--clover-deep); text-decoration:underline; text-underline-offset:3px; }
.art__body ul, .art__body ol { margin:0 0 1.4em; padding-left:1.4em; }
.art__body li { margin:.3em 0; }
.art__body blockquote { margin:0 0 1.6em; padding:1em 1.2em; background:#f7f9f5; border:1px solid #e3e8de; border-radius:12px; font-size:.94rem; line-height:1.85; }
.art__body blockquote p:last-child { margin-bottom:0; }
.art__body figure { margin:1.6em 0; }
.art__body .wp-block-table { overflow-x:auto; }
.art__body table { width:100%; border-collapse:collapse; font-size:.9rem; line-height:1.7; background:#fff; }
.art__body th, .art__body td { border:1px solid #e3ddd0; padding:.65em .8em; text-align:left; vertical-align:top; }
.art__body th { background:#f3efe6; font-weight:700; white-space:nowrap; }
.art__body .art__products { margin:1.2em 0 2em; }
.art__body .art__products .p-card { max-width:none; margin:0; }
.art__body .p-card strong { background:none; }
@media (max-width:600px) {
  .art__body { font-size:15.5px; line-height:1.9; }
  .art__body h2 { font-size:1.12rem; }
  .art__body th { white-space:normal; }
  .art__body .art__products { grid-template-columns:repeat(2, minmax(0,1fr)); }
}
.season__box--solo { grid-template-columns:1fr; }
@media (max-width:768px) { .season__box--solo .season__txt > h3 br { display:none; } }

/* カート（WooCommerce ミニカート） */
.drawer__body { display:flex; flex-direction:column; }
.drawer .widget_shopping_cart_content { display:flex; flex-direction:column; flex:1; }
.drawer .woocommerce-mini-cart { list-style:none; margin:0; padding:0; }
.drawer .woocommerce-mini-cart-item { position:relative; display:grid; grid-template-columns:64px 1fr; gap:4px 12px; align-items:center; padding:12px 28px 12px 0; border-bottom:1px dashed var(--beige); font-size:.82rem; line-height:1.5; }
.drawer .woocommerce-mini-cart-item > a:not(.remove) { display:contents; }
.drawer .woocommerce-mini-cart-item img { grid-row:span 2; width:64px; height:64px; object-fit:contain; background:#fff; border-radius:12px; }
.drawer .woocommerce-mini-cart-item .quantity { grid-column:2; color:var(--ink-soft); font-size:.8rem; }
.drawer .woocommerce-mini-cart-item .remove { position:absolute; right:0; top:50%; transform:translateY(-50%); width:28px; height:28px; display:grid; place-items:center; border-radius:50%; color:var(--ink-soft); font-size:1.2rem; }
.drawer .woocommerce-mini-cart-item .remove:hover { background:var(--beige); }
.drawer .woocommerce-mini-cart__empty-message { text-align:center; color:var(--ink-soft); margin-top:60px; font-size:.9rem; }
.drawer .woocommerce-mini-cart__total { display:flex; justify-content:space-between; margin:auto 0 14px; padding-top:20px; font-weight:700; border-top:1px solid var(--beige); }
.drawer .woocommerce-mini-cart__buttons { display:grid; gap:10px; margin:0 0 20px; }
.drawer .woocommerce-mini-cart__buttons a { display:flex; justify-content:center; align-items:center; padding:.9em 1.4em; border-radius:999px; font-weight:500; font-size:.92rem; border:1px solid #a7a394; }
.drawer .woocommerce-mini-cart__buttons a.checkout { background:#55764e; border-color:#55764e; color:#fff; }
.drawer .woocommerce-mini-cart__buttons a.checkout:hover { background:#42633c; }

/* 共通ボタン（WooCommerce） */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.wc-block-components-button:not(.is-link) {
  font-family:var(--font); background:#55764e; color:#fff; border-radius:999px; padding:.9em 1.8em; font-weight:500; letter-spacing:.04em;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover { background:#42633c; color:#fff; }
.woocommerce button.button:disabled, .woocommerce button.button.alt.disabled { background:#a9b5a2; }

/* お知らせ */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color:var(--clover); background:var(--paper); border-radius:14px; font-size:.88rem; }
.woocommerce-message::before, .woocommerce-info::before { color:var(--clover); }
.woocommerce-error { border-top-color:var(--warn); }
.woocommerce-message .button { float:right; padding:.5em 1.2em!important; font-size:.8rem; }

/* 商品一覧（WooCommerce の件数・並び順・ページ送り） */
.shop-results__head .woocommerce-result-count { float:none; margin:6px 0 0; font-size:11px; color:var(--ink-soft); }
.shop-results__head .woocommerce-ordering { float:none; margin:0; }
.shop-results__head .woocommerce-ordering select { font:inherit; font-size:11px; color:var(--ink); background:var(--paper); border:1px solid var(--sand); border-radius:8px; min-height:38px; padding:7px 8px; max-width:100%; }
.shop-active-filters a.shop-clear { font-size:11px; color:var(--clover-deep); text-decoration:underline; text-underline-offset:4px; }
.shop-categories a { text-decoration:none; }
.woocommerce nav.woocommerce-pagination { margin-top:36px; }
.woocommerce nav.woocommerce-pagination ul { border:0; display:flex; justify-content:center; gap:6px; }
.woocommerce nav.woocommerce-pagination ul li { border:0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width:40px; height:40px; display:grid; place-items:center; border-radius:999px; background:var(--paper); padding:0 12px; font-size:.85rem; }
.woocommerce nav.woocommerce-pagination ul li span.current { background:var(--ink); color:#fff; }

/* 商品詳細（承認モック product.html） */
.detail { width:min(1040px, 100% - 40px); margin:36px auto 80px; }
.detail__crumb { display:flex; gap:10px; flex-wrap:wrap; font-size:11px; color:var(--ink-soft); margin-bottom:28px; }
.detail__crumb a:hover { text-decoration:underline; text-underline-offset:4px; }
.woocommerce .detail div.product { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; }
.woocommerce .detail div.product div.images, .woocommerce .detail div.product div.summary { float:none; width:auto; margin:0; }
.woocommerce .detail div.product div.images { padding:28px; background:#fff; border:1px solid #e9e4db; border-radius:26px; }
.woocommerce .detail div.product div.images img { aspect-ratio:1; object-fit:contain; }
.woocommerce .detail div.product .woocommerce-tabs, .woocommerce .detail div.product .related, .woocommerce .detail div.product .upsells { grid-column:1/-1; }
.detail__brand { font-size:11px; color:#82786e; margin:0; }
.woocommerce .detail div.product .product_title { font-family:var(--sans); font-size:21px; font-weight:700; line-height:1.75; overflow-wrap:anywhere; margin:8px 0 18px; }
.woocommerce .detail div.product p.price, .woocommerce .detail div.product span.price { color:var(--ink); font:26px Arial,sans-serif; margin:0 0 20px; }
.woocommerce .detail div.product p.price small { font:11px var(--font); margin-left:4px; color:var(--ink-soft); }
.woocommerce .detail div.product .woocommerce-product-details__short-description { font-size:.86rem; color:var(--ink-soft); line-height:1.9; }
.woocommerce .detail div.product form.cart { display:flex; gap:12px; align-items:stretch; margin:22px 0; }
.woocommerce .detail div.product form.cart .quantity .qty { height:50px; width:72px; border:1px solid var(--sand); border-radius:12px; background:var(--paper); font:inherit; }
.woocommerce .detail div.product form.cart .single_add_to_cart_button { flex:1; max-width:320px; min-height:50px; font-size:.95rem; }
.woocommerce .detail div.product .stock { font-size:.8rem; color:var(--clover-deep); }
.woocommerce .detail div.product .stock.out-of-stock { color:var(--warn); }
.woocommerce .detail .product_meta { font-size:10px; color:var(--ink-soft); display:grid; gap:4px; margin-top:20px; overflow-wrap:anywhere; }
.detail__back { display:inline-block; margin-top:14px; font-size:12px; color:var(--ink); border-bottom:1px solid #b9beaf; justify-self:start; }
.woocommerce .detail div.product .woocommerce-tabs { margin-top:40px; }
.woocommerce .detail div.product .woocommerce-tabs ul.tabs { padding:0; margin:0 0 20px; display:flex; gap:8px; }
.woocommerce .detail div.product .woocommerce-tabs ul.tabs::before, .woocommerce .detail div.product .woocommerce-tabs ul.tabs li::before, .woocommerce .detail div.product .woocommerce-tabs ul.tabs li::after { display:none; }
.woocommerce .detail div.product .woocommerce-tabs ul.tabs li { margin:0; padding:0; border:1px solid var(--sand); border-radius:999px; background:var(--paper); }
.woocommerce .detail div.product .woocommerce-tabs ul.tabs li a { padding:.5em 1.2em; font-weight:500; font-size:.85rem; color:var(--ink); }
.woocommerce .detail div.product .woocommerce-tabs ul.tabs li.active { background:var(--ink); border-color:var(--ink); }
.woocommerce .detail div.product .woocommerce-tabs ul.tabs li.active a { color:#fff; }
.woocommerce .detail div.product .woocommerce-tabs .panel { background:var(--paper); border-radius:20px; padding:24px; font-size:.88rem; line-height:2; overflow-wrap:anywhere; }
.woocommerce .detail div.product .woocommerce-tabs .panel h2:first-child { font-size:1rem; }
.woocommerce .detail .related, .woocommerce .detail .upsells { margin-top:56px; padding-top:32px; border-top:1px solid #e7e1d6; }
.woocommerce .detail .related > h2, .woocommerce .detail .upsells > h2 { font:500 21px var(--heading); margin:0 0 24px; }
.woocommerce span.onsale { background:var(--rose); border-radius:999px; min-height:0; min-width:0; padding:.2em .9em; line-height:1.8; font-size:.72rem; font-weight:500; top:16px; left:16px; }

.set-deals { margin:24px 0 20px; padding:18px 16px; background:var(--paper); border:1px solid #eee9df; border-radius:18px; }
.set-deals h2 { margin:0 0 6px; font-size:1rem; }
.set-deals > p { margin:0 0 12px; color:var(--ink-soft); font-size:.8rem; }
.set-deals ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.set-deals a, .set-deals .is-current { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 12px; padding:10px 14px; border:1px solid var(--sand); border-radius:12px; font-size:.82rem; }
.set-deals .is-current { border-color:var(--clover); background:var(--sage); }
.set-deals .set-deals__save { color:var(--clover-deep); font-weight:700; }

/* 固定ページ（カート・購入手続き・マイページ） */
.wp-page { padding:40px 0 80px; }
.wp-page__in { max-width:1080px; }
.wp-page__title { margin:0 0 28px; }
.wp-page__content { line-height:2; }
.wp-page__content > :first-child { margin-top:0; }
.wp-page--center { text-align:center; }
.wp-page--center .en { color:var(--rose); margin:0; }
.wp-page--center .shop-search { max-width:520px; margin:24px auto; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; padding:0; margin:0; display:grid; gap:4px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:block; padding:10px 14px; border-radius:10px; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background:var(--sage); color:var(--clover-deep); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { border:1px solid var(--sand); border-radius:10px; background:var(--paper); padding:.7em .9em; font:inherit; }
.woocommerce form.login, .woocommerce form.register { border-color:var(--sand); border-radius:20px; background:var(--paper); }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input { border-radius:10px!important; }

/* チェックリスト（会員ツール本体はプラグイン） */
.promo--page { margin-top:0; }
.promo--page h1 { margin:6px 0 16px; font-family:var(--heading); font-size:clamp(1.5rem,2.6vw,2.1rem); font-weight:500; line-height:1.85; }
.checklist-app { margin-top:40px; }
.checklist-soon { display:flex; gap:20px; align-items:center; max-width:640px; margin:0 auto; padding:24px; background:var(--paper); border:1px solid #ebe5db; border-radius:24px; }
.checklist-soon img { flex:none; border-radius:50%; background:var(--sage); }
.checklist-soon p { margin:0 0 12px; font-size:.86rem; color:var(--ink-soft); }
.checklist-soon .checklist-soon__title { color:var(--ink); font-weight:700; font-size:1rem; margin-bottom:4px; }
.side__box--cta p { margin:0 0 12px; font-size:.82rem; }

/* ボット：商品へのリンク */
.bot__p a { color:inherit; }
.bot__p-link { background:var(--sage); color:var(--clover-deep); font-weight:700; font-size:.74rem; padding:.5em .8em; border-radius:999px; white-space:nowrap; }
.bot__p > span { width:54px; height:54px; background:#fff; border-radius:10px; }

@media (max-width:860px) {
  .woocommerce .detail div.product { grid-template-columns:minmax(0,1fr); gap:26px; }
  .woocommerce .detail div.product div.images { padding:24px; }
  .woocommerce .detail div.product .product_title { font-size:17px; line-height:1.7; }
  .woocommerce .detail div.product form.cart .single_add_to_cart_button { max-width:none; }
  .detail { margin:24px auto 40px; }
  .checklist-soon { flex-direction:column; text-align:center; }
  .wp-page { padding-top:24px; }
}

/* クロボ：カテゴリはグリッド、下部に入力欄 */
.bot__choices--grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.bot__choices--grid button { padding:.55em .6em; font-size:.78rem; text-align:center; line-height:1.35; }
.bot__form { display:flex; gap:8px; padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px)); border-top:1px solid #e6ebe1; background:#fff; }
.bot__form input { flex:1; min-width:0; height:42px; padding:0 14px; border:1.5px solid #cfdac7; border-radius:999px; background:#f7f9f5; font:inherit; font-size:16px; color:var(--ink); outline:none; }
.bot__form input:focus { border-color:var(--clover); background:#fff; }
.bot__form button { flex:none; height:42px; padding:0 16px; border:0; border-radius:999px; background:var(--clover-deep); color:#fff; font:inherit; font-size:.85rem; font-weight:700; }
.bot__p p a { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.bot__p > span { display:block; }
.bot__log { position:relative; }
.woocommerce-checkout .bot, .woocommerce-cart .bot__idle-speech { display:none; }

/* 枠なし・フラット：ドラッグストアECのように、薄いグレーの面と大きめの文字で信頼感を出す */
.p-card, .p-card:hover, .p-card:focus-within { border:0!important; box-shadow:none!important; transform:none!important; background:#f5f6f4!important; border-radius:10px; }
.p-card:hover .p-card__img img { opacity:.88; }
.p-card__img { background:transparent!important; padding:12px 12px 0!important; }
.p-card__img img { border-radius:6px; background:#fff; }
.band .p-card { background:#fff!important; }
.p-card__body { padding:12px 14px 14px!important; }
.p-card .p-card__brand { font-size:11px; color:#77736c; margin:0 0 2px; }
.p-card .p-card__name { font-size:14px!important; line-height:1.55!important; font-weight:500!important; color:#2f2b27; margin:0 0 8px; }
.p-card__price { font-size:20px!important; font-weight:700; color:#2f2b27; }
.p-card__price small { font-size:11px!important; margin-left:2px; }
.p-card__badge { border-radius:4px!important; }
.rank .p-card::before { border:0!important; background:#3f5a3a!important; color:#fff!important; border-radius:4px!important; }
.quick__box, .fv__badge, .cat__ico, .j-card__img, .column-ranking, .side__box, .card, .faq, .set-deals, .fv__copy { border:0!important; box-shadow:none!important; }
.cat__ico { background:#f5f6f4!important; }
.quick__box { background:#f5f6f4!important; border-radius:14px!important; }
.promo, .band-gap .promo { box-shadow:none!important; background:#f5f6f4!important; border-radius:16px!important; }
.promo::after { display:none; }
.column-ranking, .side__box, .card, .faq, .set-deals { background:#f5f6f4!important; border-radius:12px!important; }
.set-deals a, .set-deals .is-current { border:0!important; background:#fff; }
.set-deals .is-current { background:#e6eee0; }
.quick__tags a { border:0!important; background:#f1f2ef!important; }
.header__search, .shop-search, .quick__form input { border:0!important; background:#f1f2ef!important; box-shadow:none!important; }
.quick__form input { background:#fff!important; }
.sec__title { font-size:clamp(22px,2.4vw,28px); }
.sec__title .en { font-size:13px; }
@media (max-width:600px) {
  .p-card .p-card__name { font-size:13px!important; }
  .p-card__price { font-size:17px!important; }
  .p-card__body { padding:10px 10px 12px!important; }
}

/* ===== FV：特集アイキャッチの横スライド ===== */
.fvs { --w:min(760px,88vw); position:relative; padding:20px 0 6px; background:#fff; }
.fvs__track { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:0 calc((100% - var(--w)) / 2); outline:0; }
.fvs__track::-webkit-scrollbar { display:none; }
.fvs__slide { position:relative; flex:0 0 var(--w); aspect-ratio:1200 / 630; scroll-snap-align:center; border-radius:14px; overflow:hidden; background:#f5f6f4; color:var(--ink); text-decoration:none; opacity:.5; transition:opacity .4s; }
.fvs__slide.is-on, .fvs__slide:focus-visible { opacity:1; }
.fvs__slide img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s; }
.fvs__slide:hover img { transform:scale(1.03); }
.fvs__cap { position:absolute; left:20px; bottom:20px; max-width:min(58%,400px); display:flex; flex-direction:column; gap:8px; padding:16px 18px; border-radius:10px; background:rgba(255,255,255,.95); }
.fvs__tag { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:700; color:var(--clover-deep); letter-spacing:.08em; }
.fvs__tag i { font-style:normal; font-weight:500; color:var(--ink-soft); letter-spacing:0; }
.fvs__title { font-size:18px; font-weight:700; line-height:1.5; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.fvs__more { font-size:13px; font-weight:700; color:var(--clover-deep); }
.fvs__nav { position:absolute; top:calc(20px + var(--w) * .2625); transform:translateY(-50%); width:44px; height:44px; border:0; border-radius:50%; background:#fff; color:var(--ink); font-size:26px; line-height:1; cursor:pointer; box-shadow:0 2px 10px rgba(0,0,0,.12); z-index:2; }
.fvs__nav--prev { left:calc(50% - var(--w) / 2 - 22px); }
.fvs__nav--next { right:calc(50% - var(--w) / 2 - 22px); }
.fvs__dots { display:flex; justify-content:center; align-items:center; gap:8px; padding:14px 0 0; }
.fvs__dots button { width:8px; height:8px; padding:0; border:0; border-radius:4px; background:#d5dbd0; cursor:pointer; transition:width .3s, background .3s; }
.fvs__dots button.is-on { width:24px; background:var(--clover-deep); }
.fvs__dots .fvs__pause { width:auto; height:auto; margin-left:6px; background:none; color:var(--ink-soft); font-size:11px; }
.fvs + .quick { margin-top:12px; }
@media (max-width:760px) {
  .fvs { padding-top:12px; }
  .fvs__track { gap:10px; }
  .fvs__slide { border-radius:12px; }
  .fvs__cap { left:8px; right:8px; bottom:8px; max-width:none; gap:2px; padding:8px 10px; border-radius:8px; }
  .fvs__tag { font-size:11px; }
  .fvs__title { font-size:13px; line-height:1.45; -webkit-line-clamp:2; }
  .fvs__more { display:none; }
  .fvs__nav { display:none; }
}
