/* =====================================================
   cd-accordion 共通メカニクス
   ===================================================== */

.cd-accordion__input { display: none; }

.cd-accordion__sub {
  display: none;
  list-style: none;
  padding: 0;
  margin: 0;
}

.cd-accordion__input:checked ~ .cd-accordion__sub { display: block; }

/* cd-accordion 直下の空スペーサー li を非表示 */
ul.cd-accordion > li.fs-pt-list__item:not(.cd-accordion__item) { display: none; }

/* =====================================================
   レフトナビ: .parts-category-from-search
   #leftcolumn .block_outer のUIに合わせる
   ===================================================== */

/* ナビアイコン画像 非表示 */
#leftcolumn .parts-category-from-search .cd-accordion__label--icon-folder img {
  display: none;
}

/* L1 label — #leftcolumn .block_outer li a:link と同じ見た目 */
#leftcolumn .parts-category-from-search .cd-accordion > .cd-accordion__item > .cd-accordion__label--icon-folder {
  display: block;
  position: relative;
  padding: 12px 12px 12px 12px;
  color: #0177CC;
  font-size: 13px;
  font-weight: bold;
  cursor: pointer;
  border-bottom: 1px solid #ccc;
}

/* ＋/－ トグル */
#leftcolumn .parts-category-from-search .cd-accordion__label--icon-folder .plus_minus::after {
  content: "＋";
  float: right;
  color: #07c;
}
#leftcolumn .parts-category-from-search .cd-accordion__input:checked ~ .cd-accordion__label--icon-folder .plus_minus::after {
  content: "－";
}

/* L1 サブ: #leftcolumn ul dd ul と同様に白背景 */
#leftcolumn .parts-category-from-search .cd-accordion__sub--l1 {
  background: #fff !important;
  font-weight: normal !important;
}

/* L2 label（光沢紙・マット紙などグループ見出し） */
#leftcolumn .parts-category-from-search .cd-accordion__sub--l1 > .cd-accordion__item > .cd-accordion__label--icon-folder {
  display: block;
  position: relative;
  padding: 9px 12px 9px 20px;
  color: #333;
  font-size: 13px;
  font-weight: bold;
  cursor: pointer;
  background: #f5f5f5;
  border-bottom: 1px solid #ddd;
}

/* L2 ▶/▼ トグル */
#leftcolumn .parts-category-from-search .cd-accordion__sub--l1 > .cd-accordion__item > .cd-accordion__label--icon-folder .arrow::after {
  content: " ▶";
  font-size: 10px;
  color: #07c;
}
#leftcolumn .parts-category-from-search .cd-accordion__sub--l1 > .cd-accordion__item > .cd-accordion__input:checked ~ .cd-accordion__label--icon-folder .arrow::after {
  content: " ▼";
}

/* L2 サブ */
#leftcolumn .parts-category-from-search .cd-accordion__sub--l2 {
  background: #fff;
}

/*
   リーフ <a class="cd-accordion__label--icon-img"> は
   #leftcolumn .block_outer li a:link（padding / color / Font Awesome ::before）
   の既存 CSS が自動適用される
*/

/* =====================================================
   #topmenu / .parts-all
   #gmenu の megamenu UI（sub162）に合わせる
   ===================================================== */

#topmenu .cd-accordion,
.parts-all .cd-accordion {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* L1 label — #gmenu #gmenu-wrap>ul>li>a の外観を再現 */
#topmenu .cd-accordion > .cd-accordion__item > .cd-accordion__label--icon-folder,
.parts-all .cd-accordion > .cd-accordion__item > .cd-accordion__label--icon-folder {
  display: flex;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  padding: 8px 14px;
  border: 3px solid #07c;
  background-color: #c4d8f3 !important;
  color: #07c;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  border-radius: 4px;
  margin: 8px 0 0;
}

#topmenu .cd-accordion > .cd-accordion__item > .cd-accordion__label--icon-folder img,
.parts-all .cd-accordion > .cd-accordion__item > .cd-accordion__label--icon-folder img {
  width: 46px;
  height: auto;
  margin-right: 8px;
  flex-shrink: 0;
}

/* ＋/－ トグル */
#topmenu .cd-accordion__label--icon-folder .plus_minus,
.parts-all .cd-accordion__label--icon-folder .plus_minus {
  flex: 1;
}
#topmenu .cd-accordion__label--icon-folder .plus_minus::after,
.parts-all .cd-accordion__label--icon-folder .plus_minus::after {
  content: "＋";
  float: right;
  font-size: 16px;
}
#topmenu .cd-accordion__input:checked ~ .cd-accordion__label--icon-folder .plus_minus::after,
.parts-all .cd-accordion__input:checked ~ .cd-accordion__label--icon-folder .plus_minus::after {
  content: "－";
}

/* 展開時: 下角を直角に */
#topmenu .cd-accordion__item > .cd-accordion__input:checked ~ .cd-accordion__label--icon-folder,
.parts-all .cd-accordion__item > .cd-accordion__input:checked ~ .cd-accordion__label--icon-folder {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-color: #e5f1fb;
}

/* L1 サブ — #gmenu #gmenu-wrap>ul>li>.sub162>.megamenu の外観を再現 */
#topmenu .cd-accordion__sub--l1,
.parts-all .cd-accordion__sub--l1 {
  background: #e5f1fb;
  border: 3px solid #07c;
  border-top: 0;
  padding: 15px 20px 5px;
  margin-bottom: 8px;
  column-count: 3;
  column-gap: 10px;
}

/* L1 サブアイテム: カラム内で分断しない */
#topmenu .cd-accordion__sub--l1 > .cd-accordion__item,
.parts-all .cd-accordion__sub--l1 > .cd-accordion__item {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  display: inline-block;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 14px;
}

/* L2 label — #gmenu #gmenu-wrap>ul>li>.sub162>.megamenu span の外観を再現 */
#topmenu .cd-accordion__sub--l1 > .cd-accordion__item > .cd-accordion__label--icon-folder,
.parts-all .cd-accordion__sub--l1 > .cd-accordion__item > .cd-accordion__label--icon-folder {
  display: block;
  background: #fff;
  color: #0277cc;
  font-weight: 700;
  font-size: 13px;
  border-radius: 4px;
  padding: 7px 8px;
  margin-top: 4px;
  margin-bottom: 4px;
  cursor: pointer;
  text-align: center;
}

/* L2 ＋/－ */
#topmenu .cd-accordion__sub--l1 > .cd-accordion__item > .cd-accordion__label--icon-folder .arrow::after,
.parts-all .cd-accordion__sub--l1 > .cd-accordion__item > .cd-accordion__label--icon-folder .arrow::after {
  content: " ＋";
  font-size: 11px;
}
#topmenu .cd-accordion__sub--l1 > .cd-accordion__item > .cd-accordion__input:checked ~ .cd-accordion__label--icon-folder .arrow::after,
.parts-all .cd-accordion__sub--l1 > .cd-accordion__item > .cd-accordion__input:checked ~ .cd-accordion__label--icon-folder .arrow::after {
  content: " －";
}

/* L2 サブ */
#topmenu .cd-accordion__sub--l2,
.parts-all .cd-accordion__sub--l2 {
  padding: 0;
  margin: 0;
  background: transparent;
}

/* リーフリンク — #leftcolumn .gmenu ul dl ol li ul li a と同パターン */
#topmenu .cd-accordion__label--icon-img,
.parts-all .cd-accordion__label--icon-img {
  display: inline-block;
  position: relative;
  padding: 4px 0 4px 13px;
  text-decoration: none;
  color: #07c;
  font-size: 13px;
}
#topmenu .cd-accordion__label--icon-img::before,
.parts-all .cd-accordion__label--icon-img::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 4px;
  height: 4px;
  border-top: 1px solid #07c;
  border-right: 1px solid #07c;
  transform: rotate(45deg);
}
#topmenu .cd-accordion__label--icon-img:hover,
.parts-all .cd-accordion__label--icon-img:hover {
  text-decoration: underline;
}
#topmenu .cd-accordion__label--icon-img .drawer_link,
.parts-all .cd-accordion__label--icon-img .drawer_link {
  color: inherit;
}

/* L1直下リーフ（サブグループなし）— .megamenu span と同スタイル */
#topmenu .cd-accordion__sub--l1 > .cd-accordion__item > .cd-accordion__label--icon-img,
.parts-all .cd-accordion__sub--l1 > .cd-accordion__item > .cd-accordion__label--icon-img {
  display: block;
  background: #fff;
  color: #0277cc;
  font-weight: bold;
  font-size: 13px;
  padding: 7px 8px;
  border-radius: 4px;
  text-align: center;
  text-decoration: none;
}
#topmenu .cd-accordion__sub--l1 > .cd-accordion__item > .cd-accordion__label--icon-img::before,
.parts-all .cd-accordion__sub--l1 > .cd-accordion__item > .cd-accordion__label--icon-img::before {
  display: none;
}
#topmenu .cd-accordion__label--icon-img .drawer_link,
.parts-all .cd-accordion__label--icon-img .drawer_link {
  color: inherit;
}

/* トップページ: L1ラベルをやや大きく */
.fs-body-top .fs-l-pageMain #topmenu .cd-accordion > .cd-accordion__item > .cd-accordion__label--icon-folder {
  font-size: 16px;
  padding: 12px 16px;
  margin: 10px 0 0;
}
.fs-body-top .fs-l-pageMain #topmenu .cd-accordion > .cd-accordion__item > .cd-accordion__label--icon-folder img {
  width: 32px;
}
