/* 商品一覧・価格案内ページ */
                .productListWrap {
                  width: 700px;
                  max-width: 95%;
                  margin: 0 auto 30px;
                  color: #444;
                  line-height: 1.75;
                  font-size: 95%;
                }

                .productListHero {
                  margin: 0 0 22px 0;
                  padding: 20px 22px;
                  background: #f4f8fc;
                  border: 1px solid #dbe6f0;
                  border-left: 6px solid #1d4f91;
                  border-radius: 5px;
                }

                .productListHeroLabel {
                  margin: 0 0 6px 0;
                  color: #4f6f8f;
                  font-size: 13px;
                  letter-spacing: 0.08em;
                }

                .productListHero h2 {
                  margin: 0;
                  color: #1d4f91;
                  font-size: 26px;
                  line-height: 1.4;
                  font-weight: bold;
                }

                .productListHeroLead {
                  margin: 10px 0 0 0;
                  color: #333;
                  font-size: 15px;
                  line-height: 1.8;
                }

                .productListLeadBox {
                  margin: 0 0 22px 0;
                  padding: 15px 18px;
                  background: #f7fbff;
                  border: 1px solid #cfe3f6;
                  border-left: 5px solid #4a90d9;
                  border-radius: 4px;
                }

                .productListLeadBox p {
                  margin: 0 0 8px 0;
                }

                .productListLeadBox p:last-child {
                  margin-bottom: 0;
                }

                .productListSectionTitle {
                  margin: 24px 0 14px;
                  padding: 9px 14px;
                  color: #23415f;
                  font-size: 17px;
                  font-weight: bold;
                  background: #eef5fb;
                  border-left: 5px solid #4a90d9;
                  border-radius: 4px;
                }

                .productListCard {
                  margin: 0 0 16px 0;
                  padding: 16px 18px;
                  background: #fff;
                  border: 1px solid #d6e6f2;
                  border-radius: 6px;
                }

                .productListCard p {
                  margin: 0 0 10px 0;
                }

                .productListCard p:last-child {
                  margin-bottom: 0;
                }

                .productPriceTable {
                  width: 100%;
                  border-collapse: collapse;
                  margin: 0;
                }

                .productPriceTable th,
                .productPriceTable td {
                  border: 1px solid #d6e6f2;
                  padding: 10px 12px;
                  vertical-align: top;
                }

                .productPriceTable th {
                  color: #23415f;
                  background: #eef5fb;
                  text-align: left;
                  font-weight: bold;
                }

                .productPriceTable td.priceCell {
                  width: 32%;
                  text-align: right;
                  white-space: nowrap;
                }

                .productPriceTable a {
                  color: #1f5f8b;
                  font-weight: bold;
                  text-decoration: none;
                }

                .productPriceTable a:hover {
                  text-decoration: underline;
                }

                .categoryRow th {
                  padding: 8px 12px;
                  color: #1d4f91;
                  background: #f0f6ff;
                  border-left: 4px solid #4a90d9;
                  font-size: 15px;
                }

                .priceText {
                  color: #1d4f91;
                  font-size: 108%;
                  font-weight: bold;
                }

                .taxText {
                  color: #666;
                  font-size: 90%;
                }

                .subscriptionText {
                  color: #1d8bb8;
                  font-weight: bold;
                }

                .protectGrid {
                  display: flex;
                  flex-wrap: wrap;
                  gap: 12px;
                  margin-top: 10px;
                }

                .protectBox {
                  flex: 1 1 190px;
                  padding: 14px 12px;
                  background: #f8fbff;
                  border: 1px solid #d6e6f2;
                  border-radius: 6px;
                }

                .protectBox h3 {
                  margin: 0 0 8px 0;
                  padding: 0;
                  color: #1d4f91;
                  font-size: 16px;
                  line-height: 1.4;
                  font-weight: bold;
                  background: none;
                  border: none;
                }

                .protectBox p {
                  margin: 0 0 8px 0;
                  font-size: 93%;
                }

                .noteBox {
                  margin-top: 12px;
                  padding: 10px 12px;
                  color: #174a78;
                  background: #f3fbff;
                  border-left: 4px solid #4a90d9;
                  border-radius: 3px;
                  font-size: 92%;
                }

                .downloadList {
                  margin: 0;
                  padding: 0;
                  list-style: none;
                }

                .downloadList li {
                  margin: 0 0 8px 0;
                }

                .downloadList a {
                  display: block;
                  padding: 9px 12px;
                  color: #1f5f8b;
                  font-weight: bold;
                  text-decoration: none;
                  background: linear-gradient(to bottom, #ffffff, #eef8ff);
                  border: 1px solid #9fd0ef;
                  border-radius: 5px;
                }

                .downloadList a:hover {
                  background: #eaf6ff;
                  text-decoration: underline;
                }

                .seoText {
                  margin-top: 18px;
                  color: #555;
                  font-size: 92%;
                }

                @media screen and (max-width: 572px) {
                  .productListWrap {
                    width: 95%;
                    font-size: 95%;
                  }

                  .productListHero h2 {
                    font-size: 22px;
                  }

                  .productPriceTable th,
                  .productPriceTable td {
                    display: block;
                    width: auto !important;
                    text-align: left !important;
                    white-space: normal !important;
                  }

                  .protectBox {
                    flex: 1 1 100%;
                  }
                }
