.pbf-wrap{
  max-width:1240px;margin:0 auto 24px;
  font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif;font-size:13px;
  background:#fff;border-radius:16px;overflow:hidden;
  border:1px solid #E2E8F0;
}

.pbf-hdr{
  background:linear-gradient(135deg,#3AABBF,#57C9E0);
  padding:10px 18px;color:#fff;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;
}
.pbf-hdr-inner{display:flex;align-items:center;gap:10px}
.pbf-hdr-icon{font-size:18px;line-height:1}
.pbf-hdr-ttl{font-size:16px;font-weight:800;margin:0;letter-spacing:.04em}
.pbf-hdr-r{display:flex;align-items:center;gap:12px;flex-shrink:0}
.pbf-legend{font-size:11px;opacity:.9;white-space:nowrap}
.pbf-legend .st{color:#ffe08a}
.pbf-cnt-badge{
  background:rgba(255,255,255,.25);border-radius:20px;
  padding:5px 16px;font-size:15px;font-weight:700;min-width:64px;text-align:center;
}

.pbf-filters{background:#F7FAFA;padding:10px 16px 12px}

.pbf-row{
  display:flex;align-items:flex-start;gap:10px;
  padding:12px 0;border-bottom:1px solid #E2E8F0;
}
.pbf-row:last-child{border-bottom:none}

.pbf-row-lbl{
  font-size:11px;font-weight:700;color:#6B7280;
  min-width:90px;padding-top:6px;flex-shrink:0;
  line-height:1.4;
  display:flex;flex-direction:column;gap:3px;
}
.pbf-row-lbl a{
  color:#3AABBF;font-size:10px;font-weight:600;
  border:1px solid #57C9E0;border-radius:4px;
  padding:1px 6px;text-decoration:none;white-space:nowrap;
  align-self:flex-start;line-height:1.5;transition:all .12s;
}
.pbf-row-lbl a:hover{background:#E8F9FC;text-decoration:none;color:#3AABBF}
.pbf-row-lbl a .fa-question-circle{margin-right:2px}

.pbf-btns{display:flex;flex-wrap:wrap;gap:6px;flex:1}

.pbf-btn{
  background:#fff;border:1.5px solid #E2E8F0;border-radius:20px;
  padding:5px 12px;cursor:pointer;
  font-size:11px;font-family:inherit;color:#1C1C1C;
  transition:all .12s;
  display:inline-flex;align-items:center;gap:4px;white-space:nowrap;
  line-height:1.3;
}
.pbf-btn:hover{border-color:#57C9E0;background:#F2FBFD}
.pbf-btn.on{background:#E8F9FC;border-color:#57C9E0;color:#3AABBF;font-weight:700}
.pbf-btn.dim{opacity:.35;cursor:not-allowed}
.pbf-btn .star{color:#f59e0b;margin-left:2px}
.pbf-btn.on .star{color:#f59e0b}

.pbf-cnt{font-size:9px;color:#6B7280;font-weight:600;margin-left:2px}
.pbf-btn.on .pbf-cnt{color:#3AABBF}

.pbf-btn.icon-mode{
  border-radius:8px;padding:8px 8px 7px;
  flex-direction:column;align-items:center;
  min-width:78px;width:78px;
  white-space:normal;text-align:center;gap:1px;
}
.pbf-btn.icon-mode .sq-box{
  height:54px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:5px;
}
.pbf-btn.icon-mode .sq{display:block;line-height:0;font-size:0}
.pbf-btn.icon-mode .sq::before{
  content:"";display:block;background:#dff4f9;border:1px solid #b8e3ee;
}
.pbf-btn.icon-mode .sq-square::before{width:11px;height:11px}
.pbf-btn.icon-mode .sq-L::before{width:11px;height:16px}
.pbf-btn.icon-mode .sq-dsc::before{width:11px;height:15px}
.pbf-btn.icon-mode .sq-kg::before{width:13px;height:19px}
.pbf-btn.icon-mode .sq-2l::before{width:16px;height:22px}
.pbf-btn.icon-mode .sq-roku::before{width:25px;height:31px}
.pbf-btn.icon-mode .sq-hachi::before{width:20px;height:27px}
.pbf-btn.icon-mode .sq-yotsu::before{width:31px;height:38px}
.pbf-btn.icon-mode .sq-a5::before{width:18px;height:26px}
.pbf-btn.icon-mode .sq-a4::before{width:26px;height:37px}
.pbf-btn.icon-mode .sq-a3::before{width:37px;height:52px}
.pbf-btn.icon-mode .nm{font-size:10px;font-weight:700;color:#1C1C1C;line-height:1.2}
.pbf-btn.icon-mode .mm{font-size:9px;color:#8a9aa5;margin-top:1px;line-height:1.2}
.pbf-btn.icon-mode .pbf-cnt{font-size:9px;margin-top:2px;margin-left:0}
.pbf-btn.icon-mode .star{margin-left:2px}

.pbf-reset-bar{padding-top:14px}
.pbf-reset-btn{
  background:#fff;border:1.5px solid #FCA5A5;border-radius:8px;
  padding:5px 14px;font-size:11px;color:#DC2626;cursor:pointer;font-weight:600;font-family:inherit;
}
.pbf-reset-btn:hover{background:#fff5f5}

@media screen and (max-width:768px){
  .pbf-row{flex-direction:column;gap:6px}
  .pbf-row-lbl{min-width:unset;padding-top:0;flex-direction:row;align-items:center;gap:6px;flex-wrap:wrap}
  .pbf-btns{
    width:100%;flex-wrap:nowrap;overflow-x:auto;
    -webkit-overflow-scrolling:touch;padding-bottom:4px;scrollbar-width:none;
  }
  .pbf-btns::-webkit-scrollbar{display:none}
  .pbf-btn{flex-shrink:0}
  .pbf-btn.icon-mode{flex-shrink:0}
  .pbf-hdr-ttl{font-size:15px}
}

#tablepress-108_wrapper {
  overflow: auto;
  max-height: 80vh;
}

#tablepress-108 th.column-1,
#tablepress-108 td.column-1 {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: 2;
  background-color: #fff;
}

#tablepress-108 thead th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 3;
  background-color: #e8f4f8;
}

#tablepress-108 thead th.column-1 {
  left: 0;
  z-index: 4;
  background-color: #e8f4f8;
}

#tablepress-108 th.column-1::after,
#tablepress-108 td.column-1::after {
  content: "";
  position: absolute;
  top: 0;
  right: -1px;
  bottom: 0;
  width: 1px;
  background: #ddd;
  box-shadow: 3px 0 5px -2px rgba(0,0,0,.18);
}

#tablepress-108 thead th {
  background-color: #e8f4f8 !important;
  color: #3d4f5c;
  font-weight: 700;
  font-size: 14px;
  text-align: left;
  vertical-align: top;
  padding: 14px 12px;
  line-height: 1.5;
  border-right: 1px solid #d3e6ee;
  border-bottom: 2px solid #b8dded;
}
#tablepress-108 thead th:last-child {
  border-right: none;
}
#tablepress-108 thead th .tp-font-s,
#tablepress-108 thead th small {
  display: block;
  font-size: 11px;
  font-weight: 400;
  color: #8a9aa5;
  margin-top: 3px;
}
#tablepress-108 thead th .table-icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-left: 4px;
  border-radius: 50%;
  background-color: #7cc4dd;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  vertical-align: middle;
}
#tablepress-108 thead th .table-icon-link:hover {
  background-color: #5bb0d0;
  color: #fff;
}

#tablepress-108 .brand-sub {
  display: inline-block;
  margin-top: 3px;
  padding: 1px 8px;
  font-size: 11px;
  color: #5a6b75;
  background: #eef3f6;
  border-radius: 10px;
}

#tablepress-108_wrapper .dt-search,
#tablepress-108_wrapper .dataTables_filter,
#tablepress-108_filter {
  display: none !important;
}

.pp-scroll {
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch;
	margin-bottom: 24px;
	max-width: 100%;
	display: block;
}

.pp-brand-table {
	width: max-content !important;
	min-width: 1600px !important;
	max-width: none !important;
	table-layout: auto !important;
}

.pp-brand-table > caption {
	width: 0;
	white-space: nowrap;
	caption-side: bottom;
}

.pp-brand-table th.column-1,
.pp-brand-table td.column-1 {
	position: -webkit-sticky;
	position: sticky;
	left: 0;
	z-index: 2;
	background-color: #fff;
}

.pp-brand-table thead th.column-1 {
	background-color: #e8f4f8;
	z-index: 3;
}

.pp-brand-table th.column-1::after,
.pp-brand-table td.column-1::after {
	content: "";
	position: absolute;
	top: 0;
	right: -1px;
	bottom: 0;
	width: 1px;
	background: #ddd;
	box-shadow: 3px 0 5px -2px rgba(0, 0, 0, .18);
}

.pp-brand-table thead th {
	background-color: #e8f4f8;
	color: #3d4f5c;
	font-weight: 700;
	font-size: 14px;
	text-align: left;
	vertical-align: top;
	padding: 14px 12px;
	line-height: 1.5;
	border-right: 1px solid #d3e6ee;
	border-bottom: 2px solid #b8dded;
}
.pp-brand-table thead th:last-child {
	border-right: none;
}

.pp-brand-table thead th .tp-font-s,
.pp-brand-table thead th small {
	display: block;
	font-size: 11px;
	font-weight: 400;
	color: #8a9aa5;
	margin-top: 3px;
}

.pp-brand-table thead th .table-icon-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	margin-left: 4px;
	border-radius: 50%;
	background-color: #7cc4dd;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	text-decoration: none;
	vertical-align: middle;
}
.pp-brand-table thead th .table-icon-link:hover {
	background-color: #5bb0d0;
	color: #fff;
}

.pp-brand-table .brand-sub {
	display: inline-block;
	margin-top: 3px;
	padding: 1px 8px;
	font-size: 11px;
	color: #5a6b75;
	background: #eef3f6;
	border-radius: 10px;
}