/* Front content block adjustments */

.c-fig04 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px 5%; }

/* Sidebar category thumbnails (round shape only) */
._tool .products-main .sidebar dl dt figure {
  border-radius: 50%;
  overflow: hidden;
}

._tool .products-main .sidebar dl dt figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Items: フリーワード検索フォーム（チェック群の下） */
._field .products-search .search-main .search-main-con .search-freeword {
  margin-top: 10px;
}

._field .products-search .search-main .search-main-con .search-freeword input[type="text"] {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid #ced4e3;
  border-radius: 0;
  background-color: #fff;
  font-size: 1.6rem;
}

._field .products-search .search-main .search-main-con .search-freeword input[type="text"]::placeholder {
  color: #6b7387;
}

@media screen and (max-width: 750px) {
  ._field .products-search .search-main .search-main-con .search-freeword input[type="text"] {
    font-size: 1.4rem;
  }
}

/* Items: always visible filter block for field/material modes */
._field .products-search .search-main .search-main-box.search-main-box-always {
  padding: 0 35px 20px;
}

._field .products-search .search-main .search-main-box.search-main-box-always dl {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0;
  padding: 20px 0;
  border-bottom: 1px solid #ced4e3;
}

._field .products-search .search-main .search-main-box.search-main-box-always dl:first-child {
  border-top: 1px solid #ced4e3;
}

._field .products-search .search-main .search-main-box.search-main-box-always dl dt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 185px;
  margin-right: 40px;
  padding: 20px;
  background-color: #150a0a;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  color: #fff;
}

._field .products-search .search-main .search-main-box.search-main-box-always dl dd {
  flex: 1;
}

._field .products-search .search-main .search-main-box.search-main-box-always dl dd ul {
  display: flex;
  flex-wrap: wrap;
}

._field .products-search .search-main .search-main-box.search-main-box-always dl dd ul li {
  width: calc(100% / 3);
  margin-bottom: 15px;
  font-weight: 700;
}

._field .products-search .search-main .search-main-box.search-main-box-always dl dd input[type="radio"],
._field .products-search .search-main .search-main-box.search-main-box-always dl dd input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  width: 22px;
  height: 22px;
  margin: auto 8px auto 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  outline: none;
  line-height: 1;
  vertical-align: middle;
}

._field .products-search .search-main .search-main-box.search-main-box-always dl dd input[type="radio"]:checked::after,
._field .products-search .search-main .search-main-box.search-main-box-always dl dd input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
}

._field .products-search .search-main .search-main-box.search-main-box-always dl dd input[type="radio"] {
  border: 1px solid #3d434b;
  border-radius: 30px;
  background: #fff;
}

._field .products-search .search-main .search-main-box.search-main-box-always dl dd input[type="radio"]:checked::after {
  width: 16px;
  height: 16px;
  margin: -8px 0 0 2px;
  background: #3d434b;
  border-radius: 30px;
}

._field .products-search .search-main .search-main-box.search-main-box-always dl dd input[type="checkbox"] {
  border: 1px solid #3d434b;
  border-radius: 5px;
  background: #fff;
}

._field .products-search .search-main .search-main-box.search-main-box-always dl dd input[type="checkbox"]:checked {
  background-color: #3d434b;
}

._field .products-search .search-main .search-main-box.search-main-box-always dl dd input[type="checkbox"]:checked::after {
  width: 13px;
  height: 10px;
  margin: -8px 0 0 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}

._field .products-search .search-main .search-main-con.is-sub-conditions .search-main-box dl:first-child {
  padding-top: 20px;
  border-top: 1px solid #ced4e3;
}

/* Items: show buttons even when sub-conditions are closed */
._field .products-search .search-main .search-btn.search-btn-collapsed {
  display: block;
}

._field .products-search .search-main .search-main-con.is-sub-conditions .search-btn {
  display: none;
}

._field .products-search .search-main .search-main-con.is-sub-conditions[style*="display: block"] + .search-btn.search-btn-collapsed {
  display: none;
}

._field .products-search .search-main .search-main-con.is-sub-conditions[style*="display: block"] .search-btn {
  display: block;
}

@media screen and (max-width: 750px) {
  ._field .products-search .search-main .search-main-box.search-main-box-always dl {
    display: block;
  }

  ._field .products-search .search-main .search-main-box.search-main-box-always dl dt {
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
    font-size: 1.6rem;
  }

  ._field .products-search .search-main .search-main-box.search-main-box-always dl dd ul li {
    width: 50%;
    font-size: 1.2rem;
  }
}

/* category-top: PC横並び / SP縦並び */
._tool ._category .category-top.has-main-image {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: clamp(24px, 3vw, 48px);
  background-image: none;
}

._tool ._category .category-top.has-main-image .category-top-in {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
}

._tool ._category .category-top.has-main-image .category-top-box {
  width: 100%;
  max-width: 700px;
}

._tool ._category .category-top.has-main-image .category-top-main-image {
  flex: 0 0 clamp(240px, 30vw, 460px);
  width: clamp(240px, 30vw, 460px);
  margin-block: clamp(10px, 1.5vw, 22px);
  margin-right: clamp(20px, 3vw, 56px);
}

._tool ._category .category-top.has-main-image .category-top-main-image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

@media screen and (max-width: 980px) {
  ._tool ._category .category-top.has-main-image .category-top-main-image {
    flex-basis: clamp(200px, 34vw, 340px);
    width: clamp(200px, 34vw, 340px);
    margin-right: 20px;
  }
}

@media screen and (max-width: 750px) {
  ._tool ._category .category-top.has-main-image {
    display: block;
    padding-bottom: 6%;
  }

  ._tool ._category .category-top.has-main-image .category-top-in {
    width: 100%;
    padding: 6.6666666667% 4% 8%;
  }

  ._tool ._category .category-top.has-main-image .category-top-box {
    max-width: none;
  }

  ._tool ._category .category-top.has-main-image .category-top-main-image {
    width: 100%;
    max-width: 360px;
    margin: 12px auto;
  }
}

/* Top page - noimage対応: PRODUCTS(分野) サムネイル 232x186 */
.home-products .products-field .products-list li figure {
  aspect-ratio: 232 / 186;
  overflow: hidden;
}

.home-products .products-field .products-list li figure img[src*="noimage_s.png"],
.home-products .products-field .products-list li figure img[src*="noimage.png"],
.home-products .products-field .products-list li figure img[src*="noimage_l.png"] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Top page - noimage対応: PRODUCTS(工具) サムネイル 1:1 */
.home-products .products-tool .products-list li figure {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.home-products .products-tool .products-list li figure img[src*="noimage_s.png"],
.home-products .products-tool .products-list li figure img[src*="noimage.png"],
.home-products .products-tool .products-list li figure img[src*="noimage_l.png"] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Top page - noimage対応: NEWS(イベント・展示) サムネイル 310x230 */
.home-news .news-box .event-list li figure {
  aspect-ratio: 310 / 230;
  overflow: hidden;
}

.home-news .news-box .event-list li figure img[src*="noimage_s.png"],
.home-news .news-box .event-list li figure img[src*="noimage.png"],
.home-news .news-box .event-list li figure img[src*="noimage_l.png"] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Top page - noimage対応: NEWS(お知らせ) サムネイル 140x70 */
.home-news .news-box .info-list li figure {
  aspect-ratio: 140 / 70;
  overflow: hidden;
}

.home-news .news-box .info-list li figure img[src*="noimage_s.png"],
.home-news .news-box .info-list li figure img[src*="noimage.png"],
.home-news .news-box .info-list li figure img[src*="noimage_l.png"] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Items page (/items/) - noimage対応: リザルトリスト サムネイル 1:1 */
._field .products-result .result-list li figure img[src*="noimage_s.png"],
._field .products-result .result-list li figure img[src*="noimage.png"],
._field .products-result .result-list li figure img[src*="noimage_l.png"] {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

/* Items detail page (/items/detail/{id}/) - noimage対応: メイン画像 1:1 */
._tool ._detail .detail-top .detail-top-fig img[src*="noimage_s.png"],
._tool ._detail .detail-top .detail-top-fig img[src*="noimage.png"],
._tool ._detail .detail-top .detail-top-fig img[src*="noimage_l.png"] {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

/* Items detail page (/items/detail/{id}/) - noimage対応: 関連製品画像 1:1 */
.related-sec .related-main .related-swiper .related-box figure img[src*="noimage_s.png"],
.related-sec .related-main .related-swiper .related-box figure img[src*="noimage.png"],
.related-sec .related-main .related-swiper .related-box figure img[src*="noimage_l.png"] {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

/* Categories page (/categories/) - noimage対応: 製品(工具種類一覧) サムネイル 1:1 */
._tool ._idx .tool-list li figure img[src*="noimage_s.png"],
._tool ._idx .tool-list li figure img[src*="noimage.png"],
._tool ._idx .tool-list li figure img[src*="noimage_l.png"] {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

/* Categories detail page (/categories/detail/{id}/) - noimage対応: 製品ラインナップ 1:1 */
._tool ._category .category-box .lineup-list li figure img[src*="noimage_s.png"],
._tool ._category .category-box .lineup-list li figure img[src*="noimage.png"],
._tool ._category .category-box .lineup-list li figure img[src*="noimage_l.png"] {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

/* Items detail: products.css の 980px 非表示を打ち消して表示（タブレット幅も可） */
@media screen and (max-width: 980px) {
  .pro-sidenav {
    display: block !important;
  }
}

/* Items detail: フローティングのSP用レイアウト・タップ開閉は 750px 以下のみ */
@media screen and (max-width: 750px) {
  .pro-sidenav {
    margin-right: 0;
    width: 160px;
    /* SP: 閉じ状態は右へスライド（狭い画面ほど見せる幅を小さく） */
    transform: translateX(calc(100% - clamp(26px, 7vw, 32px)));
  }

  /* SP: フローティング要素自体をコンパクト化 */
  .pro-sidenav ul li a {
    padding: 9px 4px 9px 10px;
  }

  .pro-sidenav ul li a .ico {
    width: 1.45rem;
    margin-right: 8px;
  }

  .pro-sidenav ul li a span {
    font-size: 1rem;
  }

  /* SP: 開いた状態は全体を表示 */
  .pro-sidenav.is-open {
    transform: translateX(0);
  }
}

