/*① TCDデフォルトウィジェット */
.p-widget-list{display:grid;align-content:start;grid-template-columns:repeat(3,1fr);gap:50px;font-size:16px;line-height:1.6}@media not all and (max-width:991px){.p-widget-list-pc{height:100%}.p-widget-list-sp{display:none}}@media (max-width:991px){.p-widget-list-sp+.p-widget-list-pc{display:none}}@container sidebar (max-width:1000px){.p-widget-list{grid-template-columns:repeat(2,1fr)}}@container sidebar (max-width:600px){.p-widget-list{grid-template-columns:repeat(1,1fr)}}.p-widget{position:relative}.p-widget-headline{position:relative;z-index:1;font-size:16px;font-weight:600;color:#fff;padding:calc(20px + var(--tcd-half-read)) 30px;background:var(--tcd-accent-color)}.widget_rss li{display:flex;flex-direction:column;row-gap:15px;padding:20px;border:1px solid #ddd;margin-top:-1px}.widget_rss .rsswidget{font-weight:600}.widget_rss .rss-date{order:-1;color:#999}:is(.widget_categories,.widget_archive,.widget_nav_menu,.widget_meta,.widget_pages) a{--tcd-widget-level:0;display:flex;justify-content:space-between;align-items:center;column-gap:5px;padding-block:calc(20px + var(--tcd-half-read));padding-inline:calc(20px + 1em * var(--tcd-widget-level)) 20px;border:1px solid #ddd;margin-top:-1px}:is(.widget_categories,.widget_archive) a.has-count:after{content:attr(data-count);display:grid;place-items:center;min-width:50px;height:30px;border-radius:5px;font-size:12px;color:#000;background:#fff;border:1px solid #ddd}:is(.widget_archive,.widget_categories) select{cursor:pointer;appearance:none;width:100%;height:60px;padding:0 20px;background:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgLTk2MCA5NjAgOTYwIiAgZmlsbD0iIzAwMDAwMCI+PHBhdGggZD0iTTQ4MC0zODQuODVxLTYuNDYgMC0xMS45Mi0yLjExLTUuNDYtMi4xMi0xMC43LTcuMzVMMjgxLjg1LTU2OS44NXEtNS42Mi01LjYxLTYtMTMuNzctLjM5LTguMTUgNi0xNC41MyA2LjM4LTYuMzkgMTQuMTUtNi4zOSA3Ljc3IDAgMTQuMTUgNi4zOUw0ODAtNDI4LjMxbDE2OS44NS0xNjkuODRxNS42MS01LjYyIDEzLjc3LTYgOC4xNS0uMzkgMTQuNTMgNiA2LjM5IDYuMzggNi4zOSAxNC4xNSAwIDcuNzctNi4zOSAxNC4xNUw1MDIuNjItMzk0LjMxcS01LjI0IDUuMjMtMTAuNyA3LjM1LTUuNDYgMi4xMS0xMS45MiAyLjExWiIvPjwvc3ZnPg==') right 15px center/1.5em no-repeat #fff;border:1px solid #ddd;margin-top:-1px}.widget_calendar .calendar_wrap{line-height:1}.p-widget-headline+.calendar_wrap{margin-top:25px}.widget_calendar .wp-calendar-table caption{font-weight:600;margin-bottom:.85em}.widget_calendar .wp-calendar-table th{font-size:.85em;font-weight:400;padding-block:1em}.widget_calendar .wp-calendar-table td{font-size:.85em;padding:.1em}.widget_calendar .wp-calendar-table td :is(a,span){display:grid;place-items:center;aspect-ratio:1;border-radius:50%}.widget_calendar .wp-calendar-table td a{background:#eee}.widget_calendar .wp-calendar-nav{font-size:.85em;margin-top:1em}.widget_media_gallery .gallery{--tcd-widget-gallery-columns:1;display:grid;grid-template-columns:repeat(var(--tcd-widget-gallery-columns),1fr);gap:5px;align-items:flex-start}.widget_media_gallery .gallery-columns-2{--tcd-widget-gallery-columns:2}.widget_media_gallery .gallery-columns-3{--tcd-widget-gallery-columns:3}.widget_media_gallery .gallery-columns-4{--tcd-widget-gallery-columns:4}.widget_media_gallery .gallery-columns-5{--tcd-widget-gallery-columns:5}.widget_media_gallery .gallery-columns-6{--tcd-widget-gallery-columns:6}.widget_media_gallery .gallery-columns-7{--tcd-widget-gallery-columns:7}.widget_media_gallery .gallery-columns-8{--tcd-widget-gallery-columns:8}.widget_media_gallery .gallery-columns-9{--tcd-widget-gallery-columns:9}.widget_media_gallery .gallery-item{position:relative;overflow:clip}.widget_media_gallery .wp-caption-text{position:absolute;inset:auto 0 0 0;color:#fff;background:rgba(0,0,0,.5);font-size:.85em;padding:.3em .8em;transform:translateY(100%);transition:transform .3s}.widget_recent_comments li{padding:calc(20px + var(--tcd-half-read)) 20px;border:1px solid #ddd;margin-top:-1px}.widget_recent_entries li{display:flex;flex-direction:column-reverse;row-gap:10px;padding:20px;border:1px solid #ddd;margin-top:-1px}.widget_recent_entries .post-date{font-size:.85em;color:#999;line-height:1;font-family:Arial}@media (any-hover:hover){.widget_rss a:hover{opacity:.5}:is(.widget_categories,.widget_archive,.widget_nav_menu,.widget_meta,.widget_pages) a:hover{color:rgba(0,0,0,.5)}.widget_calendar .wp-calendar-table td a:hover{color:#fff;background:#000}.widget_calendar .wp-calendar-nav a:hover,.widget_recent_comments a:hover,.widget_recent_entries a:hover{color:rgba(0,0,0,.5)}.widget_media_gallery .gallery-item:hover .wp-caption-text{transform:translateY(0)}}.widget_search .search-form{display:grid;grid-template-columns:1fr auto;grid-template-rows:60px;column-gap:10px;padding-inline:20px;border:1px solid #ddd;margin-top:-1px}.widget_search .search-field{width:100%;height:100%;background:#fff;border:none}.widget_search .search-field::-webkit-search-cancel-button{appearance:none}.widget_search .search-submit{display:grid;place-items:center;margin-right:-5px;padding:0;border:none;background:initial}.widget_media_image img{width:100%}.widget_media_image .p-widget-headline{margin-bottom:25px}.widget_media_image .wp-caption{display:grid;align-content:start;max-width:100%}.widget_media_image .wp-caption-text{font-size:14px;font-weight:600;text-align:center;padding:calc(22px + var(--tcd-half-read)) 10px;border:1px solid #ddd;border-top:none}



/*② WooCommerce デフォルトウィジェット */

/* 一部ウィジェットは見出しを変更 */
/* NOTE: 価格フィルター */
.widget_product_categories .product-categories>li.current-cat>a,.widget_product_categories li.is-active>a,.widget_rating_filter ul li a{color:var(--tcd-accent-color)}:is(.widget_price_filter,.widget_rating_filter,.widget_layered_nav) .p-widget-headline{color:var(--tcd-accent-color);padding:0;background:initial;margin-block:var(--tcd-half-read) calc(30px + var(--tcd-half-read))}.widget_brand_description img{margin-bottom:20px}:is(.widget_layered_nav,.widget_product_categories) li{position:relative;padding:0!important}


/* 1. 全体の最上部（最初の ul）に上枠をつける */
:is(.widget_layered_nav, .widget_product_categories) > ul:first-child {
    border-top: 1px solid #ddd;
}

/* 2. 基本の a タグは「下線」と「左右の枠」のみ（上線は持たせない） */
:is(.widget_layered_nav, .widget_product_categories) a {
    display: flex;
    align-items: center;
    column-gap: 5px;
    padding-block: calc(20px + var(--tcd-half-read)) !important;
    padding-inline: calc(30px + 1em * var(--tcd-widget-level, 0)) 20px !important;
    margin-top: 0;
    
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

/* 3. 2個目以降の ul (:nth-child(n+2)) 内の全 a タグから余計な上線を切る */
:is(.widget_layered_nav, .widget_product_categories) ul:nth-child(n+2) a {
    border-top: 0;
}

/* 4. 子階層 (children) 内の a タグの上線重複を切る */
.widget_product_categories ul.children a {
    border-top: 0;
}


:is(.widget_layered_nav,.widget_product_categories) ul ul{--tcd-widget-level:1}:is(.widget_layered_nav,.widget_product_categories) ul ul ul{--tcd-widget-level:2}:is(.widget_layered_nav,.widget_product_categories) ul ul ul ul{--tcd-widget-level:3}.widget_product_categories .product-categories ul.children .current-cat a{position:relative;z-index:1;color:#fff;background:color-mix(in srgb,var(--tcd-accent-color) 70%,#fff);border-color:color-mix(in srgb,var(--tcd-accent-color) 70%,#fff);margin-block:-1px}.widget_product_categories .product-categories ul.children .current-cat .count{color:var(--tcd-accent-color);border-color:#fff}.widget_product_categories .child-wrap{position:relative;display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.17, .84, .44, 1);background:#f6f6f6}.widget_product_categories .child-wrap>ul{overflow:hidden}.widget_product_categories a .toggle{display:block;flex:0 0 50px;align-self:stretch;background-image:var(--tcd-icon--arrow-bottom);background-repeat:no-repeat;background-position:right 20px center;background-size:1.5em;margin-block:calc(-20px - var(--tcd-half-read));margin-left:auto;margin-right:-20px;transition:opacity .2s}.widget_product_categories li.is-active .child-wrap{grid-template-rows:1fr}.widget_product_categories li.is-active .toggle{background-image:var(--tcd-icon--arrow-top)}.widget_product_categories li.is-active>a:has(+.child-wrap >.children>li:first-child.current-cat){border-bottom-color:#fff}:is(.widget_layered_nav,.widget_product_categories) .count{display:none}:is(.widget_layered_nav,.widget_product_categories) a .count{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;font-size:12px;line-height:1;color:inherit;background:#fff;border:1px solid #ddd;transition:color .3s;margin-left:auto;margin-right:-3px}.widget_layered_nav select{cursor:pointer;appearance:none;width:100%;height:60px;padding:0 20px;background:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgLTk2MCA5NjAgOTYwIiAgZmlsbD0iIzAwMDAwMCI+PHBhdGggZD0iTTQ4MC0zODQuODVxLTYuNDYgMC0xMS45Mi0yLjExLTUuNDYtMi4xMi0xMC43LTcuMzVMMjgxLjg1LTU2OS44NXEtNS42Mi01LjYxLTYtMTMuNzctLjM5LTguMTUgNi0xNC41MyA2LjM4LTYuMzkgMTQuMTUtNi4zOSA3Ljc3IDAgMTQuMTUgNi4zOUw0ODAtNDI4LjMxbDE2OS44NS0xNjkuODRxNS42MS01LjYyIDEzLjc3LTYgOC4xNS0uMzkgMTQuNTMgNiA2LjM5IDYuMzggNi4zOSAxNC4xNSAwIDcuNzctNi4zOSAxNC4xNUw1MDIuNjItMzk0LjMxcS01LjI0IDUuMjMtMTAuNyA3LjM1LTUuNDYgMi4xMS0xMS45MiAyLjExWiIvPjwvc3ZnPg==') right 15px center/1.5em no-repeat #fff;border:1px solid #ddd;margin-top:-1px}.woocommerce .widget_price_filter{font-size:16px}.woocommerce .widget_price_filter .price_slider{margin-bottom:30px}.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content{background-color:#ddd;margin-inline:7px}.woocommerce .widget_price_filter .ui-slider-horizontal{height:.25em}.woocommerce .widget_price_filter .ui-slider .ui-slider-range{background:#000}.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{top:-.38em;background-image:radial-gradient(circle closest-corner,#fff 40%,#000 30%)}.woocommerce .widget_price_filter .price_slider_amount{display:flex;align-items:center;--tcd-wc-number-width:85px;--tcd-wc-number-height:45px;--tcd-wc-number-width-sp:var(--tcd-wc-number-width);--tcd-wc-number-height-sp:var(--tcd-wc-number-height);--tcd-wc-number-text-align-sp:left}.woocommerce .widget_price_filter .price_slider_amount .button{float:none;flex:0 0 85px;height:45px;padding:0;font-size:14px;font-weight:400;color:#fff;background:#000;border-radius:5px;margin-left:auto}body:has(.woocommerce-widget-layered-nav-dropdown,.dropdown_product_cat) .select2-container{--wc-form-border-color:#ddd;--wc-form-border-radius:0px}body:has(.woocommerce-widget-layered-nav-dropdown,.dropdown_product_cat) .select2-results__option{padding:10px 15px}:is(.woocommerce-widget-layered-nav-dropdown,.widget_product_categories){margin-top:-1px}:is(.woocommerce-widget-layered-nav-dropdown,.widget_product_categories) .select2-container .select2-selection--single{height:auto;border-color:#ddd;border-radius:0}:is(.woocommerce-widget-layered-nav-dropdown,.widget_product_categories) .select2-container .select2-selection--single .select2-selection__rendered{padding:12px 15px}:is(.woocommerce-widget-layered-nav-dropdown,.widget_product_categories) .select2-container--default .select2-selection--single .select2-selection__arrow{top:12px;right:10px}:is(.woocommerce-widget-layered-nav-dropdown,.widget_product_categories):has(.select2-selection__clear) .select2-selection__arrow{display:none}.woocommerce-widget-layered-nav-dropdown:has(.select2-selection--multiple){display:flex}.woocommerce-widget-layered-nav-dropdown:has(.select2-selection--multiple) .select2-container{flex:1}:is(.woocommerce-widget-layered-nav-dropdown) .select2-container .select2-selection--multiple{height:auto;border-color:#ddd!important;border-radius:0}:is(.woocommerce-widget-layered-nav-dropdown) .select2-container .select2-selection--multiple .select2-selection__rendered{display:block;padding:0;margin:7px 15px 12px}:is(.woocommerce-widget-layered-nav-dropdown) .select2-container--default .select2-selection--multiple .select2-selection__choice{font-size:14px;padding:3px 5px!important;background:#f6f6f6;border-color:#ddd}:is(.woocommerce-widget-layered-nav-dropdown) .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{font-weight:400;margin-right:5px}:is(.woocommerce-widget-layered-nav-dropdown) .woocommerce-widget-layered-nav-dropdown__submit{position:relative;white-space:nowrap;padding-inline:1.5em;font-size:14px;color:#fff;background:#000;margin:0 0 0 -1px}@media (any-hover:hover){:is(.widget_layered_nav,.widget_product_categories) a:hover{color:rgba(0,0,0,.5)}.widget_product_categories a .toggle:hover{opacity:.5}.woocommerce .widget_price_filter .price_slider_amount .button:hover{color:rgba(255,255,255,.5)}:is(.woocommerce-widget-layered-nav-dropdown) .woocommerce-widget-layered-nav-dropdown__submit:hover{color:rgba(255,255,255,.5)}}.widget_rating_filter .p-widget-headline+ul{margin-top:-10px}.widget_rating_filter ul li a{display:flex;align-items:center;width:fit-content;gap:5px}.widget_rating_filter ul li a>.star-rating{margin-top:-2px}.widget_rating_filter ul li a>strong{display:grid;place-items:center;font-size:11px;font-weight:400;width:2em;height:2em;border-radius:50%;overflow:hidden;color:#fff;background:var(--tcd-accent-color);transition:color .3s}.widget_rating_filter ul li.chosen a::before{margin-right:0!important}:is(.widget_products,.widget_recently_viewed_products,.widget_top_rated_products) li{margin-top:-1px;line-height:1}:is(.widget_products,.widget_recently_viewed_products,.widget_top_rated_products) li .product-title{line-height:1.4}.widget_recent_reviews ul.product_list_widget li{padding:0;margin-top:-1px}.widget_recent_reviews ul.product_list_widget li img{float:none;margin-left:0;width:100%;height:100%;object-fit:cover}.woocommerce .widget_layered_nav_filters ul{margin-top:10px}.p-widget-product-ranking-list-item{display:grid;grid-template-columns:100px 40px 1fr;grid-template-rows:100px;font-size:14px;background:#fff;margin-top:-1px}.p-widget-product-ranking-list-item-rank{display:grid;place-items:center;border:1px solid #ddd;border-left:none}.p-widget-product-ranking-list-item-title{--tcd-line-clamp:2;--tcd-line-clamp-height:auto;display:grid;align-items:center;line-height:1.6;padding-inline:20px;border:1px solid #ddd;border-left:none}
/*
 * この下に丸被りを書いて
 */

/*
 * 完全一致：2行省略表示
 * - RSSの記事タイトル・概要
 * - 最近の投稿タイトル
 */
.widget_rss :is(.rsswidget, .rssSummary),
.widget_recent_entries li a {
    --tcd-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--tcd-line-clamp);
    max-height: calc(1lh* var(--tcd-line-clamp));
    overflow: hidden;
    visibility: visible;
    word-break: break-all
}

/*
 * 完全一致：商品情報部分のレイアウト
 * - 商品一覧／最近見た商品／高評価商品
 * - 最新の商品レビュー
 */
.widget_products, .widget_recently_viewed_products, .widget_top_rated_products .widget_products_item_content,
.widget_recent_reviews ul.product_list_widget li .widget_recent_reviews_content {
    display: grid;
    align-content: center;
    row-gap: 10px;
    padding-inline: 20px;
border-color: #ddd;
  border-right: 1px solid #ddd;

}
.widget_top_rated_products .widget_products_item_content:last-child {
    border-bottom: 1px solid #ddd;
}
/* 共通の上下余白 */
.widget_recent_entries li a,
.widget_rss li>*,
.widget_brand_description p,
.widget_recent_reviews ul.product_list_widget li .reviewer {
    margin-block: var(--tcd-half-read)
}

/* 見出し・本文直下の共通余白 */
.textwidget,
.widget_tag_cloud .p-widget-headline+nav,
.widget_product_tag_cloud .p-widget-headline+.tagcloud {
    margin-top: 20px
}

/* 見出し直下・リスト間の共通余白 */
.widget_media_gallery .p-widget-headline+.gallery,
.widget_rating_filter ul li+li {
    margin-top: 5px
}




/*
 * この下に類似CSS、または同じクラスを書いて
 */

/*
 * ほぼ一致：商品リンクの画像＋情報レイアウト
 * 共通部分を統合し、レビュー側だけ文字の太さを通常にする
 */
.widget_products, .widget_recently_viewed_products, .widget_top_rated_products li a,
.widget_recent_reviews ul.product_list_widget li>a {
    display: grid;
    grid-template-columns: 110px 1fr;
    grid-template-rows: 110px;
    font-size: 14px;
    --tcd-wc-star-rating-margin: -2px 0 0
}

/* 最新の商品レビューだけ異なる指定 */
.widget_recent_reviews ul.product_list_widget li>a {
    font-weight: normal
}

/* WordPress／WooCommerce タグクラウド共通 */
:is(.widget_tag_cloud, .widget_product_tag_cloud) .tagcloud {
    display: flex;
    flex-wrap: wrap;
    gap: 6px
}

:is(.widget_tag_cloud, .widget_product_tag_cloud) .tag-cloud-link {
    display: grid;
    grid-auto-flow: column;
    place-items: center;
    height: 30px;
    padding-inline: 1em;
    color: #000;
    background: #eee;
    border-radius: 5px
}

@media (any-hover:hover) {
    :is(.widget_tag_cloud, .widget_product_tag_cloud) .tag-cloud-link:hover {
        color: #fff;
        background: var(--tcd-accent-color)
    }
}
