﻿@charset "UTF-8";

.wp-block-image.is-style-fit img {
  height: 200px;
  width: 970px;
  padding-left: 1rem;
  padding-right: 1rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.wp-block-im2022-img-text {
  padding: 0 1rem;
}
.wp-block-table.is-style-white-table table {
  table-layout: fixed;
  width: 100%;
  border: 0px none;
}
.wp-block-table.is-style-white-table th {
  width: 20%;
  padding: 1rem;
  font-size: 0.8rem;
}
.wp-block-table.is-style-white-table td {
  font-size: 0.7rem;
  padding: 1rem;
}
.wp-block-table.is-style-white-table td,
.wp-block-table.is-style-white-table th {
  border: 0px none;
}
.wp-block-table.is-style-white-table tr:not(:first-child) {
  border-top: thin solid #dcdcdc;
}
.wp-block-table.is-style-white-table table {
  border-top: thin solid #707070;
  border-bottom: thin solid #707070;
}
.wp-block-table.is-style-black-table td {
  border: thin solid #dcdcdc;
  padding: 1rem;
  font-size: 0.7rem;
}
.wp-block-table.is-style-black-table th {
  background-color: #303030;
  color: white;
  padding: 1rem;
  font-size: 0.8rem;
}
.wp-block-table.is-style-black-table td:nth-child(1) {
  background: #f7f7f7;
  font-size: 0.8rem;
}
.wp-block-column h1 {
  margin-bottom: 0 !important;
}
/* TODO
html,
body {
  font-size: 16px !important;
}
*/
body {
  font-family: '繝｡繧､繝ｪ繧ｪ', 'Meiryo', 'Hiragino Kaku Gothic Pro', 'Open Sans', sans-serif !important;
}
body {
  color: #303030;
}
img {
  vertical-align: bottom;
}
svg {
  display: inline-block;
  vertical-align: middle;
}
img,
svg,
iframe {
  max-width: 100%;
}
:link:hover img, :visited:hover img, area[href]:hover img {
  opacity: 0.6;
  transition: opacity 300ms;
}
:-moz-any-link:hover img {
  opacity: 0.6;
  -moz-transition: opacity 300ms;
  transition: opacity 300ms;
}
:any-link:hover img {
  opacity: 0.6;
  transition: opacity 300ms;
}
input[type='search'],
input[type='submit'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
#sysHeader {
  position: relative;
  display: grid;
  grid-template-columns: min(238px, 20vw) 1fr auto auto;
  grid-template-rows: 73px auto auto;
  align-items: center;
  width: auto;
  margin: 0;
  padding: 0;
  background: #fff;
}
@media (min-width: 768px) and (max-width: 1199px) {
#sysHeader {
    font-size: 0.7em
}
  }
@media (max-width: 767px) {
#sysHeader {
    display: block;
    padding-top: 51px
}

    #sysHeader::before {
      position: fixed;
      left: 0;
      top: 0;
      top: var(--wp-admin--admin-bar--height, 0);
      width: 100vw;
      height: 51px;
      background-color: #fff;
      border-bottom: #e2e2e2 solid 1px;
      z-index: 10000;
      content: '';
    }
  }
.cart_info_item_count {
  display: none;
}
.h-sitelogo {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  padding: 0 25px;
  height: auto;
  text-align: center;
}
@media (max-width: 767px) {
.h-sitelogo {
    position: fixed;
    left: 0;
    top: 0;
    top: var(--wp-admin--admin-bar--height, 0);
    width: 159px;
    height: 50px;
    padding-top: 10px;
    z-index: 10001
}
  }
.h-search2 {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  padding: 0 25px;
}
.h-search2 .sysItemSearchForm {
    display: grid;
    grid-template-columns: 1fr 3.2em;
  }
.h-search2 .sysItemSearchFormWord {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    margin: 0;
  }
.h-search2 .sysSearchButton {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    margin: 0;
    padding: 0;
    width: 2.8em;
    height: 2.8em;
    border: none;
    align-self: center;
    text-indent: -10000px;
    overflow: hidden;
    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSI+PHBhdGggZmlsbD0iI2I3YjdiNyIgZD0ibTE0IDE0LjgzLTQuNDctNC40OGE1Ljg0IDUuODQgMCAxIDEgLjgyLS44MkwxNC44MyAxNGEuNTguNTggMCAxIDEtLjgzLjgyWk0yLjUzIDIuNTNhNC42NyA0LjY3IDAgMSAwIDMuMy0xLjM3IDQuNjggNC42OCAwIDAgMC0zLjMgMS4zN1oiLz48L3N2Zz4=)
      no-repeat center center / 15px 15px;
    cursor: pointer;
  }
.h-search2 input[type='search'] {
    border: #d6d6d6 solid 2px;
    background-color: #f7f7f7;
    border-radius: calc(1.4em + 2px);
    padding: 0.7em 3.2em 0.7em 1.4em;
  }
@media (max-width: 767px) {
.h-search2 {
    background-color: #303030 !important;
}
.h-search2 {
    position: fixed;
    width: 100vw;
    z-index: 10001;
    opacity: 0;
    visibility: hidden;
    transition: all 300ms;
}
    .h-hamburger.h-hamburger__open ~ .h-search2 {
    opacity: 1;
    visibility: visible;
  }
    .h-search2{
    padding: 0 1rem !important;
  }
    .h-search2{
    left: 0;
    top: calc(0 + 50px);
    top: calc(var(--wp-admin--admin-bar--height, 0) + 50px);
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: stretch;
    border-bottom: #fff solid 2px;
  }

    .h-search2 > .sysContent {
      flex: 1 0 auto;
    }

    .h-search2 input[type='search'] {
      background-color: #303030;
      color: #fff;
    }

      .h-search2 input[type='search']:focus {
        background-color: #f7f7f7;
        color: #303030;
      }
  }
.h-subMenu2 {
  grid-column: 3 / 4;
  grid-row: 1 / 2;
  padding: 0 25px;
}
.h-subMenu2__text {
    margin-left: 0.5em;
  }
@media (max-width: 1199px) {
.h-subMenu2__text {
      display: none
  }
    }
.h-subMenu2 ul {
    display: flex;
    gap: 0.8em;
    align-items: center;
  }
.h-subMenu2 ul > li {
      width: auto !important;
    }
.h-subMenu2 ul > li {
      position: relative;
    }
.h-subMenu2 ul::after {
      display: none;
    }
.h-subMenu2__itemCount {
    position: absolute;
    background: #bb0606;
    color: #fff;
    min-width: 1.5em;
    height: 1.5em;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0.75em;
    font-size: smaller;
    top: -0.25em;
    left: 1.2em;
    width: -moz-max-content;
    width: max-content;
    padding: 0.3em;
    line-height: 1;
    pointer-events: none;
  }
@media (max-width: 767px) {
.h-subMenu2 {
    position: fixed;
    display: flex;
    align-items: center;
    right: calc(50px + 1rem);
    top: 0;
    top: var(--wp-admin--admin-bar--height, 0);
    height: 50px;
    z-index: 10001
}
  }
.h-contact-button {
  grid-column: 4 / 5;
  grid-row: 1 / 2;
  padding: 0 25px;
}
.h-contact-button > .sysContent {
    display: flex;
    gap: 1.5em;
    align-items: center;
  }
@media (max-width: 767px) {
.h-contact-button {
    background-color: #303030 !important;
}
.h-contact-button {
    position: fixed;
    width: 100vw;
    z-index: 10001;
    opacity: 0;
    visibility: hidden;
    transition: all 300ms;
}
    .h-hamburger.h-hamburger__open ~ .h-contact-button {
    opacity: 1;
    visibility: visible;
  }
    .h-contact-button{
    padding: 0 2rem !important;
  }
    .h-contact-button{

    left: 0;
    bottom: 0;
    height: 84px;
    color: #fff;
    display: flex;
    align-items: center;
    border-top: #fff solid 2px;
  }

    .h-contact-button > .sysContent {
      flex-grow: 1;
      justify-content: space-between;
    }

    .h-contact-button path {
      fill: #fff !important;
    }
  }
.h-contact__contact-btn {
  display: inline-block;
  padding: 0.5em 1.5em;
  background: #1473e6;
  color: #fff;
  font-size: smaller;
  border-radius: 1.2em;
}
.h-contact__contact-btn:hover {
    opacity: 0.6;
    transition: 0.3s;
  }
.h-hamburger {
  position: fixed;
  display: flex;
  right: 0;
  top: 0;
  top: var(--wp-admin--admin-bar--height, 0);
  width: 50px;
  height: 50px;
  cursor: pointer;
  z-index: 10001;
}
@media (min-width: 768px) {
.h-hamburger {
    display: none
}
  }
.h-hamburger__btn {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
.h-hamburger__active {
    background-color: #303030;
    opacity: 0;
    visibility: hidden;
    transition: all 300ms;
  }
.h-hamburger__open .h-hamburger__active {
    opacity: 1;
    visibility: visible;
  }
.h-mainMenu2 {
  grid-column: 1 / 5;
  grid-row: 2 / 3;
  background: #303030;
  color: #fff;
  text-align: center;
}
.h-mainMenu2 > .sysContent {
    width: calc(100vw - 4rem);
    max-width: 1440px;
    margin: 0 auto;
  }
.h-mainMenu2 a,
  .h-mainMenu2__dropdown {
    position: relative;
    display: block;
    color: inherit;
    border: none;
    cursor: pointer;
  }
.h-mainMenu2__dropdown__label::after {
    margin-left: 0.5rem;
    display: inline-block;
    content: '';
    width: 11px;
    height: 1.2em;
    vertical-align: middle;
    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMC44OSIgaGVpZ2h0PSI2LjA2IiB2aWV3Qm94PSIwIDAgMTAuODkgNi4wNiI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMS41MyIgZD0iTTEwLjM3LjU3IDUuNDQgNS4wMy41MS41NyIvPjwvc3ZnPg==)
      no-repeat center center;
  }
.h-mainMenu2__dropdown__list {
    position: absolute;
    top: 3em;
    left: 0;
    background: #303030;
    flex-direction: column;
    width: -moz-max-content;
    width: max-content;
    min-width: 100%;
    z-index: 10;
    border: #7b7b7b solid 1px;
    border-radius: 4px;
    padding: 1.25em 0;
    text-align: left;
    cursor: default;
    opacity: 0;
    visibility: hidden;
    transition: all 200ms ease;
  }
.h-mainMenu2__dropdown__list > li > a {
      font-size: small;
      padding: 0.25em 2em;
    }
.h-mainMenu2 a:hover {
    color: #707070;
  }
@media (min-width: 768px) {
    .h-mainMenu2__dropdown:hover > .h-mainMenu2__dropdown__label::after {
      transform: rotate(180deg);
    }

    .h-mainMenu2__dropdown:hover > .h-mainMenu2__dropdown__list {
      opacity: 1;
      visibility: visible;
    }
  }
@media (max-width: 767px) {
.h-mainMenu2 {
    background-color: #303030 !important;
}
.h-mainMenu2 {
    position: fixed;
    width: 100vw;
    z-index: 10001;
    opacity: 0;
    visibility: hidden;
    transition: all 300ms;
}
    .h-hamburger.h-hamburger__open ~ .h-mainMenu2 {
    opacity: 1;
    visibility: visible;
  }
    .h-mainMenu2{

    left: 0;
    top: calc(0px + 140px);
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 140px);
    height: calc(100vh - 140px - 84px - 0px);
    height: calc(100vh - 140px - 84px - var(--wp-admin--admin-bar--height, 0px));
    overflow: auto;
  }

    .h-mainMenu2 > .sysContent {
      padding: 0 2rem !important;
    }

    .h-mainMenu2 ul {
      flex-direction: column;
    }

      .h-mainMenu2 ul > li.sysText {
        text-align: left;
        border-bottom: #fff solid 1px;
      }

        .h-mainMenu2 ul > li.sysText:last-child {
          border: none;
        }

    .h-mainMenu2__dropdown {
      -webkit-tap-highlight-color: transparent;
    }

    .h-mainMenu2__dropdown__list {
      display: none !important;
    }

    .h-mainMenu2__dropdown__list {
      position: static;
      opacity: 1;
      visibility: visible;
      margin: 1rem -1rem -1rem -1rem;
      border: none;
      border-radius: 0;
      width: auto;
      padding: 0;
    }

      .h-mainMenu2__dropdown__list > li {
        border-top: #888 solid 1px;
      }
      .h-mainMenu2__dropdown__list > li > a {
        padding: 1em 1em 1em 2em;
      }

    .h-mainMenu2__dropdown.open > .h-mainMenu2__dropdown__label::after {
      transform: rotate(180deg);
    }

    .h-mainMenu2__dropdown.open > .h-mainMenu2__dropdown__list {
      display: flex !important;
    }
  }
.h-mainMenu2 ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
@media (min-width: 1200px) {
.h-mainMenu2 ul {
      justify-content: stretch;
      flex-wrap: nowrap
  }
    }
.h-mainMenu2 ul > li.sysText {
      width: auto !important;
    }
.h-mainMenu2 ul > li.sysText {
      flex: 1 0 auto;
      margin: 0;
      padding: 0;
    }
.h-mainMenu2 ul > li.sysText > a,
      .h-mainMenu2 ul > li.sysText > span {
        padding: 1em;
      }
.h-mainMenu2 ul::after {
      display: none;
    }
.h-mainPopMenu2 {
  --background-bottom-color: #fff;
  grid-column: 1 / 5;
  grid-row: 3 / 4;
  background: linear-gradient(to bottom, #303030 50%, var(--background-bottom-color) 50%);
  font-size: smaller;
}
.h-mainPopMenu2 > .sysContent {
    width: calc(100vw - 4rem);
    max-width: 1440px;
    margin: 0 auto;
  }
.h-mainPopMenu2 ul {
    display: flex;
    justify-content: space-between;
  }
.h-mainPopMenu2 ul > li.sysText {
      width: 100% !important;
    }
.h-mainPopMenu2 ul > li.sysText {
      flex: 1 1 0%;
      max-width: 200px;
      background: #fff;
      border-radius: 5px;
      margin: 0;
      padding: 0;
      text-align: left;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
      overflow: hidden;
    }
.h-mainPopMenu2 ul > li.sysText > a {
        display: grid;
        grid-template-columns: auto auto;
        grid-column-gap: 1.2em;
        -moz-column-gap: 1.2em;
             column-gap: 1.2em;
        align-items: center;
        height: 96px;
        color: inherit;
        padding: 10px 20px;
        border: none;
      }
@media (max-width: 1050px) {
.h-mainPopMenu2 ul > li.sysText > a {
          padding: 10px;
          height: 66px
      }
        }
.h-mainPopMenu2 ul > li.sysText > a > svg {
          flex: 0 0 auto;
          -o-object-fit: contain;
             object-fit: contain;
          max-height: 100%;
        }
@media (max-width: 1050px) {
.h-mainPopMenu2 ul > li.sysText > a > svg {
            width: 40px;
            height: auto
        }
          }
.h-mainPopMenu2 ul > li.sysText > a:hover {
          background: #f7f7f7;
        }
.h-mainPopMenu2 ul::after {
      display: none;
    }
.h-mainPopMenu2__text {
    white-space: normal;
  }
@media (max-width: 767px) {
.h-mainPopMenu2 {
    background: #e2e2e2;
    border-bottom: #e2e2e2 solid 1px;
    font-size: 0.6rem
}

    .h-mainPopMenu2 > .sysContent {
      width: auto;
    }

    .h-mainPopMenu2 ul {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      grid-gap: 1px;
      gap: 1px;
    }

      .h-mainPopMenu2 ul > li.sysText {
        box-shadow: none;
        border-radius: 0;
        height: 40px;
      }

        .h-mainPopMenu2 ul > li.sysText > a {
          padding: 5px 10px;
          height: 40px;
          grid-template-columns: auto 1fr;
          -moz-column-gap: 8px;
               column-gap: 8px;
        }

          .h-mainPopMenu2 ul > li.sysText > a > svg {
            width: 20px;
            height: auto;
          }
  }
#sysFooter {
  position: relative;
}
.footer-contact-2022 {
  position: relative;
  z-index: 200;
  background-color: #3a3a3a;
  color: #fff;
}
.footer-contact-2022 > .sysContent {
    padding: 83px 0 !important;
  }
.footer-contact-2022 > .sysContent {
    width: calc(100vw - 4rem);
    max-width: 1440px;
    margin: 0 auto;
  }
.footer-contact-2022__body {
    display: grid;
    grid-template-columns: 1fr 498px;
  }
.footer-contact-2022__left {
    grid-column: 1 / 2;
    grid-row: 1 / 4;
  }
.footer-contact-2022__tagline {
    font-size: 2.5rem;
    margin: 0 0 30px 0;
  }
.footer-contact-2022__button {
    margin: 0 0 30px 0;
  }
.footer-contact-2022__inquiry,
  .footer-contact-2022__faq {
    display: inline-block;
    color: inherit;
    border-radius: 5px;
  }
.footer-contact-2022__inquiry {
    background: #1473e6;
    padding: 0.5em 3rem;
  }
.footer-contact-2022__inquiry:hover {
      opacity: 0.6;
      transition: 0.3s;
    }
.footer-contact-2022__faq {
    border: currentColor solid 1px;
    font-size: smaller;
    padding: 0.5em 3rem;
  }
.footer-contact-2022__faq:hover {
      opacity: 0.6;
      transition: 0.3s;
    }
.footer-contact-2022__phone,
  .footer-contact-2022__fax {
    display: flex;
    align-items: center;
    justify-content: center;
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
.footer-contact-2022__icon {
    flex: 0 0 64px;
    text-align: center;
  }
.footer-contact-2022__details > p {
    font-weight: bold;
    margin: 0;
  }
.footer-contact-2022__details > address {
    font-size: 2.625rem;
    font-style: normal;
  }
.footer-contact-2022__phone {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    padding: 0 0 1rem 0;
    border-bottom: rgba(255, 255, 255, 0.4) 1px solid;
  }
.footer-contact-2022__fax {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    padding: 1rem 0 0 0;
  }
.footer-contact-2022__zoom {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
    text-align: center;
  }
.footer-contact-2022__zoom b {
      font-size: 1.2em;
    }
@media (max-width: 767px) {
    #sysFooter.stick .footer-contact-2022 {
      margin-top: calc(2.25rem + 2px);
    }

    .footer-contact-2022 > .sysContent {
      padding: 50px 30px !important;
    }

    .footer-contact-2022 > .sysContent {
      width: auto;
    }

    .footer-contact-2022__body {
      display: block;
    }
    .footer-contact-2022__tagline {
      font-size: 1.5rem;
    }
    .footer-contact-2022__inquiry {
      display: block;
      text-align: center;
    }
    .footer-contact-2022__phone,
    .footer-contact-2022__fax {
      margin: 0 -15px;
      padding: 1rem 30px;
      -moz-column-gap: 12px;
           column-gap: 12px;
    }

      .footer-contact-2022__phone address, .footer-contact-2022__fax address {
        font-size: 2rem;
      }
    .footer-contact-2022__icon {
      flex-basis: 38px;
      width: 38px;
    }

      .footer-contact-2022__icon > svg {
        transform: scale(0.6);
        transform-origin: 0 center;
      }
  }
.footer-2022 {
  position: relative;
  z-index: 200;
  border-top: rgba(255, 255, 255, 0.4) 1px solid;
  background-color: #303030;
  color: #fff;
}
.footer-2022 > .sysContent {
    padding: 50px 10px 30px 10px !important;
  }
.footer-2022 > .sysContent {
    max-width: 1440px;
    margin: 0 auto;
  }
.footer-2022 a {
    color: inherit;
  }
.footer-2022__body {
    display: flex;
  }
.footer-2022__company {
    flex: 1 0 auto;
  }
.footer-2022__logo {
    margin-bottom: 1rem;
  }
.footer-2022__name {
    font-weight: bold;
    margin-bottom: 1.5rem;
  }
.footer-2022__address {
    margin-bottom: 1rem;
  }
.footer-2022__links {
    border-left: rgba(255, 255, 255, 0.4) solid 1px;
    padding: 0 0 0 50px;
    display: flex;
    justify-content: space-around;
    -moz-column-gap: 40px;
         column-gap: 40px;
    font-size: smaller;
  }
.footer-2022__links > ul {
      list-style: none;
    }
.footer-2022__links > ul > li {
        margin: 0 0 0.5rem 0;
      }
.footer-2022__links > ul > li:hover {
          opacity: 0.6;
          transition: 0.3s;
        }
@media (max-width: 767px) {
.footer-2022__links {
      display: none
  }
    }
.footer-2022__copyright {
    padding-top: 30px;
    color: rgba(255, 255, 255, 0.4);
    text-align: right;
  }
@media (max-width: 767px) {
.footer-2022 {
    font-size: 0.75rem
}

    .footer-2022 > .sysContent {
      padding: 50px 30px 30px 30px !important;
    }

    .footer-2022 > .sysContent {
      width: auto;
    }
    .footer-2022__copyright {
      text-align: center;
    }
  }
@media (max-width: 767px) {
.h-bottomSticky {
    padding: 0 !important
}
.h-bottomSticky {
    position: relative;
    z-index: 100;
    background: rgba(255,0,255,0.53333)
}

    #sysFooter.stick .h-bottomSticky {
      position: fixed;
      bottom: 0;
      width: 100%;
    }

    .h-bottomSticky > .sysContent {
      display: grid;
      grid-template-columns: 1fr 1fr;
      border: #1473e6 solid 1px;
      text-align: center;
      font-size: 0.75rem;
    }

    .h-bottomSticky__inquiry,
    .h-bottomSticky__tel {
      line-height: 2.25rem;
      vertical-align: middle;
    }

    .h-bottomSticky__inquiry {
      background-color: #1473e6;
      color: #fff;
    }
    .h-bottomSticky__tel {
      background-color: #fff;
      color: #1473e6;
    }
  }
.mainCnt {
  margin: 0 0 !important;
}
.mainCnt {
  width: 100%;
  padding: 10px 15px 55px;
  box-shadow: none;
  border: none;
}
.mainCnt h1.sysHeadline {
    border-left: none !important;
    padding: 0 0 0 0 !important;
    font-size: 24px !important;
    margin-bottom: 30px !important;
  }
.mainCnt .sysContent > ol {
      font-size: 14px !important;
      margin-bottom: 30px !important;
      background-color: #f7f7f7 !important;
      margin-left: 0px !important;
      padding: 30px 22px !important;
    }
.mainCnt .sysContent > ol > li:not(:last-child) {
        padding-bottom: 14px !important;
      }
.mainCnt .sysContent > p {
      font-size: 14px !important;
      margin: 0 !important;
      padding: 0 0 30px 0 !important;
    }
.mainCnt .sysContent > h2 {
      font-size: 20px !important;
      border-bottom: none !important;
      font-weight: normal !important;
    }
.mainCnt .sysContent > h3 {
      font-size: 16px !important;
      font-weight: normal !important;
      margin-bottom: 8px !important;
    }
#corporate .mainCnt .sysContent p:not(:last-child) {
  font-size: 14px !important;
  margin: 0 !important;
  padding: 0 0 30px 0 !important;
}
#corporate .mainCnt .sysContent p:not(:last-child) {
  border-bottom: 1px solid #dcdcdc;
}
#about_payment .mainCnt .sysContent p:nth-last-of-type(2),
  #about_payment .mainCnt .sysContent p:nth-last-of-type(3),
  #about_payment .mainCnt .sysContent p:nth-last-of-type(4) {
    margin: 0 !important;
    padding: 20px 30px 0 30px !important;
  }
#about_payment .mainCnt .sysContent p:nth-last-of-type(2),
  #about_payment .mainCnt .sysContent p:nth-last-of-type(3),
  #about_payment .mainCnt .sysContent p:nth-last-of-type(4) {
    background-color: #f7f7f7;
  }
#about_payment .mainCnt .sysContent p:nth-last-of-type(3)::after,
  #about_payment .mainCnt .sysContent p:nth-last-of-type(4)::after {
    content: '' !important;
    border-bottom: 1px solid #dcdcdc !important;
    padding-bottom: 30px !important;
    display: block !important;
  }
#about_payment .mainCnt .sysContent p:nth-last-of-type(2) {
    padding-bottom: 30px !important;
    margin-bottom: 30px !important;
  }
#about_payment .mainCnt .sysContent p:nth-last-of-type(4) {
    padding-top: 30px !important;
  }
.bread ul {
  padding: 20px 15px !important;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .mainCnt {
    max-width: 970px;
  }
}
@media (min-width: 1200px) {
  #concept #sysWrap {
    margin-top: 38px;
  }
}
#sysAll,
#sysAside,
#sysFooter {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  background: none;
}
#sysMain {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  padding: 0 0 38px 0;
  margin: 0;
  width: auto;
  line-height: 1.6;
}
@media (max-width: 767px) {
#sysMain {
    padding-left: 8px;
    padding-right: 8px
}
  }
#sysMain,
#sysAside {
  background: #fff;
}
#sysWrap,
#sysAll > #sysMain {
  width: calc(100vw - 4rem);
  max-width: 1440px;
  margin: 0 auto;
}
#sysAll > #sysMain {
  margin-top: 40px;
}
#sysWrap {
  display: grid;
  grid-template-columns: 260px 1fr;
  grid-column-gap: 32px;
  -moz-column-gap: 32px;
       column-gap: 32px;
  padding: 38px 0 0 0;
}
@media (max-width: 767px) {
#sysWrap {
    display: block;
    width: auto
}
  }
/* ============================================
   [Sidebar Phase2] 2026-02-07
   サイドバーデザイン改善 - カード型・sticky・プロトタイプ準拠
   ============================================ */

/* --- サイドバー基本 --- */
#sysAside {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  padding-bottom: 2rem;
  position: sticky;
  top: 20px;
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #CBD5E1 transparent;
  font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic Medium', 'Yu Gothic', 'BIZ UDPGothic', Meiryo, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #303030 !important;
}

/* Webkit系スクロールバー */
#sysAside::-webkit-scrollbar {
  width: 6px;
}

#sysAside::-webkit-scrollbar-track {
  background: transparent;
}

#sysAside::-webkit-scrollbar-thumb {
  background: #CBD5E1;
  border-radius: 3px;
}

#sysAside::-webkit-scrollbar-thumb:hover {
  background: #94A3B8;
}

.sysContent {
  padding: 0 !important;
}

/* --- .aside-2022 統合（user_common.cssから移行） --- */
.aside-2022 h2 {
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  color: #303030 !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}

.aside-2022 h3 {
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: #303030 !important;
  border-bottom: none !important;
}

.aside-2022 li {
  font-size: 0.8125rem !important;
  line-height: 1.6 !important;
  border-bottom: none !important;
}

.aside-2022 ul {
  border-left: 2px solid #E2E8F0 !important;
  margin-left: 0.75rem !important;
  padding-left: 0.75rem !important;
}

/* --- 大カテゴリ見出し（カード型ヘッダー） --- */
.side2022-cat-machine,
.side2022-cat-material,
.side2022-cat-replacement-parts {
  background: #fff !important;
  border-radius: 8px !important;
  margin-bottom: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

.side2022-cat-machine > .sysHeadline,
.side2022-cat-material > .sysHeadline,
.side2022-cat-replacement-parts > .sysHeadline {
  display: flex;
  align-items: center;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #fff !important;
  background: #303030 !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  border: none !important;
  border-left: none !important;
  border-radius: 0 !important;
}

/* 見出しアイコン共通（flex子要素として垂直中央揃え） */
.side2022-cat-machine > .sysHeadline::before,
.side2022-cat-material > .sysHeadline::before,
.side2022-cat-replacement-parts > .sysHeadline::before {
  display: block;
  width: 22px;
  height: 23px;
  flex-shrink: 0;
  margin-right: 0.5em;
  object-fit: contain;
}

/* 機械アイコン（SVG）：白 */
.side2022-cat-machine > .sysHeadline::before {
  content: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMyI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjEuMTUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01OTUuNDIgLTE2NS43MykiPjxwYXRoIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTU5Ni4yIDE3MC4yMWgyMC41Ii8+PHJlY3Qgd2lkdGg9IjguMTgiIGhlaWdodD0iMi4yNyIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiByeD0iLjQ0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MDIuNCAxNzAuMjEpIi8+PHJlY3Qgd2lkdGg9IjUuMSIgaGVpZ2h0PSIyLjAyIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHJ4PSIuMjgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYwMy45NCAxNzIuNDkpIi8+PHJlY3Qgd2lkdGg9IjIwLjg1IiBoZWlnaHQ9IjIxLjg1IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHJ4PSIuOTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU5NiAxNjYuMykiLz48cGF0aCBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTYwNi40MiAxNzQuNTh2MS40OW0tNC4zMi03Ljg0aDguNzUiLz48cGF0aCBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJNNjAwLjA1IDE4NC41M2gxMy4yN3YzLjYzaC0xMy4yN3oiLz48L2c+PC9zdmc+);
}

/* 材料アイコン（フィラメントスプール） */
.side2022-cat-material > .sysHeadline::before {
  content: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMyIgdmlld0JveD0iMCAwIDIyIDIzIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMS4xNSI+PGVsbGlwc2UgY3g9IjExIiBjeT0iNC41IiByeD0iOS41IiByeT0iMy41Ii8+PGVsbGlwc2UgY3g9IjExIiBjeT0iMTguNSIgcng9IjkuNSIgcnk9IjMuNSIvPjxsaW5lIHgxPSIxLjUiIHkxPSI0LjUiIHgyPSIxLjUiIHkyPSIxOC41Ii8+PGxpbmUgeDE9IjIwLjUiIHkxPSI0LjUiIHgyPSIyMC41IiB5Mj0iMTguNSIvPjxlbGxpcHNlIGN4PSIxMSIgY3k9IjExLjUiIHJ4PSIzIiByeT0iMS41Ii8+PGVsbGlwc2UgY3g9IjExIiBjeT0iMTEuNSIgcng9IjYuNSIgcnk9IjMiIHN0cm9rZS1kYXNoYXJyYXk9IjIgMiIvPjwvc3ZnPg==);
}

/* 消耗品アイコン（ギア） */
.side2022-cat-replacement-parts > .sysHeadline::before {
  content: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMyIgdmlld0JveD0iMCAwIDIyIDIzIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMS4xNSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTkuNSAxLjVoM3YyLjJsMS44LjcgMS41LTEuNSAyLjEgMi4xLTEuNSAxLjUuNyAxLjhoMi4ydjNoLTIuMmwtLjcgMS44IDEuNSAxLjUtMi4xIDIuMS0xLjUtMS41LTEuOC43djIuMmgtM3YtMi4ybC0xLjgtLjctMS41IDEuNS0yLjEtMi4xIDEuNS0xLjUtLjctMS44SDIuN3YtM2gyLjJsLjctMS44LTEuNS0xLjUgMi4xLTIuMSAxLjUgMS41IDEuOC0uN3oiLz48Y2lyY2xlIGN4PSIxMSIgY3k9IjExLjUiIHI9IjMuMiIvPjwvc3ZnPg==);
}

/* --- 中カテゴリブロック --- */
.side2022__block {
  font-size: 0.875rem;
  padding: 0 !important;
}

.side2022__h4__link {
  display: block;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: #334155 !important;
  padding: 8px 16px !important;
  transition: color 0.2s !important;
}

.side2022__h4__link:hover {
  color: #0066CC !important;
}

/* --- 中カテゴリ（アコーディオンヘッダー） --- */
#sysAside .side2022__title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #475569 !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid #F1F5F9 !important;
  border-radius: 0 !important;
  cursor: pointer;
  transition: background-color 0.2s !important;
}

#sysAside .side2022__title:hover {
  background-color: #F8FAFC !important;
  opacity: 1 !important;
}

/* アコーディオン矢印 */
#sysAside .side2022__title::after {
  content: "⌄";
  display: inline-block;
  font-size: 12px;
  color: #94A3B8;
  margin-left: auto;
  padding-left: 8px;
  transition: transform 0.3s;
}

#sysAside .side2022__title.active::after {
  transform: rotate(180deg);
}

/* --- 展開エリア --- */
#sysAside .side2022__body {
  border-left: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #F8FAFC !important;
  height: 0;
  visibility: hidden;
  opacity: 0;
  transition: all 300ms;
  overflow: hidden;
}

#sysAside .side2022__title.active + .side2022__body {
  height: auto;
  visibility: visible;
  opacity: 1;
}

/* --- 小カテゴリ --- */
#sysAside .side2022__collapse_title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #475569 !important;
  margin: 0 !important;
  padding: 6px 16px 6px 32px !important;
  border-radius: 0 !important;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  transition: all 0.2s !important;
}

#sysAside .side2022__collapse_title:hover {
  color: #0066CC !important;
  background-color: transparent !important;
  opacity: 1 !important;
}

/* 小カテゴリ矢印 */
#sysAside .side2022__collapse_title::after {
  content: "⌄";
  display: inline-block;
  font-size: 12px;
  color: #94A3B8;
  margin-left: auto;
  padding-left: 8px;
  transition: transform 0.3s;
}

#sysAside .side2022__collapse_title.active::after {
  transform: rotate(180deg);
}

/* 小カテゴリ展開エリア */
#sysAside .side2022__collapse_content {
  padding: 8px 16px 8px 32px !important;
  height: 0;
  visibility: hidden;
  opacity: 0;
  transition: all 300ms;
  overflow: hidden;
}

#sysAside .side2022__collapse_title.active + .side2022__collapse_content {
  height: auto;
  visibility: visible;
  opacity: 1;
}

#sysAside .side2022__collapse_content > ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#sysAside .side2022__collapse_content > ul > li {
  margin: 0 !important;
  padding: 6px 0 !important;
}

#sysAside .side2022__collapse_content > ul > li > a {
  display: block !important;
  font-size: 13px !important;
  color: #64748B !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

#sysAside .side2022__collapse_content > ul > li > a:hover {
  color: #0066CC !important;
}

/* ホバー時のopacity上書き防止 */
#sysAside .side2022__collapse_content li:hover {
  opacity: 1 !important;
}

/* --- Amazon Payバナー非表示 --- */
#sysAside .amazon-pay {
  display: none !important;
}

/* --- レスポンシブ：スマホではsticky無効化 --- */
@media (max-width: 767px) {
  #sysAside {
    position: static !important;
    max-height: none !important;
    overflow-y: visible !important;
  }
}

/* ============================================
   サイドバー BtoB情報ブロック 2026-04-08
   電話・見積依頼・法人ガイド・信頼バッジ
   ============================================ */

/* --- 共通カード --- */
.side2022-btob {
  background: #fff !important;
  border-radius: 8px !important;
  margin-bottom: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

/* --- ヘッダー（お問い合わせ） --- */
.side2022-btob__header {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #303030 !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #fff !important;
}
.side2022-btob__header svg {
  flex-shrink: 0;
}

/* --- 電話番号エリア --- */
.side2022-btob__contact-body {
  padding: 14px 16px !important;
}
.side2022-btob__phone {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  letter-spacing: 0.5px;
  line-height: 1.3;
}
.side2022-btob__fax {
  font-size: 11px !important;
  color: #64748B !important;
  margin-top: 2px;
}
.side2022-btob__hours {
  font-size: 11px !important;
  color: #94A3B8 !important;
  margin-top: 4px;
  padding-top: 6px;
  border-top: 1px solid #F1F5F9;
}

/* --- リンクカード（見積依頼・法人ガイド） --- */
.side2022-btob__link {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px 16px !important;
  text-decoration: none !important;
  transition: background 0.2s !important;
}
.side2022-btob__link:hover {
  background: #F8FAFC !important;
}
.side2022-btob__icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.side2022-btob__icon--estimate {
  background: #EFF6FF !important;
}
.side2022-btob__icon--houjin {
  background: #F0FDF4 !important;
}
.side2022-btob__link-text {
  flex: 1;
  min-width: 0;
}
.side2022-btob__link-title {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  line-height: 1.4;
}
.side2022-btob__link-sub {
  font-size: 11px !important;
  color: #64748B !important;
  margin-top: 1px;
}
.side2022-btob__chevron {
  flex-shrink: 0;
  color: #94A3B8;
}

/* --- 信頼バッジ --- */
.side2022-btob--badges {
  background: #F8FAFC !important;
  padding: 14px 16px !important;
}
.side2022-btob__badges-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
}
.side2022-btob__badges-title {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #475569 !important;
}
.side2022-btob__badge {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 3px 0;
}
.side2022-btob__badge-check {
  color: #16A34A;
  font-size: 14px;
  line-height: 1;
  flex-shrink: 0;
  margin-top: 2px;
}
.side2022-btob__badge-text {
  font-size: 12px !important;
  color: #475569 !important;
  line-height: 1.5;
}
.side2022-btob__badge-text strong {
  font-weight: 700;
  color: #334155;
}

/* --- BtoBブロック レスポンシブ --- */
@media (max-width: 767px) {
  .side2022-btob__phone {
    font-size: 18px !important;
  }
}

.mv-contents {
  grid-column: 1 / 5;
  grid-row: 4 / 5;
}
.mv-contents .slick-slider {
    margin-bottom: 0;
  }
.mv-contents .slick-dots {
    bottom: 16px;
  }
.mv-contents .slick-dots li button::before {
    font-size: 8px;
  }
.mv-contents .slick-dots li.slick-active button::before {
    color: #fff;
  }
.mv-content {
  max-width: 1440px;
  margin: 40px auto 0;
  display: grid;
  grid-gap: 16px;
  gap: 16px;
  grid-template-columns: 904fr 300fr;
}
@media (max-width: 767px) {
.mv-content {
    margin-top: 0;
    max-width: none;
    gap: 0px;
    grid-template-columns: 1fr 1fr
}
  }
.mv-slider {
  width: 100%;
  height: 100%;
}
.mv-btn-flex {
  position: relative;
  width: 100%;
  height: 100%;
}
.mv-btn-flex > img {
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 5px;
    width: 100%;
    height: 100%;
  }
@media (max-width: 767px) {
.mv-btn-flex > img {
      border-radius: 0
  }
    }
.mv-button {
  position: absolute;
  color: #fff;
  background-color: #1473e6;
  border-radius: 100vh;
  border: thin solid #1473e6;
}
.mv-button-pc {
  right: 30px;
  bottom: 30px;
  font-size: 13px;
  padding: 2px 20px;
}
@media (max-width: 767px) {
.mv-button-pc {
    display: none
}
  }
.mv-button-sp {
  right: 14px;
  bottom: 14px;
  font-size: 16px;
  padding: 2px 6px;
}
@media (min-width: 768px) {
.mv-button-sp {
    display: none
}
  }
.mv-sub-content1 {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}
@media (max-width: 767px) {
.mv-sub-content1 {
    grid-column: 1 / 2;
    grid-row: 2 / 3
}
  }
.mv-sub-content2 {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}
@media (max-width: 767px) {
.mv-sub-content2 {
    grid-column: 2 / 3;
    grid-row: 2/3
}
  }
.mv-main-contents {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  overflow: hidden;
}
@media (max-width: 767px) {
.mv-main-contents {
    grid-column: 1 / 3;
    grid-row: 1/2
}
  }
[class*='contents-subtitle'] {
  margin: 70px 0 30px 0;
  font-size: 24px;
}
@media (max-width: 767px) {
[class*='contents-subtitle'] {
    margin-top: 60px
}
  }
.contents-morelink {
  text-align: center;
  margin-top: 10px;
}
.contents-morelink > a {
    color: #1473e6;
  }
.col2,
.col3,
.col4 {
  display: grid;
  grid-column-gap: 18px;
  -moz-column-gap: 18px;
       column-gap: 18px;
  grid-row-gap: 35px;
  row-gap: 35px;
}
.col2 > .box, .col3 > .box, .col4 > .box {
    font-size: 14px;
  }
.col2 > .box > a, .col3 > .box > a, .col4 > .box > a {
      display: block;
    }
.col2 > .box > a > img, .col3 > .box > a > img, .col4 > .box > a > img {
        border-radius: 5px;
        border: 1px solid #dcdcdc;
        -o-object-fit: cover;
           object-fit: cover;
      }
.col2 {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 767px) {
.col2 {
    grid-template-columns: 1fr;
    row-gap: 10px
}
  }
.col3 {
  grid-template-columns: repeat(3, 1fr);
}
.col4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 767px) {
  .col3,
  .col4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.contents-list4_item_name {
  font-size: 16px;
}
.contents-list3-bg {
  padding: 20px;
  background: #f7f7f7;
  border-radius: 10px;
}
.contents-list3-bg .top-picup-name {
    font-size: 16px;
    margin-bottom: 0;
  }
.contents-list2 {
  margin-top: 70px;
}
.contents-list3 .top-set-item-name {
    margin: 14px 0;
  }
.contents-list3 .top-set-price {
    font-size: 20px;
  }
.contents-list3 .top-set-price::first-letter {
      font-size: 18px;
    }
.contents-list3 .top-set-price > small {
      font-size: 16px;
    }
@media (max-width: 767px) {
    .contents-list3 .top-set-price {
      font-size: 18px;
    }
  }
.material__content {
  display: grid !important;
}
.material__content {
  grid-template-columns: 1fr 200px;
  align-items: center;
  height: 100%;
  border: 1px solid #dcdcdc;
  border-radius: 5px;
}
@media (max-width: 767px) {
.material__content {
    grid-template-columns: 1fr 35vw
}
  }
.material__text {
  padding: 30px;
}
@media (max-width: 767px) {
.material__text {
    padding: 16px
}
  }
.material__text > p {
  font-size: 16px;
  margin: 0 0;
  line-height: 1;
}
.contents-list3-item .detail-link-btn {
  margin-top: 10px;
  font-size: 14px;
  display: inline-block;
  color: #fff;
  background-color: #1473e6;
  border-radius: 100vh;
  padding: 4px 16px;
}
.contents-slide1 {
  padding: 30px;
  background-color: #f7f7f7;
  border-radius: 10px;
}
@media (max-width: 767px) {
.contents-slide1 {
    padding: 10px
}
  }
.contents-slide1 > .box > a > img {
        width: 100%;
        aspect-ratio: 640 / 380;
        border: none;
        -o-object-fit: cover;
           object-fit: cover;
      }
.news-flex-list-grid {
  border-top: 1px solid #e2e2e2;
  border-bottom: 1px solid #e2e2e2;
  margin: 32px 0 70px 0;
}
@media (max-width: 767px) {
.news-flex-list-grid {
    border: none;
    margin: 0;
    padding: 0 0 56px 0;
    text-align: center
}
  }
.news-flex-list {
  display: grid;
  grid-template-columns: 252px 1fr;
  justify-content: flex-start;
  margin: 0 auto;
  max-width: 1440px;
  background-color: #fff;
}
@media (max-width: 767px) {
.news-flex-list {
    display: block
}
  }
.news-flex-list h2 {
    font-weight: normal;
    margin: 0 0 30px 0;
    font-size: 24px;
  }
@media (max-width: 767px) {
.news-flex-list h2 {
      margin: 0;
      padding: 0 8px
  }
    }
.news-flex-list .news-title {
    padding: 70px 10px;
    border-right: 1px solid #e2e2e2;
    text-align: left;
  }
@media (max-width: 767px) {
.news-flex-list .news-title {
      padding: 0 0 24px;
      border: none
  }
    }
.news-flex-list .news-flex-more,
  .news-flex-list .news-flex-more-sp {
    color: #1473e6;
  }
@media (max-width: 767px) {
.news-flex-list .news-flex-more {
      display: none
  }
    }
@media (min-width: 768px) {
.news-flex-list .news-flex-more-sp {
      display: none
  }
    }
.news-flex-list .news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: -1px;
    text-align: left;
  }
@media (max-width: 767px) {
.news-flex-list .news-grid {
      display: block;
      margin-bottom: 26px
  }
    }
.news-flex-list .news-item {
    display: block;
    padding: 30px;
    border-right: 1px solid #e2e2e2;
    border-bottom: 1px solid #e2e2e2;
    height: 180px;
  }
@media (max-width: 767px) {
.news-flex-list .news-item {
      height: auto;
      border-right: none;
      padding: 20px
  }
    }
.news-flex-list .news-item:hover {
      background-color: #f7f7f7;
      transition: all 0.3s;
    }
.news-flex-list .news-title-text {
    font-size: 14px;
    margin-top: 4px;
  }
.news-flex-list .tag-news {
    display: flex;
    gap: 4px;
    align-items: center;
  }
.news-flex-list .tag-news-tag {
    border: 1px solid #303030;
    padding: 1px 4px;
    font-size: 11px;
  }
.news-flex-list .tag-news p {
    margin: 0.2rem 0 0 0.5rem !important;
  }
#sysItemDetail #sysWrap {
  padding: 60px 0 0 0 !important;
}
#sysItemDetail #sysMain .productBg {
    padding: 0 0 30px !important;
  }
#sysItemDetail #sysMain .productBg {
    background-color: #fff;
  }
.product .sysItemImages {
  padding: 0 0 !important;
}
.product .sysItemImages > .sysMainImage {
    width: 100%;
    aspect-ratio: 1.64/1;
  }
.product .sysItemImages > .sysMainImage img {
      border: 1px solid #dcdcdc;
      border-radius: 5px;
      width: 100%;
      height: auto;
      -o-object-fit: cover;
         object-fit: cover;
    }
.product .sysItemImages .sysImageList li {
    width: 11.11% !important;
    aspect-ratio: 1/1 !important;
  }
.product .sysItemImages .sysImageList li {
    margin: 20px 0 10px;
  }
.product .sysItemImages .sysImageList li:hover {
      opacity: 0.6;
      transition: 0.3s;
    }
.product .sysItemImages .sysImageList li img {
      height: 100%;
      width: auto;
      -o-object-fit: cover;
         object-fit: cover;
      border-radius: 3px;
    }
#sysItemDetail #sysMain .productRight {
  padding-left: 4% !important;
}
#sysItemDetail .sysItemName {
  font-size: 14px !important;
}
#sysItemDetail .sysItemName h1 {
    border-bottom: none !important;
    font-size: 24px !important;
  }
#sysItemDetail .sysItemName h1 {
    font-weight: normal;
    margin-bottom: 30px;
  }

/* [旧定義削除済み - 6000行台に統合] */

@media (max-width: 850px) {
    #sysItemDetail #sysMain .productRight {
      max-width: 850px !important;
      padding-left: 0 !important;
    }
    #sysItemDetail #sysMain .productRight {
      width: 100%;
      margin: 0 auto;
    }

    #sysItemDetail #sysMain .sysItemImages {
      width: 100%;
      margin: 0 auto;
      margin-bottom: 30px;
    }

    #sysItemDetail #sysMain .product {
      padding: 10px 10px;
    }
}
#sysItemSearch #sysMain .sysItemSearchForm div.sysFreeArea {
  display: none;
}
#sysItemSearch #sysMain .sysItemSearchAndOr {
  grid-column: 1/5;
  grid-row: 1/2;
  display: inline-block;
  position: relative;
  width: 1em;
  height: 1em;
  color: #b7b7b7;
  font-size: 15px;
  margin-top: 19px;
  margin-left: 95%;
}
#sysItemSearch #sysMain .sysItemSearchAndOr::before {
  position: absolute;
  top: 0px;
  left: 1px;
  width: 0.7em;
  height: 0.7em;
  box-sizing: border-box;
  border: 0.1em solid currentColor;
  border-radius: 50%;
  background-color: #fff;
  z-index: 2;
  content: '';
}
#sysItemSearch #sysMain .sysItemSearchAndOr::after {
  position: absolute;
  top: 0px;
  left: 50%;
  z-index: 1;
  transform: rotate(-45deg);
  width: 0.15em;
  height: 1em;
  box-sizing: border-box;
  background-color: currentColor;
  content: '';
}
#sysItemSearch #sysMain .sysItemSearchForm {
  background-color: #f7f7f7 !important;
  padding: 40px 0 !important;
}
#sysItemSearch #sysMain .sysItemSearchFormRange,
#sysItemSearch #sysMain .sysItemSearchFormCategory,
#sysItemSearch #sysMain .sysItemSearchFormSort,
#sysItemSearch #sysMain .sysItemSearchFormLimit {
  width: 100% !important;
  padding: 0 !important;
}
#sysItemSearch #sysMain .sysItemListDisp {
  margin: 60px 0 30px !important;
}
#sysItemSearch #sysMain .sysItemSearchFormInput {
  max-width: 700px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}
#sysItemSearch #sysMain .sysItemSearchFormInput {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: auto;
  grid-row-gap: 30px;
  row-gap: 30px;
  color: #303030;
}
#sysItemSearch #sysMain .sysItemSearchFormInput input {
    border: 1px solid #dcdcdc !important;
  }
#sysItemSearch #sysMain .sysItemSearchFormInput select {
    border: 1px solid #dcdcdc !important;
    box-shadow: none !important;
    background-color: #fff !important;
    color: #303030 !important;
  }
#sysItemSearch #sysMain .sysItemSearchFormInput select {
    height: 45px;
  }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormWord {
    padding: 0 0px !important;
  }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormWord {
    position: relative;
    grid-column: 1/5;
    grid-row: 1/2;
    margin: 0 auto;
    width: 100%;
  }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormWord input {
      border-radius: 30px !important;
      padding: 0.75em 35px !important;
    }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormWord input {
      height: 50px;
    }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormCategory {
    grid-column: 1/5;
    grid-row: 2/3;
  }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormCategory select {
      width: 100%;
    }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormItemCategoryGroups {
    grid-column: 1/5;
    grid-row: 2/3;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    font-size: small;
    grid-gap: 1em;
    gap: 1em;
  }
@media (max-width: 767px) {
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormItemCategoryGroups {
      grid-template-columns: repeat(2, 1fr)
  }
    }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormItemCategoryGroups > .sysItemSearchFormItemCategoryGroupsTitle {
      grid-column: 1/-1;
      font-size: 1rem;
    }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormItemCategoryGroups label {
      display: inline !important;
    }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormItemCategoryGroups ul > li {
      display: grid;
      grid-template-columns: auto 1fr;
      grid-gap: 0.25em;
      gap: 0.25em;
      align-items: flex-start;
    }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormItemCategoryGroups ul > li > input {
        margin-top: 0.25em;
      }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormRange {
    color: #303030 !important;
  }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormRange {
    grid-column: 1/3;
    grid-row: 3/4;
  }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormRange input {
      width: 35% !important;
      margin: 0 10px 0 0 !important;
    }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormRange input {
      height: 45px;
    }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormSort {
    grid-column: 3/4;
    grid-row: 3/4;
  }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormSort select {
      width: 80%;
      margin-left: 20%;
    }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormLimit {
    grid-column: 4/5;
    grid-row: 3/4;
  }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysItemSearchFormLimit select {
      width: 80%;
      margin-left: 20%;
    }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysSearchButton {
    padding: 9.5px !important;
    width: 50% !important;
    margin: 0 auto !important;
    border-radius: 30px !important;
    font-weight: normal !important;
    background-color: #1473e6 !important;
    font-size: 15px !important;
  }
#sysItemSearch #sysMain .sysItemSearchFormInput > .sysSearchButton {
    cursor: pointer;
    grid-column: 1/5;
    grid-row: 4/5;
  }
@media (max-width: 500px) {
  #sysItemSearch #sysMain .sysItemSearchAndOr {
    margin-left: 90% !important;
  }
}
@media (max-width: 767px) {
  #sysItemSearch #sysMain .sysItemSearchFormCategory select {
    width: 100% !important;
  }
}
@media (max-width: 820px) {
  #sysItemSearch #sysMain .sysItemSearchFormRange {
    grid-column: 1/5 !important;
    grid-row: 3/4 !important;
  }

  #sysItemSearch #sysMain .sysItemSearchFormSort {
    grid-column: 1/3 !important;
    grid-row: 4/5 !important;
  }

  #sysItemSearch #sysMain .sysItemSearchFormSort select {
      width: 95% !important;
      margin-left: 0 !important;
    }

  #sysItemSearch #sysMain .sysItemSearchFormLimit {
    grid-column: 3/5 !important;
    grid-row: 4/5 !important;
  }

  #sysItemSearch #sysMain .sysItemSearchFormLimit select {
      width: 95% !important;
      margin-left: 5% !important;
    }

  #sysItemSearch #sysMain .sysSearchButton {
    grid-column: 1/5 !important;
    grid-row: 5/6 !important;
  }
}
#sysItemSearch #sysMain {
  width: 100%;
}
#sysItemSearch #sysMain .sysItemListDisp {
    width: 100%;
  }
/* [Phase3 2026-02-06] 画像エリア高さ統一 */
.sysThumbnailImage {
  width: 100% !important;
  aspect-ratio: 4/3 !important;
  max-width: none !important;
  margin-right: 0 !important;
  clear: both;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: #F8FAFC !important;
  flex-shrink: 0 !important;
}
.sysThumbnailImage > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  border-radius: 0 !important;
}
.sysThumbnailImage > a > img.thumbnail,
.sysThumbnailImage img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  transition: transform 0.3s ease !important;
}
/* [Phase3 2026-02-06] 画像ホバーエフェクト */
.sysThumbnailImage > a:hover > img.thumbnail,
.sysThumbnailImage > a:hover img {
  transform: scale(1.05) !important;
}

/* [Phase3.6 2026-02-06] 画像エリア余白追加 */
#sysItemCategory .sysThumbnailImage,
#sysItemCategory .sysItemList .sysThumbnailImage {
  margin: 16px 16px 0 16px !important;
  width: calc(100% - 32px) !important;
  height: auto !important;
  aspect-ratio: 4/3 !important;
  max-width: none !important;
  background: #F8FAFC !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  border-radius: 6px !important;
}

#sysItemCategory .sysThumbnailImage img,
#sysItemCategory .sysThumbnailImage a,
#sysItemCategory .sysThumbnailImage > a > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

.sysPagination ul {
  cursor: default;
}
.sysPagination ul > li {
    margin: 0 10px !important;
    width: 30px !important;
    padding: 0 !important;
  }
.sysPagination ul > li > a {
      width: 100% !important;
      height: 100% !important;
      color: #303030 !important;
      border: none !important;
    }
.sysPagination ul > li > a:hover {
        opacity: 0.6 !important;
        transition: 0.3s !important;
      }
.sysPagination ul > li a.sysCurrent {
      background-color: #f4f4f4 !important;
    }
.sysPagination ul > li a.sysCurrent {
      pointer-events: none;
    }
/* [Phase3 2026-02-06] 以下は新デザインで上書きされるため無効化
#sysItemCategory .sysGoCartButton {
    border-radius: 30px !important;
    color: #1473e6 !important;
    background-color: #fff !important;
    width: 100% !important;
  }
#sysItemCategory .sysGoCartButton {
    border: 1px solid #1473e6;
  }
*/
#sysItemCategory .sysList > li {
    flex-direction: column;
    height: 100%;
    position: relative;
  }
/* [Phase1 2026-02-05] 4列→3列に変更、gap統一 */
#sysItemCategory .sysItemList ul.sysThumbnail {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    width: 100%;
  }
/* [Phase1 2026-02-05] 4列→3列に変更、gap統一 */
#sysItemCategory .sysItemList ul.sysList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    width: 100%;
  }
/* [Phase3.5 2026-02-06] カードflexbox強制 */
#sysItemCategory .sysItemList ul.sysThumbnail > li,
#sysItemCategory .sysItemList ul.sysList > li {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 400px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
/* [Phase2 2026-02-06] ホバーエフェクト */
#sysItemCategory .sysItemList ul.sysThumbnail > li:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15) !important;
}
#sysItemCategory .sysItemList ul.sysList > li:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15) !important;
}
/* [Phase3.6 2026-02-06] バリエーション選択余白調整 */
#sysItemCategory .sysItemList li form {
  margin-top: auto !important;
  padding: 12px 16px 16px 16px !important;
  display: flex !important;
  flex-direction: column !important;
}

#sysItemCategory .sysItemList li form > div {
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
}

/* セレクトボックスのラベル「サイズ×カラー：」 */
#sysItemCategory .sysItemList li form label,
#sysItemCategory .sysItemList li form .sysFormLabel,
#sysItemCategory .sysItemList li form > div > span {
  display: block !important;
  font-size: 12px !important;
  color: #64748B !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* [Phase3.7 2026-02-06] セレクトボックス文字切れ修正 */
#sysItemCategory .sysItemList li select,
#sysItemCategory .sysItemList li form select {
  width: 100% !important;
  height: auto !important;
  min-height: 44px !important;
  padding: 12px 32px 12px 12px !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: #1E293B !important;
  background: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748B' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  cursor: pointer !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* セレクトボックスのoption要素 */
#sysItemCategory .sysItemList li select option {
  padding: 8px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}
/* [Phase1 2026-02-05] タブレット: 3列→2列に変更 */
@media (min-width: 768px) and (max-width: 1199px) {
#sysItemCategory .sysItemList ul.sysThumbnail {
      grid-template-columns: repeat(2, 1fr)
  }
#sysItemCategory .sysItemList ul.sysList {
      grid-template-columns: repeat(2, 1fr)
  }
    }
@media (max-width: 767px) {
#sysItemCategory .sysItemList ul.sysThumbnail {
      grid-template-columns: repeat(2, 1fr)
  }
#sysItemCategory .sysItemList ul.sysList {
      grid-template-columns: repeat(2, 1fr)
  }
    }

/* [Phase1 2026-02-05] 小型スマホ: 1列に変更 */
@media (max-width: 480px) {
  #sysItemCategory .sysItemList ul.sysThumbnail,
  #sysItemCategory .sysItemList ul.sysList {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* [Phase3.8 2026-02-06] 商品名高さ調整 */
#sysItemSearch .sysItemName,
#sysItemCategory .sysItemName,
#sysItemCategory .sysItemList .sysItemName {
  min-height: 44px !important;
  max-height: none !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  color: #1E293B !important;
  padding: 16px 16px 8px 16px !important;
  margin: 0 !important;
  white-space: normal !important;
}
#sysItemSearch .sysItemName > a,
#sysItemCategory .sysItemName > a {
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  display: block !important;
  font-weight: 600 !important;
  color: #1E293B !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
#sysItemSearch .sysItemName > a:hover,
#sysItemCategory .sysItemName > a:hover {
  color: #3B82F6 !important;
}
/* 汎用価格スタイル */
div.sysRetailPrice {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #DC2626 !important;
  line-height: 1.4 !important;
  padding: 0 16px 12px !important;
  margin: 0 !important;
  text-align: left !important;
}
div.sysAddVariation {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
/* [Phase2 2026-02-06] 検索結果の価格もカード対応 */
#sysItemSearch #sysMain .sysRetailPrice {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #DC2626 !important;
  margin: 0 !important;
}
/* [Phase3.6 2026-02-06] ボタン余白統一 */
#sysItemCategory .sysCartButton,
#sysItemCategory .sysGoCartButton,
#sysItemCategory .sysItemList .sysCartButton,
#sysItemCategory .sysItemList .sysGoCartButton,
#sysItemCategory .sysItemList input[type="submit"],
#sysItemCategory .sysItemList a.sysGoCartButton {
  display: block !important;
  width: 100% !important;
  padding: 12px 16px !important;
  background: #0066CC !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  margin: 8px 0 0 0 !important;
}

#sysItemCategory .sysCartButton:hover,
#sysItemCategory .sysGoCartButton:hover,
#sysItemCategory .sysItemList input[type="submit"]:hover {
  background: #0052A3 !important;
}

/* [Phase3.6 2026-02-06] フォームなし商品のボタン */
#sysItemCategory .sysItemList li > .sysCartButton,
#sysItemCategory .sysItemList li > .sysGoCartButton,
#sysItemCategory .sysItemList li > a.sysGoCartButton {
  margin: auto 16px 16px 16px !important;
  width: calc(100% - 32px) !important;
}
/* 検索ページ用カートボタン（変更なし） */
.sysCartButton:not(#sysItemDetail .sysCartButton):not(#sysItemCategory .sysCartButton) {
  background-color: #3B82F6 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  width: 100% !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  margin: 8px 0 0 0 !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
}
.sysCartButton:not(#sysItemDetail .sysCartButton):not(#sysItemCategory .sysCartButton):hover {
  background-color: #2563EB !important;
}
#sysConfirm h1,
#sysPayment h1,
#sysBasket h1,
#sysMemberRegisterIndex h1,
#sysFormConfirm h1,
h1.sysMypageMajorHeadLine:not(#sysMypageIndex h1):not(#sysMypageAshiato h1):not(#sysMypagePoint h1),
h2.sysMypageMajorHeadLine:not(#sysPayment h2):not(#sysConfirm h2):not(#sysMypageAshiato h2):not(#sysMypagePoint h2),
h2.SysMypageMinorHeadLine,
h2.sysMypageMinorHeadLine,
h2.sysCartTitle {
  border-left: none !important;
  font-size: 24px !important;
  padding: 0 0 0 0 !important;
  margin: 40px auto !important;
  font-weight: normal !important;
}
@media (max-width: 767px) {
#sysConfirm h1,
#sysPayment h1,
#sysBasket h1,
#sysMemberRegisterIndex h1,
#sysFormConfirm h1,
h1.sysMypageMajorHeadLine:not(#sysMypageIndex h1):not(#sysMypageAshiato h1):not(#sysMypagePoint h1),
h2.sysMypageMajorHeadLine:not(#sysPayment h2):not(#sysConfirm h2):not(#sysMypageAshiato h2):not(#sysMypagePoint h2),
h2.SysMypageMinorHeadLine,
h2.sysMypageMinorHeadLine,
h2.sysCartTitle {
    font-size: 20px !important
}
  }
#sysMypageAshiato h2,
#sysMypagePoint h2 {
  margin: 0px !important;
}
.form-inquiry #sysMain .comp {
    margin-bottom: 70px;
  }
.sysForm {
  background: #fff !important;
  padding: 0 0 !important;
  margin: 0 auto !important;
}

#sysMain > form {
  background: #fff !important;
  padding: 0 0 !important;
  margin: 0 auto !important;
}

#sysFormConfirm .sysNextSubmit {
    cursor: pointer !important;
    margin: 0 auto 70px !important;
    padding: 13px 15px !important;
    border-radius: 30px !important;
    max-width: 265px !important;
    font-size: 15px !important;
    font-weight: normal !important;
    background: #1473e6 !important;
    line-height: 22px !important;
  }
#sysFormConfirm .sysNextSubmit:hover {
      opacity: 0.6;
      transition: 0.3s;
    }
#sysFormConfirm .sysButton {
    cursor: pointer !important;
    background-color: transparent !important;
    color: #1473e6 !important;
    border: 1px solid #1473e6 !important;

    margin: 40px auto 30px !important;
    border-radius: 30px !important;
    max-width: 265px !important;
    font-size: 15px !important;
    padding: 13px 15px !important;
    width: 85% !important;
  }
#sysFormConfirm .sysButton {
    display: block;
  }
#sysFormConfirm .sysButton:hover {
      opacity: 0.6;
      transition: 0.3s;
    }
.sysButton:not(#sysMypageWithdrawalConfirm .sysButton):not(.sysMypageNav .sysButton):not(#sysFormConfirm .sysButton),
.sysBackButton {
  cursor: pointer !important;
  background-color: transparent !important;
  color: #1473e6 !important;
  border: 1px solid #1473e6 !important;
  border-radius: 30px !important;
  max-width: 265px !important;
  font-size: 15px !important;
  padding: 13px 15px !important;
  margin: 0 auto 70px !important;
  width: 85% !important;
}
.sysButton:not(#sysMypageWithdrawalConfirm .sysButton):not(.sysMypageNav .sysButton):not(#sysFormConfirm .sysButton),
.sysBackButton {
  display: block;
}
.sysButton:not(#sysMypageWithdrawalConfirm .sysButton):not(.sysMypageNav .sysButton):not(#sysFormConfirm .sysButton).sysDeleteArea, .sysBackButton.sysDeleteArea {
    border: none !important;
    margin: 0 auto !important;
    width: auto !important;
    padding: 2px 0px !important;
  }
.sysButton:not(#sysMypageWithdrawalConfirm .sysButton):not(.sysMypageNav .sysButton):not(#sysFormConfirm .sysButton).sysDeleteArea, .sysBackButton.sysDeleteArea {
    /* max-width: 200px !important; */
  }
.sysButton:not(#sysMypageWithdrawalConfirm .sysButton):not(.sysMypageNav .sysButton):not(#sysFormConfirm .sysButton).sysDeleteArea:hover, .sysBackButton.sysDeleteArea:hover {
      text-decoration: underline;
      text-decoration-color: #1473e6;
      transform: 0.3s;
    }
.sysButton:not(#sysMypageWithdrawalConfirm .sysButton):not(.sysMypageNav .sysButton):not(#sysFormConfirm .sysButton):hover, .sysBackButton:hover {
    opacity: 0.6;
    transition: 0.3s;
  }
#sysMain .sysZipcode .btn {
  vertical-align: inherit !important;
}
.sysZipcode .sysFormField {
  width: 100px !important;
}
.sysGender ul.sysFormField,
.sysAcceptMailmagazine .sysFormField label {
  border: none !important;
  background-color: #fff !important;
}
.sysGender ul.sysFormField label {
  border: none !important;
  background-color: #fff !important;
}
.sysGender ul.sysFormField label {
  position: relative;
  display: block;
  padding-left: 30px;
}
.sysGender ul.sysFormField label > input {
    margin: 0 !important;
  }
.sysGender ul.sysFormField label > input {
    position: absolute;
    left: 0;
    top: 2px;
    background: #f7f7f7;
  }
.sysGender ul.sysFormField label > input:checked {
      background: #666 !important;
    }
.sysGender ul.sysFormField label:last-child {
    margin-top: 10px;
  }
#sysDestination .sysZipcode .sysFormField, #sysBillingAddress .sysZipcode .sysFormField, #sysMypageEditDelivery .sysZipcode .sysFormField {
    display: flex !important;
  }
#sysDestination .sysZipcode .sysFormField > input, #sysBillingAddress .sysZipcode .sysFormField > input, #sysMypageEditDelivery .sysZipcode .sysFormField > input {
      width: 100px !important;
      display: block !important;
    }
#sysDestination .sysZipcode .sysFormField > .btn, #sysBillingAddress .sysZipcode .sysFormField > .btn, #sysMypageEditDelivery .sysZipcode .sysFormField > .btn {
      margin: 0 0 0 30px !important;
    }
.sysFormItem:not(#sysPayment .sysFormItem):not(.sysRemindForm .sysFormItem) {
  margin: 0 auto 0 !important;
  padding: 25px 0 !important;
}
.sysFormItem:not(#sysPayment .sysFormItem):not(.sysRemindForm .sysFormItem) {
  display: grid;
  align-items: center;
  grid-template-columns: 0.7fr 0.3fr 1fr 1fr;
  grid-template-rows: auto;
  border-bottom: 1px solid #dcdcdc;
}
.sysFormItem:not(#sysPayment .sysFormItem):not(.sysRemindForm .sysFormItem) > .sysButton,
  .sysFormItem:not(#sysPayment .sysFormItem):not(.sysRemindForm .sysFormItem) .btn {
    background-color: #fff !important;
    border: none !important;
    color: #1473e6 !important;
    font-weight: bold !important;
    margin: 0 0 0 130px !important;
    padding: 0 !important;
    width: 60px !important;
    text-align: left !important;
    min-width: 60px !important;
    font-size: 14px !important;
  }
.sysFormItem:not(#sysPayment .sysFormItem):not(.sysRemindForm .sysFormItem) > .sysButton,
  .sysFormItem:not(#sysPayment .sysFormItem):not(.sysRemindForm .sysFormItem) .btn {
    grid-column: 3/5;
    grid-row: 1/2;
  }
@media (max-width: 767px) {
.sysFormItem:not(#sysPayment .sysFormItem):not(.sysRemindForm .sysFormItem) > .sysButton,
  .sysFormItem:not(#sysPayment .sysFormItem):not(.sysRemindForm .sysFormItem) .btn {
      margin: 10px 0 0 30px !important
  }
    }
.sysFormItem:not(#sysPayment .sysFormItem):not(.sysRemindForm .sysFormItem) > .sysButton:focus, .sysFormItem:not(#sysPayment .sysFormItem):not(.sysRemindForm .sysFormItem) .btn:focus {
      outline: none !important;
    }
.sysFormItem:not(#sysPayment .sysFormItem):not(.sysRemindForm .sysFormItem) > .sysButton:active, .sysFormItem:not(#sysPayment .sysFormItem):not(.sysRemindForm .sysFormItem) .btn:active {
      box-shadow: none !important;
    }
.sysFormItem:not(#sysPayment .sysFormItem):not(.sysRemindForm .sysFormItem) > .sysButton:hover, .sysFormItem:not(#sysPayment .sysFormItem):not(.sysRemindForm .sysFormItem) .btn:hover {
      text-decoration: underline;
      text-decoration-color: #1473e6;
      transform: 0.3s;
    }
.sysOtherAddress > :first-child, .sysForm:not(#sysItemDetail .sysForm) > :first-child {
    border-top: 1px solid #303030 !important;
  }
.sysFormLabel {
  margin: 0 auto 0 0 !important;
}
.sysFormLabel {
  grid-column: 1/2;
  grid-row: 1/2;
}
.sysRequired:not(#sysPayment .sysRequired) {
  background-color: #c30e25 !important;
  border-radius: 0 !important;
  height: 22px !important;
  width: 37px !important;
  padding: 3px 8px !important;
  margin: 0 auto !important;
}
.sysRequired:not(#sysPayment .sysRequired) {
  grid-column: 2/3;
  grid-row: 1/2;
  bottom: 0px;
}
.sysFormField:not(#sysPayment .sysFormField):not(.sysRemindForm .sysFormField):not(#sysMypageLogin .sysFormField) {
  margin-top: 0 !important;
}
.sysFormField:not(#sysPayment .sysFormField):not(.sysRemindForm .sysFormField):not(#sysMypageLogin .sysFormField) {
  grid-column: 3/5;
  grid-row: 1 / 2;
}
.sysFormField:not(#sysPayment .sysFormField):not(.sysRemindForm .sysFormField):not(#sysMypageLogin .sysFormField) > :not(.sysGender .sysFormField *):not(.sysAcceptMailmagazine .sysFormField *):not(.input-append .btn):not(.SysInvalidZipcodeError):not(.checkbox):not(#sysBillingAddress .sysFormMailaddressLabel) {
    border: 1px solid #d6d6d6 !important;
    background-color: #f7f7f7 !important;
    box-shadow: none !important;
  }
.sysFormField:not(#sysPayment .sysFormField):not(.sysRemindForm .sysFormField):not(#sysMypageLogin .sysFormField) > input {
    margin: 0 !important;
    line-height: 22px !important;
  }
#sysFormIndex #sysMain {
  max-width: 800px;
  padding: 10px 15px 70px;
  margin-bottom: 0;
  border: none;
}
@media (max-width: 767px) {
  .sysFormItem {
    display: block !important;
  }
}
#sysBillingAddress .sysFormLabel, #sysDestination .sysFormLabel, #sysMypageEditDelivery .sysFormLabel, #sysMypageEditMember .sysFormLabel, #sysMemberRegisterIndex .sysFormLabel {
    position: relative !important;
    grid-column: 1/3 !important;
  }
#sysBillingAddress .sysFormLabel, #sysDestination .sysFormLabel, #sysMypageEditDelivery .sysFormLabel, #sysMypageEditMember .sysFormLabel, #sysMemberRegisterIndex .sysFormLabel {
    width: 100%;
  }
#sysBillingAddress .sysFormLabel + br, #sysDestination .sysFormLabel + br, #sysMypageEditDelivery .sysFormLabel + br, #sysMypageEditMember .sysFormLabel + br, #sysMemberRegisterIndex .sysFormLabel + br {
      display: none;
    }
#sysBillingAddress .sysFormLabel > span.sysRequired, #sysDestination .sysFormLabel > span.sysRequired, #sysMypageEditDelivery .sysFormLabel > span.sysRequired, #sysMypageEditMember .sysFormLabel > span.sysRequired, #sysMemberRegisterIndex .sysFormLabel > span.sysRequired {
      position: absolute !important;
    }
#sysBillingAddress .sysFormLabel > span.sysRequired, #sysDestination .sysFormLabel > span.sysRequired, #sysMypageEditDelivery .sysFormLabel > span.sysRequired, #sysMypageEditMember .sysFormLabel > span.sysRequired, #sysMemberRegisterIndex .sysFormLabel > span.sysRequired {
      right: 5%;
    }
.sysFormItem.sysMemberPassword {
  row-gap: 50px;
}
.sysFormItem.sysMemberPassword > :nth-child(3) {
    grid-row: 2/3;
  }
.sysFormItem.sysMemberPassword > :last-child {
    grid-row: 2/3 !important;
  }
.sysMemberId,
.sysCompanyName,
.sysDepartmentName {
  display: none !important;
}
input#button2,
.sysRemindForm input[type='submit'],
.sysNextSubmit:not(#sysFormConfirm .sysNextSubmit):not(#sysFormIndex .sysNextSubmit) {
  cursor: pointer !important;
  margin: 40px auto 20px !important;
  padding: 13px 15px !important;
  border-radius: 30px !important;
  max-width: 265px !important;
  font-size: 15px !important;
  font-weight: normal !important;
  background: #1473e6 !important;
  color: #fff !important;
  width: 85% !important;
  line-height: 22px !important;
}
input#button2:hover, .sysRemindForm input[type='submit']:hover, .sysNextSubmit:not(#sysFormConfirm .sysNextSubmit):not(#sysFormIndex .sysNextSubmit):hover {
    opacity: 0.6;
    transition: 0.3s;
  }
#sysMypageEditMember .sysMemberPassword {
  display: block !important;
}
#sysMypageEditMember .sysMemberPassword > h3 {
    margin-bottom: 30px;
  }
#sysMypageEditMember .sysMemberPassword > .sysFormField {
    margin-bottom: 30px;
  }
#sysMypageEditMember .sysMemberPassword > :nth-child(3).sysFormField {
    margin-left: 33% !important;
    margin-bottom: 0 !important;
  }
#sysMypageWithdrawalConfirm #sysMain {
  padding: 10px 15px 70px !important;
}
@media (max-width: 767px) {
  #sysBillingAddress .sysFormLabel,
  #sysDestination .sysFormLabel,
  #sysFormIndex .sysFormLabel,
  #sysFormIndex .sysRequired,
  #sysMypageEditDelivery .sysFormLabel,
  #sysMypageEditMember .sysFormLabel,
  #sysMemberRegisterIndex .sysFormLabel {
    bottom: 5px !important;
  }

    #sysBillingAddress .sysFormLabel > span.sysRequired, #sysDestination .sysFormLabel > span.sysRequired, #sysFormIndex .sysFormLabel > span.sysRequired, #sysFormIndex .sysRequired > span.sysRequired, #sysMypageEditDelivery .sysFormLabel > span.sysRequired, #sysMypageEditMember .sysFormLabel > span.sysRequired, #sysMemberRegisterIndex .sysFormLabel > span.sysRequired {
      margin-left: 5px !important;
      position: static !important;
    }

  .sysFormItem > .sysButton {
    margin-left: 0 !important;
  }

  #sysMemberRegisterIndex .sysFormItem.sysMemberPassword > :nth-child(3) {
    margin-top: 25px !important;
    padding-top: 25px !important;
  }

  #sysMemberRegisterIndex .sysFormItem.sysMemberPassword > :nth-child(3) {
    border-top: 1px solid #dcdcdc;
  }

  .sysGender label {
    display: inline-block !important;
  }

    .sysGender label:last-child {
      margin-top: 0 !important;
    }
    #sysMypageEditMember .sysZipcode, #sysMemberRegisterIndex .sysZipcode {
      overflow: hidden !important;
    }

      #sysMypageEditMember .sysZipcode .sysFormField,
      #sysMypageEditMember .sysZipcode .sysButton,
      #sysMemberRegisterIndex .sysZipcode .sysFormField,
      #sysMemberRegisterIndex .sysZipcode .sysButton {
        float: left !important;
      }
}
.sysCartAttention {
  color: red;
}
#sysConfirm .sysProduct .sysButton, #sysConfirm .sysDetail .sysButton, #sysConfirm .sysOrder .sysButton {
      display: block !important;
      font-size: 15px !important;
      padding: 10px 0 !important;
      margin: 10px auto 30px !important;
      width: 160px !important;
    }
#sysConfirm .sysProduct .sysDeleteArea, #sysConfirm .sysDetail .sysDeleteArea, #sysConfirm .sysOrder .sysDeleteArea {
      padding-top: 10px !important;
    }
#sysConfirm .sysUsePoints input[type='text'] {
    display: inline;
    max-width: 8em;
    margin: 0.5em;
  }
#sysConfirm .sysProductImg, #sysBasket .sysProductImg {
    float: left !important;
    display: block !important;
    width: 30% !important;
    height: auto !important;
  }
#sysConfirm .sysProductImg, #sysBasket .sysProductImg {
    margin: 0 0 1% 0;
  }
#sysConfirm hr, #sysBasket hr {
    clear: both;
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
  }
#sysConfirm .sysProduct .sysProduct,
  #sysConfirm .sysProduct:not(#sysConfirm .sysProduct),
  #sysBasket .sysProduct .sysProduct,
  #sysBasket .sysProduct:not(#sysConfirm .sysProduct) {
    float: right;
    width: 68%;
  }
#sysConfirm .sysNextSubmitAreaForUseAmazon, #sysBasket .sysNextSubmitAreaForUseAmazon {
    justify-content: center;
  }
#sysConfirm #useAmazonSubmitButton, #sysBasket #useAmazonSubmitButton {
    width: auto !important;
  }
#sysConfirm .sysAmazonNextSubmit, #sysBasket .sysAmazonNextSubmit {
    display: block !important;
    margin: 0 !important;
    border-radius: 30px !important;
    max-width: none !important;
    font-size: 15px !important;
    font-weight: normal !important;
    background: #1473e6 !important;
    color: #fff !important;
    border: none !important;
  }
#sysConfirm .sysAmazonNextSubmit:hover, #sysBasket .sysAmazonNextSubmit:hover {
      opacity: 0.6;
      transition: 0.3s;
    }
#sysConfirm #lowAmazonPayButton,
  #sysConfirm #upperAmazonPayButton,
  #sysBasket #lowAmazonPayButton,
  #sysBasket #upperAmazonPayButton {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
@media (max-width: 500px) {
    #sysConfirm .sysProductImg, #sysBasket .sysProductImg {
      display: block !important;
      width: 100% !important;
    }
    #sysConfirm .sysProductImg, #sysBasket .sysProductImg {
      clear: both;
    }

    #sysConfirm .sysProduct, #sysBasket .sysProduct {
      clear: both;
      width: 100%;
    }

    #sysConfirm .sysProduct .sysProduct, #sysBasket .sysProduct .sysProduct {
      clear: both;
      width: 100%;
    }
  }
.sysNextSubmitAreaForUseAmazon {
  padding-bottom: 30px !important;
}
.mdl-dialog button.mdl_dlg_close {
  color: #888 !important;
}
.sysSelectPayment li,
.sysSelectDelivery li,
.sysRemarks,
.sysSelectOption li {
  border-bottom: #cccccc 1px dotted;
  padding: 1em 0;
}
.sysCart #sysMain button {
  border-radius: 5px;
  margin: 10px auto;
}
#selectHopeDelivery {
  margin: 10px auto !important;
}
.sysRemarks label {
  display: none;
}
.sysRemarks .sysFormField textarea {
  height: 10em;
}
@media (max-width: 767px) {
  .sysCart #sysMain {
    padding: 10px 0 40px;
  }
}
.sysBtnChange,
.sysSelectAddress .sysAccordion {
  cursor: pointer !important;
  display: block !important;
  margin: 40px auto 20px !important;
  padding: 13px 15px !important;
  border-radius: 30px !important;
  max-width: 265px !important;
  font-size: 15px !important;
  font-weight: normal !important;
  background: #1473e6 !important;
  color: #fff !important;
  width: 85% !important;
  line-height: 22px !important;
}
.sysBtnChange > .sysSubTitle, .sysSelectAddress .sysAccordion > .sysSubTitle {
    font-size: 15px !important;
    font-weight: normal !important;
  }
.sysBtnChange:after, .sysSelectAddress .sysAccordion:after {
    right: 20px !important;
    bottom: 13px !important;
    font-weight: normal !important;
  }
.sysBtnChange:after, .sysSelectAddress .sysAccordion:after {
    position: absolute;
  }
.sysBtnChange:hover, .sysSelectAddress .sysAccordion:hover {
    opacity: 0.6;
    transition: 0.3s;
  }
#sysMypageLogin h1 {
    display: none;
  }
#sysMypageLogin .sysLoginForm {
    background: #f7f7f7 !important;
    border-radius: 0px !important;
    padding: 60px 10px !important;
  }
#sysMypageLogin .sysLoginForm > form {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-template-rows: auto;
    }
#sysMypageLogin .sysLoginForm > form > .sysMemberId,
      #sysMypageLogin .sysLoginForm > form > .sysMailaddress,
      #sysMypageLogin .sysLoginForm > form > .sysMemberPassword {
        padding: 0 0 30px 0 !important;
      }
#sysMypageLogin .sysLoginForm > form > .sysMemberId,
      #sysMypageLogin .sysLoginForm > form > .sysMailaddress,
      #sysMypageLogin .sysLoginForm > form > .sysMemberPassword {
        grid-column: 1/4;
        width: 80%;
        max-width: 420px;
      }
#sysMypageLogin .sysLoginForm > form > .sysLoginButton {
        border-radius: 30px !important;
        background: #1473e6 !important;
        font-weight: normal !important;
        margin: 10px auto 20px !important;
      }
#sysMypageLogin .sysLoginForm > form > .sysLoginButton {
        grid-column: 2/3;
        width: 218px;
      }
#sysMypageLogin .sysLoginForm > form .sysRequired {
        display: inline !important;
        background: none !important;
        padding: 0 !important;
        margin: 0 !important;
      }
#sysMypageLogin .sysLoginForm > form input.loginPassword,
      #sysMypageLogin .sysLoginForm > form input.loginId {
        border: 1px solid #d6d6d6 !important;
        color: #d6d6d6 !important;
        line-height: 22px !important;
      }
#sysMypageLogin .sysLoginForm > form .sysButton {
        border: none !important;
        background-color: #f7f7f7 !important;
        color: #1473e6 !important;
        padding: 0 !important;
        margin: 0 auto !important;
      }
#sysMypageLogin .sysLoginForm > form .sysButton {
        grid-column: 1/4;
        grid-row: 1/2;
        width: 100%;
        min-width: 300px;
      }
#sysMypageLogin .sysFormItem {
    display: block !important;
    border-bottom: none !important;
  }
#sysFormConfirm #sysMain form, #sysMemberRegisterConfirm #sysMain form {
    margin-top: 30px !important;
  }
#sysFormConfirm #sysMain .sysFormField, #sysMemberRegisterConfirm #sysMain .sysFormField {
    line-height: 3 !important;
    margin-bottom: 0 !important;
    margin-right: auto !important;
    border: none !important;
  }
#sysFormConfirm #sysMain .sysFormField, #sysMemberRegisterConfirm #sysMain .sysFormField {
    width: 100%;
  }
#sysFormConfirm #sysMain .sysZipcode > .sysFormField, #sysMemberRegisterConfirm #sysMain .sysZipcode > .sysFormField {
      grid-column: 3/4 !important;
      margin: 0 !important;
    }
#sysFormConfirm #sysMain .sysMemberPassword > .sysFormField, #sysMemberRegisterConfirm #sysMain .sysMemberPassword > .sysFormField {
      grid-row: 1/2 !important;
    }
#sysMypageEditMember #sysMain form {
  margin-top: 30px !important;
}
#sysFormConfirm #sysMain {
  border: none;
}
#sysFormConfirm #sysMain > .sysFreeArea:first-child {
    display: none;
  }
.sysMypage #sysMain {
  border: none !important;
  box-shadow: none !important;
  margin-bottom: 70px !important;
  padding-bottom: 0px !important;
}
#sysMypageAshiato #sysMain, #sysMypagePoint #sysMain, #sysMypageIndex #sysMain {
    padding: 30px 15px 70px !important;
  }
#sysMypageAshiato #sysMain, #sysMypagePoint #sysMain, #sysMypageIndex #sysMain {
    display: grid;
    grid-template-columns: 222px 1fr;
    grid-template-rows: auto;
  }
#sysMypageAshiato #sysMain > .sysMyPoint, #sysMypagePoint #sysMain > .sysMyPoint, #sysMypageIndex #sysMain > .sysMyPoint {
      margin-top: 30px;
    }
.sysMypageMajorHeadLine {
  font-size: 20px !important;
  border-left: none !important;
  font-weight: normal !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #303030 !important;
}
.sysMypageMajorHeadLine::before {
    content: '';
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2219.005%22%20height%3D%2220.995%22%20viewBox%3D%220%200%2019.005%2020.995%22%3E%20%3Cg%20id%3D%22%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%22%20transform%3D%22translate(0.77%200.77)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_46%22%20data-name%3D%22%E3%83%91%E3%82%B9%2046%22%20d%3D%22M894.223%2C542.271c0%2C3.826-17.465%2C3.826-17.465%2C0%2C0-4.875%2C3.909-7.757%2C8.733-7.757S894.223%2C537.4%2C894.223%2C542.271Z%22%20transform%3D%22translate(-876.758%20-525.686)%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%221.54%22%2F%3E%20%3Cellipse%20id%3D%22%E6%A5%95%E5%86%86%E5%BD%A2_27%22%20data-name%3D%22%E6%A5%95%E5%86%86%E5%BD%A2%2027%22%20cx%3D%224.366%22%20cy%3D%224.414%22%20rx%3D%224.366%22%20ry%3D%224.414%22%20transform%3D%22translate(4.366)%22%20fill%3D%22%23fff%22%20stroke%3D%22%23000%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%221.54%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E')
      no-repeat center center;
    padding: 10px;
    margin-right: 10px;
  }
#sysMypageAshiato .sysItemListDisp {
    margin: 20px 0 0 0 !important;
  }
#sysMypageAshiato .sysItemListDisp {
    grid-column: 2 / 3;
    grid-row: 2/4;
  }
#sysMypageAshiato .sysItemList {
    margin-top: 80px !important;
  }
#sysMypageAshiato .sysItemList {
    grid-column: 2/3;
    grid-row: 2/4;
  }
#sysMypageAshiato .sysThumbnail .sysThumbnailImage {
      margin-bottom: 20px;
    }
#sysMypageAshiato .sysThumbnail > li {
      font-size: 16px !important;
    }
#sysMypageAshiato .sysThumbnail > li {
      min-width: 150px;
    }
#sysMypageAshiato .sysThumbnail .sysCartButton {
      margin: 15px 0 0 0 !important;
    }
#sysMypageAshiato .sysList {
    display: block !important;
  }
#sysMypageAshiato .sysList {
    width: 100%;
  }
#sysMypageAshiato .sysList > li {
      font-size: 16px !important;
      width: 100% !important;
      border-bottom: 1px solid lightgray !important;
      padding: 30px 0 !important;
    }
#sysMypageAshiato .sysList .sysThumbnailImage {
      margin-right: 20px !important;
      max-width: 120px !important;
    }
#sysMypageAshiato .sysList .sysCartButton {
      background-color: #1473e6 !important;
      color: #fff !important;
      border-radius: 30px !important;
      width: 30% !important;
      min-width: 140px !important;
    }
#sysMypageAshiato .sysList .sysCartButton {
      margin-top: 15px;
      margin-bottom: 0;
    }
.sysMypageNav {
  margin-top: 10px !important;
}
.sysMypageNav {
  grid-column: 1/2;
  grid-row: 2/3;
}
.sysMypageNav form {
    width: 100% !important;
  }
.sysMypageNav form > .sysButton {
      background-color: #fff !important;
      font-weight: normal !important;
      font-size: 14px !important;
      padding: 0 !important;
      margin: 0 !important;

      color: #303030 !important;
    }
.sysMypageNav form > .sysButton {
      cursor: pointer;
      text-align: left;
      line-height: 45px;
    }
.sysMypageNav form > .sysButton:hover {
        opacity: 0.6;
        transition: 0.3s;
      }
.sysMypageNav form:nth-last-child(2) {
      margin-top: 30px !important;
    }
.sysMypageNav form:nth-last-child(2) > .sysButton {
        color: #1473e6 !important;
        border: 1px solid #1473e6 !important;
        border-radius: 30px !important;
        width: 150px !important;
        text-align: center !important;
      }
.sysMypageNav form:nth-last-child(2) > .sysButton {
        cursor: pointer;
      }
.sysOrderHistory {
  grid-column: 2/3;
  grid-row: 1/3;
}
.sysOrderHistory > h2 {
    margin: 0 !important;
    font-size: 24px !important;
    font-weight: normal !important;
  }
.sysOrderHistory > p {
    margin: 30px 0 0 0 !important;
  }
.sysRemindForm .sys_mailaddress {
    display: block !important;
  }
.sysRemindForm .sysFormField {
    margin-top: 20px !important;
  }
.sysRemindForm .sysFormField input {
      border: 1px solid #d6d6d6 !important;
      margin: 0 !important;
      line-height: 22px !important;
    }
@media (max-width: 767px) {
  #sysMypageAshiato #sysMain,
  #sysMypagePoint #sysMain,
  #sysMypageIndex #sysMain {
    padding: 30px 0 70px !important;
  }
  #sysMypageAshiato #sysMain,
  #sysMypagePoint #sysMain,
  #sysMypageIndex #sysMain {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

    #sysMypageAshiato #sysMain > h1.sysMypageMajorHeadLine, #sysMypagePoint #sysMain > h1.sysMypageMajorHeadLine, #sysMypageIndex #sysMain > h1.sysMypageMajorHeadLine {
      padding-bottom: 30px !important;
    }

    #sysMypageAshiato #sysMain > h1.sysMypageMajorHeadLine, #sysMypagePoint #sysMain > h1.sysMypageMajorHeadLine, #sysMypageIndex #sysMain > h1.sysMypageMajorHeadLine {
      grid-column: 1/2;
      grid-row: 1/2;
    }

    #sysMypageAshiato #sysMain > h2.sysMypageMinorHeadLine, #sysMypagePoint #sysMain > h2.sysMypageMinorHeadLine, #sysMypageIndex #sysMain > h2.sysMypageMinorHeadLine {
      grid-column: 1/2;
      grid-row: 2/3;
    }

    #sysMypageAshiato #sysMain > .sysItemListDisp,
    #sysMypageAshiato #sysMain > .sysItemList,
    #sysMypageAshiato #sysMain > .sysOrderHistory,
    #sysMypagePoint #sysMain > .sysItemListDisp,
    #sysMypagePoint #sysMain > .sysItemList,
    #sysMypagePoint #sysMain > .sysOrderHistory,
    #sysMypageIndex #sysMain > .sysItemListDisp,
    #sysMypageIndex #sysMain > .sysItemList,
    #sysMypageIndex #sysMain > .sysOrderHistory {
      grid-column: 1/2;
      grid-row: 3/4;
    }

      #sysMypageAshiato #sysMain > .sysItemListDisp > ul li div, #sysMypageAshiato #sysMain > .sysItemList > ul li div, #sysMypageAshiato #sysMain > .sysOrderHistory > ul li div, #sysMypagePoint #sysMain > .sysItemListDisp > ul li div, #sysMypagePoint #sysMain > .sysItemList > ul li div, #sysMypagePoint #sysMain > .sysOrderHistory > ul li div, #sysMypageIndex #sysMain > .sysItemListDisp > ul li div, #sysMypageIndex #sysMain > .sysItemList > ul li div, #sysMypageIndex #sysMain > .sysOrderHistory > ul li div {
        font-size: 14px !important;
        padding-left: 0 !important;
      }

    #sysMypageAshiato #sysMain > .sysMypageNav, #sysMypagePoint #sysMain > .sysMypageNav, #sysMypageIndex #sysMain > .sysMypageNav {
      margin-top: 30px !important;
    }

    #sysMypageAshiato #sysMain > .sysMypageNav, #sysMypagePoint #sysMain > .sysMypageNav, #sysMypageIndex #sysMain > .sysMypageNav {
      grid-column: 1/2;
      grid-row: 4/5;
    }

      #sysMypageAshiato #sysMain > .sysMypageNav > :first-child, #sysMypagePoint #sysMain > .sysMypageNav > :first-child, #sysMypageIndex #sysMain > .sysMypageNav > :first-child {
        border-top: 1px solid #e2e2e2;
      }

      #sysMypageAshiato #sysMain > .sysMypageNav > :not(:nth-last-child(2)), #sysMypagePoint #sysMain > .sysMypageNav > :not(:nth-last-child(2)), #sysMypageIndex #sysMain > .sysMypageNav > :not(:nth-last-child(2)) {
        border-bottom: 1px solid #e2e2e2;
      }
        #sysMypageAshiato #sysMain > .sysMypageNav > :nth-last-child(2) > .sysButton, #sysMypagePoint #sysMain > .sysMypageNav > :nth-last-child(2) > .sysButton, #sysMypageIndex #sysMain > .sysMypageNav > :nth-last-child(2) > .sysButton {
          margin-left: auto !important;
          margin-right: auto !important;
        }
}
.wpim__body .h-mainPopMenu2 {
      --background-bottom-color: #f7f7f7;
    }
.wpim__wrap {
    margin: 0;
    padding: 0 0 64px 0;
  }
#sysAll > #sysMain.wpim__wrap {
      width: auto !important;
      max-width: none !important;
    }
#sysAll > #sysMain.wpim__wrap {
      margin: 0;
    }
.wpim__title {
    padding-top: 4rem;
  }
.wpim__title > h1 {
    font-size: 1.5rem;
    margin: 0 0 1.5rem 0;
  }
.wpim__sns {
    list-style: none;
    display: flex;
    justify-content: flex-end;
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
.wpim__breadcrumbs {
    background-color: #f7f7f7;
    padding: 1rem 0;
    font-size: 10px;
    color: #333;
  }
.wpim__wide {
    margin: 0 auto !important;
  }
.wpim__wide {
    width: calc(100% - 1rem);
    max-width: 1440px;
  }
.wp_bread {
  margin: 0 auto !important;
}
.wp_bread {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% - 1rem);
  max-width: 1440px;
}
.wp_bread > li {
    margin: 0 1.25em 0 0;
  }
.wp_bread > li::after {
    content: '\f054';
    color: #ccc;
    font-family: 'FontAwesome';
    margin-left: 1.25em;
  }
.wp_bread > li:last-of-type::after {
    content: none;
  }
.wp_bread :link, .wp_bread :visited, .wp_bread area[href] {
    color: #1473e6;
    text-decoration: none;
  }
.wp_bread :-moz-any-link {
    color: #1473e6;
    text-decoration: none;
  }
.wp_bread :any-link {
    color: #1473e6;
    text-decoration: none;
  }
.wp_bread :link:hover, .wp_bread :visited:hover, .wp_bread area[href]:hover {
    text-decoration: underline;
  }
.wp_bread :-moz-any-link:hover {
    text-decoration: underline;
  }
.wp_bread :any-link:hover {
    text-decoration: underline;
  }
.entry-title {
  background-color: rgba(255, 255, 255, 0.4);
  background-position: center center;
  background-size: cover;
  background-blend-mode: lighten;
  margin-top: 0;
  margin-bottom: 0;
  padding: 80px 0 32px 0;
}
@media (max-width: 767px) {
.entry-title {
    padding: 24px 8px;
}
  }
.entry-title > h1 {
    text-align: center;
    margin: 0;
    height: 332px;
    font-size: 48px;
    font-weight: normal;
  }
@media (max-width: 767px) {
.entry-title > h1 {
      height: 20vh;
      font-size: 1.5rem
  }
    }
.entry-title{
  margin-bottom: 2rem;
}
.entry-content {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.content-area p {
    margin: 0 0 1rem 0;
  }
.content-area p:empty {
    display: none;
  }
.content-area iframe[src^="https://www.youtube.com/"],
  .content-area iframe[src^="https://youtu.be/"]
  {
    width: 100%;
    height: auto;
    aspect-ratio: 1920/1080;
  }
.entry-content > :not(.alignwide):not(.alignfull),
.alignfull > .wp-block-column,
.wp-block-cover__inner-container,
.wpim__title,
.wpim__newslist,
.wpim__diclist,
.wpim__align {
  margin-left: auto !important;
  margin-right: auto !important;
}
.entry-content > :not(.alignwide):not(.alignfull),
.alignfull > .wp-block-column,
.wp-block-cover__inner-container,
.wpim__title,
.wpim__newslist,
.wpim__diclist,
.wpim__align {
  max-width: 970px;
}
.alignwide {
  margin-left: auto !important;
  margin-right: auto !important;
}
.alignwide {
  max-width: 1280px;
}
.alignfull {
  margin-left: auto !important;
  margin-right: auto !important;
}
.alignfull {
  max-width: none;
}
.navigation {
  margin: 3rem 0;
  text-align: center;
}
.page-numbers {
  display: inline-block;
  padding: 0.1em 0.7em;
}
.page-numbers:link:hover {
    background-color: #f4f4f4;
  }
.wpim__newsitem {
    padding: 0 0 1.5rem 0;
    margin: 0 0 1.5rem 0;
    border-bottom: #dcdcdc solid 1px;
    display: flex;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    row-gap: 1rem;
  }
.wpim__newsitem:last-child {
      border-bottom: none;
      margin: 0;
      padding: 0;
    }
@media (max-width: 767px) {
.wpim__newsitem {
      padding: 0 1rem !important
  }
.wpim__newsitem {
      flex-direction: column
  }
    }
.wpim__newsitem_thumbnail {
      flex: 0 0 290px;
    }
@media (max-width: 767px) {
.wpim__newsitem_thumbnail {
        flex-basis: auto
    }
      }
.wpim__newsitem_thumbnail img {
        height: auto !important;
      }
.wpim__newsitem_thumbnail img {
        aspect-ratio: 300 / 180;
        -o-object-fit: cover;
           object-fit: cover;
      }
.wpim__newsitem_meta {
      margin: 0 0 1rem 0;
    }
.wpim__newsitem_meta > .post-categories {
        display: inline;
        list-style: none;
        margin-left: 0.5em;
      }
.wpim__newsitem_meta > .post-categories > li {
          display: inline-block;
          font-size: 0.7em;
          vertical-align: middle;
          margin: 0 0.3em;
        }
.wpim__newsitem_meta > .post-categories > li > a {
            display: inline-block;
            border: currentColor solid 1px;
            padding: 1px 0.5em;
          }
.wpim__newsitem_link {
      display: block;
    }
.wpim__diclist {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    padding: 1rem;
    grid-row-gap: 2rem;
    row-gap: 2rem;
    grid-column-gap: 1rem;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    background: #f7f7f7;
  }
@media (max-width: 767px) {
.wpim__diclist {
      grid-template-columns: 1fr
  }
    }
.wpim__dicitem {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    height: 100%;
  }
.wpim__dicitem:last-child {
      border-bottom: none;
      margin: 0;
      padding: 0;
    }
.wpim__dicitem_thumbnail {
      flex: 0 0 auto;
    }
.wpim__dicitem_thumbnail img {
        height: auto !important;
      }
.wpim__dicitem_thumbnail img {
        aspect-ratio: 640/380;
        vertical-align: top;
      }
.wpim__dicitem_content {
      flex-grow: 1;
    }
.wpim__dicitem_excerpt > p {
      margin: 1rem 0 0 0;
    }
.wpim__dicitem_meta {
      display: flex;
      justify-content: space-between;
      color: #707070;
      font-size: 0.8rem;
    }
.wpim__dicitem_link {
      display: block;
    }
.wpim__single_title {
    position: relative;
    margin-bottom: 4rem;
  }
.wpim__single_title::before {
      position: absolute;
      width: 100%;
      height: 100%;
      background: url(/blog/wp-content/themes/i-maker-2022/images/header_bg.jpg) center center / cover;
      opacity: 0.4;
      content: '';
    }
.wpim__single_title > .wpim__content {
      position: relative;
      padding: 110px 0 15px 0;
    }
.wpim__single_title .entry-title {
      margin: 0 0 23px 0;
      font-size: 1.2rem;
      font-weight: bold;
    }
.wpim__single_meta {
    color: #ccc;
    text-align: right;
    margin-top: 3rem;
  }
.wpim__single_tags > ul {
    list-style: none;
  }
.wpim__single_tags > ul > li {
      display: inline-block;
    }
.wpim__single_tags > ul > li > a {
        display: inline-block;
        padding: 0.2em 0.5em;
        color: #fff;
        background: #4b4b4b;
        border-radius: 10px;
      }
.entry-meta {
  display: flex;
  justify-content: flex-start;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  margin: 0.75rem 0 0 0;
}
.entry-meta > p {
    margin: 0;
  }
.entry-meta > ul {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 0.5rem;
  }
.entry-meta > ul > li > a {
      text-decoration: underline;
      text-decoration-style: dashed;
      text-decoration-thickness: 1px;
      text-underline-offset: 2px;
    }
@media (max-width: 767px) {
.entry-meta {
    flex-direction: column
}
  }
.content-area h1 {
    font-size: 1.75rem;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
  }
.content-area h2 {
    font-size: 1.5rem;
    margin-top: 2rem;
    margin-bottom: 1.25rem;
  }
.content-area h3 {
    font-size: 1.25rem;
    margin-top: 1.75rem;
    margin-bottom: 1rem;
  }
.content-area .is-style-shadow {
    box-shadow: 5px 5px 5px 5px #dcdcdc;
    padding-left: 1rem;
    padding-right: 1rem;
  }
.content-area .is-style-border-thin {
    border: 1px solid #dcdcdc;
    padding: 1rem;
  }
.content-area .is-style-border-thick {
    border: 5px solid #dcdcdc;
    padding: 1rem;
  }
.content-area ul {
    padding-left: 40px;
  }
.content-area ol {
    padding-left: 40px;
  }
.content-area .toc_list ul {
    padding: 0;
  }
.content-area .toc_list ol {
    padding: 0;
  }
.content-area .is-style-bullet li {
    list-style-type: disc;
    font-size: 0.7rem;
  }
.content-area .is-style-decimal li {
    list-style-type: decimal;
    font-size: 0.7rem;
  }
.content-area .is-style-xs .wp-block-button__link {
    color: #ffffff;
    background-color: #1473e6;
    border: thin solid #1473e6;
    text-align: center;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 4px;
    padding-bottom: 4px;
    font-size: 14px;
    margin-left: 1rem;
    margin-bottom: 1rem;
  }
.content-area .is-style-s .wp-block-button__link {
    color: #ffffff;
    background-color: #1473e6;
    border: thin solid #1473e6;
    text-align: center;
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 8px;
    padding-bottom: 8px;
    font-size: 14px;
    margin-left: 1rem;
    margin-bottom: 1rem;
  }
.content-area .is-style-m .wp-block-button__link {
    color: #ffffff;
    background-color: #1473e6;
    border: thin solid #1473e6;
    text-align: center;
    padding-left: 45px;
    padding-right: 45px;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 15px;
    margin-left: 1rem;
    margin-bottom: 1rem;
  }
.content-area .is-style-l .wp-block-button__link {
    color: #1473e6;
    background-color: #ffffff;
    border: thin solid #1473e6;
    text-align: center;
    padding-left: 50px;
    padding-right: 50px;
    padding-top: 8px;
    padding-bottom: 8px;
    font-size: 15px;
    margin-left: 1rem;
    margin-bottom: 1rem;
  }
.content-area .is-style-center {
    padding-right: 1rem;
    padding-left: 1rem;
  }
.content-area hr.is-style-gray {
    border-top: 0;
    border-bottom: 0;
    border-bottom: 0.2px solid #dcdcdc;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
.content-area hr.is-style-black {
    border-top: 0;
    border-bottom: 0;
    border-bottom: 1px solid #707070;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
.content-area .is-style-slide {
    box-shadow: 3px 3px 3px 3px #dcdcdc;
    position: relative;
    top: 100px;
    padding-left: 1rem;
    padding-right: 1rem;
  }
.bgblock {
  overflow: hidden;
  padding: 3rem 0 0 0;
}
.parts p {
    margin: 0 0 1rem 0 !important;
    line-height: inherit !important;
  }
.parts p:last-child {
      margin: 0 !important;
    }
.parts img {
    height: auto !important;
    margin: 0 !important;
  }
.parts img {
    max-width: 100%;
    max-height: 100%;
    vertical-align: middle;
  }
.parts h2,
  .parts h3,
  .parts h4,
  .parts h5,
  .parts h6 {
    font-weight: bold !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
.parts h2 {
    font-size: 1.5rem !important;
    margin-bottom: 2rem !important;
  }
.parts h3 {
    font-size: 1.25rem !important;
    margin-bottom: 1.75rem !important;
  }
.parts h4 {
    font-size: 1rem !important;
    margin-bottom: 1.75rem !important;
  }
.parts__block {
    margin: 0 0 3rem 0;
  }
.parts__border_thin {
      border: #dcdcdc solid 1px;
      padding: 1.5rem;
    }
.parts__border_thick {
      border: #dcdcdc solid 5px;
      padding: 1.5rem;
    }
.parts__bgcolor_white {
      background-color: #fff !important;
    }
.parts__bgcolor_lightgray {
      background-color: #f7f7f7 !important;
    }
.parts__bgcolor_pink {
      background-color: #fadddd !important;
    }
.parts__bgcolor_cream {
      background-color: #fcf5d2 !important;
    }
.parts[class*='parts__bgcolor_']:not(.parts__bgcolor_) {
    padding: 1.5rem;
  }
.parts__color_black {
      color: #303030 !important;
    }
.parts__color_orange {
      color: #ffa500 !important;
    }
.parts__color_red {
      color: #f00 !important;
    }
.parts__align_left {
      text-align: left;
    }
.parts__align_center {
      text-align: center;
    }
.parts__align_right {
      text-align: right;
    }
.parts__layout_left,
    .parts__layout_right,
    .parts__layout_row,
    .parts__layout_column {
      display: flex;
      -moz-column-gap: 2rem;
           column-gap: 2rem;
      align-items: flex-start;
    }
.parts__layout_column {
      flex-direction: column;
    }
.parts__layout_left,
    .parts__layout_row {
      flex-direction: row;
    }
.parts__layout_right {
      flex-direction: row-reverse;
    }
.parts__layout__image {
      flex: 0 0 48%;
    }
.parts__layout_row > .parts__caption {
      flex: 0 0 38%;
    }
.parts__memo_left,
    .parts__memo_right {
      position: relative;
      display: grid;
      grid-template-rows: 1.5rem 1fr 1.5rem;
    }
.parts__memo_left {
      grid-template-columns: 48% 2rem 1fr;
    }
.parts__memo_right {
      grid-template-columns: 1fr 2rem 48%;
    }
.parts__memo__body,
    .parts__memo__image {
      position: relative;
    }
.parts__memo__body,
    .parts__memo__image > img {
      box-shadow: 0 0 16px rgba(0, 0, 0, 0.2);
    }
.parts__memo__body {
      z-index: 1;
    }
.parts__memo__image {
      z-index: 2;
    }
.parts__memo_left > .parts__memo__image {
      grid-column: 1 / 3;
      grid-row: 2 / 4;
    }
.parts__memo_left > .parts__memo__body {
      grid-column: 2 / 4;
      grid-row: 1 / 3;
      padding: 1.5rem 1.5rem 1.5rem 3.5rem;
    }
.parts__memo_right > .parts__memo__image {
      grid-column: 2 / 4;
      grid-row: 2 / 4;
    }
.parts__memo_right > .parts__memo__body {
      grid-column: 1 / 3;
      grid-row: 1 / 3;
      padding: 1.5rem 3.5rem 1.5rem 1.5rem;
    }
.parts__label {
    color: #939393;
    font-size: 0.8125rem;
    font-weight: bold;
    margin: 0 0 0.5rem 0;
  }
.parts__caption {
    font-size: 1.25rem;
    font-weight: bold;
    margin: 0 0 1.25rem 0;
  }
.parts__title {
    color: #939393;
    margin: -0.75rem 0 1.25rem 0;
  }
.parts__link {
    display: inline-block;
  }
.parts__more {
    color: #fff !important;
  }
.parts__more {
    display: inline-block;
    line-height: 1;
    background-color: #1473e6;
    padding: 0.5rem 1.25rem;
    border-radius: 1rem;
  }
.parts__richtext_thin {
      background-color: #fff;
    }
.parts__richtext_thick {
      background-color: #f7f7f7;
    }
.parts__imagegallery {
    display: grid;
    grid-gap: 1.25rem;
    gap: 1.25rem;
  }
.parts__imagegallery_col2 {
      grid-template-columns: 1fr 1fr;
    }
.parts__imagegallery_col3 {
      grid-template-columns: 1fr 1fr 1fr;
    }
.parts__imagegallery__caption {
      margin-top: 0.75rem;
      font-weight: bold;
    }
.parts__itemgallery {
    display: grid;
    grid-gap: 1.25rem;
    gap: 1.25rem;
  }
.parts__itemgallery_col2h,
    .parts__itemgallery_col2v {
      grid-template-columns: 1fr 1fr;
    }
.parts__itemgallery_col3 {
      grid-template-columns: 1fr 1fr 1fr;
    }
.parts__itemgallery_col4 {
      grid-template-columns: 1fr 1fr 1fr 1fr;
    }
.parts__itemgallery__item {
      display: flex;
      align-items: flex-start;
      flex-direction: column;
      gap: 1rem;
    }
.parts__itemgallery_col2v .parts__itemgallery__body {
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-self: stretch;
    }
.parts__itemgallery_col2v .parts__itemgallery__main {
      padding-right: 1rem;
      border-right: #dcdcdc solid 1px;
    }
.parts__itemgallery_col2v .parts__itemgallery__sub {
      margin-top: 0 !important;
    }
.parts__itemgallery_col2v .parts__itemgallery__sub {
      padding-left: 1rem;
    }
.parts__itemgallery_col2h .parts__itemgallery__item {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-column-gap: 1rem;
      -moz-column-gap: 1rem;
           column-gap: 1rem;
    }
.parts__itemgallery__itemname {
      font-weight: bold;
    }
.parts__itemgallery__category {
      font-size: 0.75rem;
    }
.parts__itemgallery__price {
      font-weight: bold;
      margin: 0.75rem 0 0 0;
    }
.parts__itemgallery__price > small {
        font-weight: normal;
      }
.parts__itemgallery__sub {
      margin: 1rem 0 0 0;
    }
.parts__itemgallery__labels {
      margin: 0 0 0.5rem 0;
    }
.parts__itemgallery__labels > li {
        display: inline-block;
        font-size: 0.6rem;
        border: currentColor 1px solid;
        padding: 1px 0.5em;
      }
.parts__itemgallery__image {
      background-color: #f4f4f4;
      border: #707070 solid 1px;
      border-radius: 5px;
      overflow: hidden;
    }
.parts__itemgallery .parts__link {
      display: block;
    }
.parts__list {
    display: flex;
    align-items: flex-start;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
.parts__list__list:not(.parts__list_custom) {
      padding: 0 0 0 2rem;
    }
.parts__list_disc > li {
      list-style-type: disc;
    }
.parts__list_decimal > li {
      list-style-type: decimal;
    }
.parts__list_custom {
      display: table;
      border-collapse: collapse;
    }
.parts__list_custom > li {
        display: table-row;
      }
.parts__list_custom > li > * {
          display: table-cell;
          vertical-align: top;
        }
.parts__list__number {
      padding-right: 0.5rem;
      white-space: nowrap;
    }
.parts__tablelist {
    font-size: 0.75rem;
  }
.parts__tablelist__table {
      border-collapse: collapse;
      border-top: #303030 solid 2px;
      border-bottom: #303030 solid 2px;
    }
.parts__tablelist__table > tbody > tr {
        border-top: #dcdcdc solid 1px;
      }
.parts__tablelist__table > tbody > tr > th {
          box-sizing: border-box;
          width: 20%;
          padding: 1rem;
          text-align: left;
          vertical-align: middle;
        }
.parts__tablelist__table > tbody > tr > td {
          padding: 1rem;
          text-align: left;
          vertical-align: top;
        }


/* ========================================
   i-maker 製品ページ v4 テンプレート CSS
   追加日: 2026-02-04

   用途: style.css末尾に追記
   対象: sysExplanation内に挿入されるv4コンテンツ

   名前空間:
   - .im-product-v4 (共通)
   - .im-product-v4.im-type-main (本体製品)
   - .im-product-v4.im-type-material (材料)
   - .im-product-v4.im-type-consumable (消耗品)

   フォント読み込み（HTMLヘッダーに追加が必要）:
   <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap" rel="stylesheet">
   ======================================== */

/* ----------------------------------------
   CSS変数（サイトカラーに合わせて調整）
   ---------------------------------------- */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 {
  --im-color-primary: #1473e6;
  --im-color-primary-dark: #1260c4;
  --im-color-primary-light: #EBF5FF;
  --im-color-text: #333333;
  --im-color-text-light: #666666;
  --im-color-text-muted: #767676;
  --im-color-bg-white: #FFFFFF;
  --im-color-bg-gray: #F8FAFC;
  --im-color-border: #E5E7EB;
  --im-color-border-dark: #D1D5DB;
  --im-color-success: #059669;
  --im-color-warning: #D97706;

  --im-font-main: 'Noto Sans JP', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;

  --im-font-size-xs: 0.75rem;
  --im-font-size-sm: 0.875rem;
  --im-font-size-base: 1rem;
  --im-font-size-lg: 1.125rem;
  --im-font-size-xl: 1.3125rem;
  --im-font-size-2xl: 1.5rem;
  --im-font-size-3xl: 1.75rem;
  --im-line-height: 1.7;
  --im-line-height-tight: 1.4;

  --im-spacing-xs: 6px;
  --im-spacing-sm: 10px;
  --im-spacing-md: 14px;
  --im-spacing-lg: 20px;
  --im-spacing-xl: 28px;
  --im-spacing-section: 40px;

  --im-radius-sm: 4px;
  --im-radius-md: 6px;
  --im-radius-lg: 8px;

  --im-shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --im-shadow-md: 0 4px 6px -1px rgba(0,0,0,0.07);

  --im-transition-fast: 150ms ease;
  --im-transition-base: 250ms ease;
}

/* ----------------------------------------
   ベーススタイル
   ---------------------------------------- */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 {
  max-width: 960px;
  margin: 0 auto;
  padding: 0;
  font-family: var(--im-font-main);
  font-size: var(--im-font-size-base);
  line-height: var(--im-line-height);
  color: var(--im-color-text);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 * {
  box-sizing: border-box;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 img {
  max-width: 100%;
  height: auto;
  display: block;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 a {
  color: var(--im-color-primary);
  text-decoration: none;
  transition: opacity var(--im-transition-fast);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 a:hover {
  opacity: 0.8;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 ul,
#sysItemDetail #sysMain .sysExplanation .im-product-v4 ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* ----------------------------------------
   見出しスタイル（!important で確実に上書き）
   ---------------------------------------- */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 h2 {
  font-size: var(--im-font-size-xl) !important;
  font-weight: 700 !important;
  color: var(--im-color-text) !important;
  margin: 0 0 var(--im-spacing-md) 0 !important;
  padding: 0 0 var(--im-spacing-xs) 0 !important;
  border-bottom: 1px solid var(--im-color-border) !important;
  border-left: none !important;
  line-height: var(--im-line-height-tight) !important;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 h3 {
  font-size: var(--im-font-size-base) !important;
  font-weight: 600 !important;
  color: var(--im-color-text) !important;
  margin: 0 0 var(--im-spacing-sm) 0 !important;
  padding: 0 !important;
  border: none !important;
  line-height: var(--im-line-height-tight) !important;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 h4 {
  font-size: var(--im-font-size-base);
  font-weight: 600;
  color: var(--im-color-text);
  margin: 0 0 var(--im-spacing-xs) 0;
  line-height: var(--im-line-height-tight);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 p {
  margin: 0 0 var(--im-spacing-md) 0;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 p:last-child {
  margin-bottom: 0;
}

/* ----------------------------------------
   セクション
   ---------------------------------------- */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-section {
  padding: var(--im-spacing-section) 0;
  border-bottom: 1px solid var(--im-color-border);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-section:last-child {
  border-bottom: none;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-section--bg-gray {
  background: var(--im-color-bg-gray);
  margin: 0 -30px;
  padding: var(--im-spacing-xl) 30px;
  border-radius: var(--im-radius-md);
  border-bottom: none;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-section-header {
  text-align: center;
  margin-bottom: var(--im-spacing-lg);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-section-label {
  display: inline-block;
  font-size: var(--im-font-size-xs);
  font-weight: 600;
  color: var(--im-color-text-muted);
  letter-spacing: 0.1em;
  margin-bottom: var(--im-spacing-sm);
  text-transform: uppercase;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-section-title {
  font-size: var(--im-font-size-xl);
  font-weight: 700;
  color: var(--im-color-text);
  line-height: var(--im-line-height-tight);
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-section-desc {
  font-size: var(--im-font-size-base);
  color: var(--im-color-text-light);
  margin-top: var(--im-spacing-sm);
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

/* ----------------------------------------
   製品概要
   ---------------------------------------- */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-product-overview {
  padding: var(--im-spacing-md);
  background: var(--im-color-bg-white);
  border: 1px solid var(--im-color-border);
  border-radius: var(--im-radius-md);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-definition {
  font-size: var(--im-font-size-lg);
  color: var(--im-color-text);
  margin-bottom: var(--im-spacing-md);
}

/* ----------------------------------------
   ボタン
   ---------------------------------------- */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--im-spacing-xs);
  padding: var(--im-spacing-sm) var(--im-spacing-md);
  font-size: var(--im-font-size-base);
  font-weight: 600;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: var(--im-radius-sm);
  cursor: pointer;
  transition: all var(--im-transition-base);
  min-height: 44px;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-btn--primary {
  background: var(--im-color-primary);
  color: #FFFFFF;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-btn--primary:hover {
  background: var(--im-color-primary-dark);
  color: #FFFFFF;
  opacity: 1;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-btn--outline {
  background: transparent;
  border-color: var(--im-color-border-dark);
  color: var(--im-color-text);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-btn--outline:hover {
  background: var(--im-color-bg-gray);
  opacity: 1;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-btn--lg {
  padding: var(--im-spacing-md) var(--im-spacing-lg);
  font-size: var(--im-font-size-lg);
}

/* ----------------------------------------
   テーブル共通
   ---------------------------------------- */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-specs-table,
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-properties-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--im-color-bg-white);
  border: 1px solid var(--im-color-border);
  border-radius: var(--im-radius-md);
  overflow: hidden;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-specs-table th,
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-specs-table td,
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-properties-table th,
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-properties-table td {
  padding: 10px 12px;
  text-align: left;
  border-bottom: 1px solid var(--im-color-border);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-specs-table tr:last-child th,
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-specs-table tr:last-child td,
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-properties-table tr:last-child th,
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-properties-table tr:last-child td {
  border-bottom: none;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-specs-table th,
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-properties-table th {
  width: 30%;
  background: var(--im-color-bg-gray);
  font-weight: 600;
  color: var(--im-color-text);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-highlight-value {
  font-weight: 700;
  color: var(--im-color-primary);
}

/* ----------------------------------------
   FAQ
   ---------------------------------------- */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-faq-list {
  display: flex;
  flex-direction: column;
  gap: var(--im-spacing-sm);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-faq-item {
  background: var(--im-color-bg-white);
  border: 1px solid var(--im-color-border);
  border-radius: var(--im-radius-md);
  overflow: hidden;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  padding: var(--im-spacing-md);
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-size: var(--im-font-size-base);
  font-weight: 600;
  color: var(--im-color-text);
  transition: background var(--im-transition-fast);
  min-height: 44px;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-faq-question:hover {
  background: var(--im-color-bg-gray);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-q-mark {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background: var(--im-color-primary);
  color: #FFFFFF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--im-font-size-xs);
  font-weight: 700;
  margin-right: var(--im-spacing-md);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-faq-icon {
  margin-left: auto;
  color: var(--im-color-text-muted);
  font-size: var(--im-font-size-lg);
  transition: transform var(--im-transition-base);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-faq-item.active .im-faq-icon {
  transform: rotate(45deg);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-faq-answer {
  display: none;
  padding: 0 var(--im-spacing-md) var(--im-spacing-md);
  padding-left: calc(var(--im-spacing-md) + 24px + var(--im-spacing-sm));
  color: var(--im-color-text-light);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-faq-item.active .im-faq-answer {
  display: block;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-conclusion {
  font-weight: 600;
  color: var(--im-color-text);
  margin-bottom: var(--im-spacing-sm);
}

/* ----------------------------------------
   法人向けカード
   ---------------------------------------- */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-b2b-card {
  padding: var(--im-spacing-lg);
  background: var(--im-color-bg-gray);
  border-radius: var(--im-radius-md);
  text-align: center;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-b2b-card h2 {
  border-bottom: none !important;
  margin-bottom: var(--im-spacing-sm) !important;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-b2b-card > p {
  color: var(--im-color-text-light);
  margin-bottom: var(--im-spacing-md);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-b2b-features {
  margin-bottom: var(--im-spacing-md);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-b2b-features ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--im-spacing-sm);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-b2b-features li {
  font-size: var(--im-font-size-sm);
  color: var(--im-color-text);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-b2b-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--im-spacing-md);
}

/* ----------------------------------------
   関連商品
   ---------------------------------------- */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--im-spacing-md);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-related-item {
  display: block;
  background: var(--im-color-bg-white);
  border: 1px solid var(--im-color-border);
  border-radius: var(--im-radius-md);
  overflow: hidden;
  text-decoration: none;
  transition: box-shadow var(--im-transition-base);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-related-item:hover {
  box-shadow: var(--im-shadow-md);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-related-item img {
  width: 100%;
  height: 130px;
  object-fit: contain;
  background: var(--im-color-bg-gray);
  padding: var(--im-spacing-sm);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-related-content {
  padding: var(--im-spacing-sm);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-related-item h4 {
  font-size: var(--im-font-size-sm);
  font-weight: 600;
  color: var(--im-color-text);
  margin-bottom: var(--im-spacing-xs);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-price {
  font-size: var(--im-font-size-lg);
  font-weight: 700;
  color: var(--im-color-text);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-price span {
  font-size: var(--im-font-size-xs);
  font-weight: 400;
  color: var(--im-color-text-muted);
}

/* ----------------------------------------
   お問い合わせカード
   ---------------------------------------- */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-cta-card {
  padding: var(--im-spacing-xl) var(--im-spacing-md);
  background: var(--im-color-bg-gray);
  border-radius: var(--im-radius-md);
  text-align: center;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-cta-card h2 {
  border-bottom: none !important;
  margin-bottom: 0.75rem !important;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-cta-card > p {
  color: var(--im-color-text-light);
  margin-bottom: 1.25rem;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-b2b-inline {
  margin-bottom: 1.5rem;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-cta-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-cta-buttons .im-btn {
  padding: 0.875rem 2rem;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-cta-contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--im-spacing-md);
  padding-top: var(--im-spacing-md);
  border-top: 1px solid var(--im-color-border);
  margin-top: 1rem;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-cta-contact-item {
  font-size: var(--im-font-size-sm);
  color: var(--im-color-text-light);
  margin-bottom: 0.5rem;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-cta-contact-item .im-label {
  margin-right: var(--im-spacing-xs);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-cta-tel {
  font-size: var(--im-font-size-xl);
  font-weight: 700;
  color: var(--im-color-text);
}

/* ========================================
   本体製品固有スタイル (.im-type-main)
   ======================================== */

/* 課題解決セクション */
#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-problem-list {
  margin-bottom: var(--im-spacing-xl);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-problem-item {
  padding: var(--im-spacing-md) 0;
  border-bottom: 1px solid var(--im-color-border);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-problem-item:last-child {
  border-bottom: none;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-problem-item p {
  margin: 0;
  color: var(--im-color-text);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-solution-box {
  padding: var(--im-spacing-md);
  background: var(--im-color-bg-gray);
  border-radius: var(--im-radius-md);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-solution-box h3 {
  margin-bottom: var(--im-spacing-sm);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-solution-box p {
  margin: 0;
}

/* スペックカード */
#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-spec-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: var(--im-spacing-sm);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-spec-card {
  text-align: center;
  padding: var(--im-spacing-md);
  background: var(--im-color-bg-white);
  border: 1px solid var(--im-color-border);
  border-radius: var(--im-radius-md);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-spec-value {
  display: block;
  font-size: var(--im-font-size-2xl);
  font-weight: 700;
  color: var(--im-color-primary);
  margin-bottom: var(--im-spacing-xs);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-spec-label {
  display: block;
  font-size: var(--im-font-size-sm);
  color: var(--im-color-text-muted);
}

/* 選ばれる理由 */
#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-reason-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--im-spacing-md);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-reason-item {
  padding: var(--im-spacing-md);
  background: var(--im-color-bg-white);
  border: 1px solid var(--im-color-border);
  border-radius: var(--im-radius-md);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-reason-number {
  font-size: var(--im-font-size-sm);
  font-weight: 700;
  color: var(--im-color-primary);
  margin-bottom: var(--im-spacing-sm);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-reason-item h3 {
  margin-bottom: var(--im-spacing-sm);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-reason-item p {
  color: var(--im-color-text-light);
  margin: 0;
}

/* 活用シーン */
#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-use-case-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--im-spacing-md);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-use-case-item {
  background: var(--im-color-bg-white);
  border: 1px solid var(--im-color-border);
  border-radius: var(--im-radius-md);
  overflow: hidden;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-use-case-item img {
  width: 100%;
  aspect-ratio: 16 / 10;
  height: auto;
  object-fit: cover;
  border-radius: var(--im-radius-lg) var(--im-radius-lg) 0 0;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-use-case-content {
  padding: var(--im-spacing-md);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-use-case-badge {
  display: inline-block;
  font-size: var(--im-font-size-xs);
  color: var(--im-color-text-muted);
  margin-bottom: var(--im-spacing-sm);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-use-case-item h4 {
  font-size: var(--im-font-size-lg);
  font-weight: 600;
  color: var(--im-color-text);
  margin-bottom: var(--im-spacing-xs);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-use-case-item p {
  font-size: var(--im-font-size-sm);
  color: var(--im-color-text-light);
  margin: 0;
}

/* ========================================
   材料固有スタイル (.im-type-material)
   ======================================== */

/* 対応機種アラート（材料用） */
#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-material .im-compatibility-alert {
  background: var(--im-color-bg-gray);
  padding: var(--im-spacing-lg);
  border-radius: var(--im-radius-md);
  margin-bottom: var(--im-spacing-lg);
  border-left: 4px solid var(--im-color-warning);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-material .im-compatibility-alert h2 {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: var(--im-spacing-sm) !important;
  font-size: var(--im-font-size-lg) !important;
  color: var(--im-color-warning) !important;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-material .im-compatibility-alert p {
  color: var(--im-color-text-light);
  margin-bottom: var(--im-spacing-md);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-material .im-compatible-models {
  display: flex;
  flex-wrap: wrap;
  gap: var(--im-spacing-sm);
  margin-bottom: var(--im-spacing-md);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-material .im-compatible-model {
  display: inline-block;
  background: var(--im-color-bg-white);
  border: 1px solid var(--im-color-border);
  padding: var(--im-spacing-xs) var(--im-spacing-md);
  border-radius: var(--im-radius-sm);
  font-size: var(--im-font-size-sm);
  font-weight: 500;
}

/* 推奨用途カード */
#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-material .im-use-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--im-spacing-md);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-material .im-use-card {
  padding: var(--im-spacing-md);
  background: var(--im-color-bg-white);
  border: 1px solid var(--im-color-border);
  border-radius: var(--im-radius-md);
  text-align: center;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-material .im-use-badge {
  display: inline-block;
  padding: var(--im-spacing-xs) var(--im-spacing-sm);
  font-size: var(--im-font-size-xs);
  font-weight: 600;
  color: var(--im-color-text-muted);
  background: var(--im-color-bg-gray);
  border-radius: var(--im-radius-sm);
  margin-bottom: var(--im-spacing-sm);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-material .im-use-badge--best {
  color: var(--im-color-primary);
  background: var(--im-color-primary-light);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-material .im-use-card h4 {
  font-size: var(--im-font-size-base);
  font-weight: 600;
  margin-bottom: var(--im-spacing-xs);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-material .im-use-card p {
  font-size: var(--im-font-size-sm);
  color: var(--im-color-text-light);
  margin: 0;
}

/* ========================================
   消耗品固有スタイル (.im-type-consumable)
   ======================================== */

/* 対応機種アラート（消耗品用・警告強調） */
#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-compatibility-alert {
  background: #FFFBEB;
  padding: var(--im-spacing-lg);
  border-radius: var(--im-radius-md);
  margin-bottom: var(--im-spacing-lg);
  border-left: 4px solid var(--im-color-warning);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-compatibility-alert h2 {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: var(--im-spacing-sm) !important;
  font-size: var(--im-font-size-lg) !important;
  color: #92400E !important;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-alert-icon {
  display: inline-block;
  margin-right: var(--im-spacing-xs);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-alert-description {
  color: #92400E;
  margin-bottom: var(--im-spacing-md);
  font-weight: 500;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-compatible-models {
  display: flex;
  flex-wrap: wrap;
  gap: var(--im-spacing-sm);
  margin-bottom: var(--im-spacing-md);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-compatible-model {
  display: inline-block;
  background: var(--im-color-bg-white);
  border: 1px solid var(--im-color-warning);
  padding: var(--im-spacing-xs) var(--im-spacing-md);
  border-radius: var(--im-radius-sm);
  font-size: var(--im-font-size-sm);
  font-weight: 500;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-check-link {
  font-weight: 600;
}

/* 交換目安ガイド */
#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-replacement-guide {
  padding: var(--im-spacing-md);
  background: var(--im-color-bg-gray);
  border-radius: var(--im-radius-md);
  margin-bottom: var(--im-spacing-lg);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-replacement-guide h3 {
  margin-bottom: var(--im-spacing-md);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-guide-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: var(--im-spacing-md);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-guide-item {
  text-align: center;
  padding: var(--im-spacing-md);
  background: var(--im-color-bg-white);
  border-radius: var(--im-radius-sm);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-guide-item .im-value {
  display: block;
  font-size: var(--im-font-size-2xl);
  font-weight: 700;
  color: var(--im-color-primary);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-guide-item .im-label {
  font-size: var(--im-font-size-sm);
  color: var(--im-color-text-muted);
}

/* 交換サインリスト */
#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-replacement-signs {
  margin-top: var(--im-spacing-lg);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-replacement-signs h4 {
  font-size: var(--im-font-size-base);
  font-weight: 600;
  margin-bottom: var(--im-spacing-sm);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-signs-list {
  display: flex;
  flex-direction: column;
  gap: var(--im-spacing-xs);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-signs-list li {
  padding: var(--im-spacing-sm) var(--im-spacing-md);
  background: var(--im-color-bg-white);
  border-radius: var(--im-radius-sm);
  font-size: var(--im-font-size-sm);
  color: var(--im-color-text);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-signs-list li::before {
  content: "!";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  background: var(--im-color-warning);
  color: #FFFFFF;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
  margin-right: var(--im-spacing-sm);
}

/* 交換手順 */
#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-steps-list {
  counter-reset: step-counter;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-step-item {
  display: flex;
  gap: var(--im-spacing-md);
  padding: var(--im-spacing-md);
  background: var(--im-color-bg-white);
  border: 1px solid var(--im-color-border);
  border-radius: var(--im-radius-md);
  margin-bottom: var(--im-spacing-sm);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-step-item:last-child {
  margin-bottom: 0;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-step-number {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  background: var(--im-color-primary);
  color: #FFFFFF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--im-font-size-sm);
  font-weight: 700;
  counter-increment: step-counter;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-step-number::before {
  content: counter(step-counter);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-step-content {
  flex: 1;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-step-content h4 {
  font-size: var(--im-font-size-base);
  font-weight: 600;
  margin-bottom: var(--im-spacing-xs);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-step-content p {
  font-size: var(--im-font-size-sm);
  color: var(--im-color-text-light);
  margin: 0;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-step-note {
  margin-top: var(--im-spacing-sm);
  padding: var(--im-spacing-sm);
  background: #FEF3C7;
  border-radius: var(--im-radius-sm);
  font-size: var(--im-font-size-xs);
  color: #92400E;
}

/* 本体製品リンク */
#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-main-product-link {
  display: flex;
  align-items: center;
  gap: var(--im-spacing-md);
  padding: var(--im-spacing-md);
  background: var(--im-color-primary-light);
  border: 2px solid var(--im-color-primary);
  border-radius: var(--im-radius-md);
  text-decoration: none;
  margin-bottom: var(--im-spacing-lg);
  transition: all var(--im-transition-base);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-main-product-link:hover {
  background: var(--im-color-bg-white);
  opacity: 1;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-main-product-link img {
  width: 100px;
  height: 100px;
  object-fit: contain;
  background: var(--im-color-bg-white);
  border-radius: var(--im-radius-sm);
  padding: var(--im-spacing-sm);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-main-product-link .im-content {
  flex: 1;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-main-product-link .im-link-label {
  font-size: var(--im-font-size-xs);
  color: var(--im-color-primary);
  font-weight: 600;
  margin-bottom: var(--im-spacing-xs);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-main-product-link .im-content h4 {
  font-size: var(--im-font-size-lg);
  font-weight: 700;
  color: var(--im-color-text);
  margin-bottom: var(--im-spacing-xs);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-main-product-link .im-content p {
  font-size: var(--im-font-size-sm);
  color: var(--im-color-text-light);
  margin: 0;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-main-product-link .im-arrow {
  font-size: var(--im-font-size-xl);
  color: var(--im-color-primary);
}

/* 法人向けインライン案内 */
#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-b2b-inline {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--im-spacing-sm);
  padding: var(--im-spacing-md);
  background: var(--im-color-bg-white);
  border-radius: var(--im-radius-sm);
  margin-bottom: var(--im-spacing-md);
  font-size: var(--im-font-size-sm);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-b2b-inline span {
  color: var(--im-color-text-light);
}

/* ========================================
   レスポンシブ対応
   ======================================== */

/* タブレット (850px以下) */
@media (max-width: 850px) {
  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-section--bg-gray {
    margin: 0 -10px;
    padding: var(--im-spacing-lg) 10px;
  }
}

/* スマートフォン (767px以下) */
@media (max-width: 767px) {
  #sysItemDetail #sysMain .sysExplanation .im-product-v4 {
    --im-spacing-section: 32px;
    --im-spacing-lg: 16px;
    --im-spacing-md: 12px;
    --im-spacing-sm: 8px;
    --im-font-size-3xl: 1.5rem;
    --im-font-size-2xl: 1.25rem;
    --im-font-size-xl: 1.125rem;
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-section--bg-gray {
    margin: 0 -10px;
    padding: var(--im-spacing-lg) var(--im-spacing-sm);
  }

  /* 本体製品 */
  #sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-spec-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--im-spacing-xs);
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-spec-card {
    padding: var(--im-spacing-sm);
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-reason-list,
  #sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-use-case-grid {
    grid-template-columns: 1fr;
    gap: var(--im-spacing-sm);
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-reason-item {
    padding: var(--im-spacing-sm);
  }

  /* 材料 */
  #sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-material .im-use-cards {
    grid-template-columns: 1fr;
    gap: var(--im-spacing-sm);
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-material .im-use-card {
    padding: var(--im-spacing-sm);
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-material .im-compatible-models {
    flex-direction: column;
    align-items: flex-start;
  }

  /* 消耗品 */
  #sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-guide-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--im-spacing-sm);
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-compatible-models {
    flex-direction: column;
    align-items: flex-start;
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-step-item {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-main-product-link {
    flex-direction: column;
    text-align: center;
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-main-product-link .im-arrow {
    display: none;
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-consumable .im-b2b-inline {
    flex-direction: column;
  }

  /* 共通 */
  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-related-grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--im-spacing-sm);
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-b2b-card,
  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-cta-card {
    padding: var(--im-spacing-md);
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-b2b-features ul {
    flex-direction: column;
    align-items: center;
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-b2b-buttons {
    flex-direction: column;
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-cta-buttons {
    flex-direction: column;
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-cta-buttons .im-btn {
    width: 100%;
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-faq-question {
    padding: var(--im-spacing-sm);
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-faq-answer {
    padding: 0 var(--im-spacing-sm) var(--im-spacing-sm);
    padding-left: calc(var(--im-spacing-sm) + 24px + var(--im-spacing-xs));
  }
}

/* 小型スマートフォン (600px以下) */
@media (max-width: 600px) {
  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-related-grid {
    grid-template-columns: 1fr;
  }
}

/* ========================================
   印刷用スタイル
   ======================================== */
@media print {
  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-faq-answer {
    display: block !important;
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-btn {
    border: 1px solid #333 !important;
  }
}

/* ========================================
   v4 CSS 修正パッチ（2026-02-05）修正版
   修正: Windowsフォント問題 + スマホテーブル崩れ
   ======================================== */

/* 修正①: Windows フォントレンダリング改善 */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 p,
#sysItemDetail #sysMain .sysExplanation .im-product-v4 li,
#sysItemDetail #sysMain .sysExplanation .im-product-v4 td,
#sysItemDetail #sysMain .sysExplanation .im-product-v4 span {
  font-weight: 400;
  color: #222;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-specs-table td,
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-properties-table td {
  font-weight: 500;
  color: var(--im-color-text);
}

/* 修正②: スマホテーブル横スクロール対応 */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: var(--im-spacing-md);
}

@media (max-width: 767px) {
  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-specs-table,
  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-properties-table {
    width: max-content;
    min-width: 100%;
    font-size: var(--im-font-size-sm);
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-specs-table th,
  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-properties-table th {
    white-space: nowrap;
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-specs-table td,
  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-properties-table td {
    word-break: break-word;
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-specs-table--simple {
    min-width: unset;
    width: 100%;
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-specs-table--simple th,
  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-specs-table--simple td {
    display: block;
    width: 100%;
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-specs-table--simple th {
    border-bottom: none;
    padding-bottom: 4px;
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-specs-table--simple td {
    padding-top: 4px;
  }
}


/* ========================================
   im-product-v4 画像挿入・レイアウト拡張CSS
   追加日: 2026-02-19
   内容: style-additions.css マージ + main テンプレート改善
   ======================================== */

/* ----------------------------------------
   画像挿入コンテナ（基本）
   ---------------------------------------- */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-section-image {
  margin-bottom: var(--im-spacing-lg);
  text-align: center;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-section-image img {
  border-radius: var(--im-radius-md);
  box-shadow: var(--im-shadow-sm);
}

/* フルワイド画像 */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-img-full {
  width: 100%;
  height: auto;
  display: block;
}

/* ハーフ画像（2カラム用） */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-img-half {
  width: 100%;
  height: auto;
  display: block;
}

/* 2カラム画像コンテナ */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-section-images.im-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--im-spacing-md);
  margin-bottom: var(--im-spacing-lg);
}

/* overviewセクションの画像（ヒーロー的表示） */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-product-overview .im-section-image {
  margin-bottom: var(--im-spacing-xl);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-product-overview .im-section-image img {
  border-radius: var(--im-radius-lg);
  box-shadow: var(--im-shadow-md);
}

/* ----------------------------------------
   画像なし製品全体 (.im-no-images)
   ---------------------------------------- */
#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-no-images .im-section {
  padding-left: var(--im-spacing-xl);
  padding-right: var(--im-spacing-xl);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-no-images .im-section:not(:last-child)::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: var(--im-color-primary-light);
  margin: var(--im-spacing-section) auto 0;
  border-radius: 2px;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-no-images .im-section--bg-gray {
  border-top: 1px solid var(--im-color-border);
  border-bottom: 1px solid var(--im-color-border);
}

/* ----------------------------------------
   個別セクション画像なし (.im-text-only)
   ---------------------------------------- */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-section.im-text-only {
  /* デフォルトで全幅テキスト */
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-section.im-text-only .im-use-case-grid {
  display: flex;
  flex-direction: column;
  gap: var(--im-spacing-md);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-section.im-text-only .im-use-case-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  border-radius: var(--im-radius-md);
  overflow: visible;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-section.im-text-only .im-use-case-item img {
  display: none;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-section.im-text-only .im-use-case-content {
  padding: var(--im-spacing-md) var(--im-spacing-lg);
  border-left: 3px solid var(--im-color-primary);
}

/* ----------------------------------------
   A-5: overview テキスト＋画像の横並びレイアウト（main本体用）
   ---------------------------------------- */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-overview-with-image {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: start;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-overview-with-image .im-overview-image img {
  width: 100%;
  height: auto;
  border-radius: var(--im-radius-lg);
  box-shadow: var(--im-shadow-md);
  object-fit: cover;
}

/* ----------------------------------------
   A-2: 画像とブロック間のマージン
   ---------------------------------------- */
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-reasons .im-section-image,
#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-section > .im-section-image {
  margin-bottom: 2rem;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-use-case-item .im-section-image {
  margin-bottom: 1rem;
}

/* ----------------------------------------
   A-4: お悩み（pain-points）セクションの視覚強化
   ---------------------------------------- */
#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-pain-points {
  background: var(--im-color-bg-gray);
  border-radius: var(--im-radius-lg);
  padding: 2rem;
  margin: 2rem 0;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-pain-point-item {
  padding: 1rem 0 1rem 2rem;
  border-left: 3px solid #cc0000;
  margin-bottom: 1rem;
  position: relative;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-pain-point-item:last-child {
  margin-bottom: 0;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-pain-point-item p {
  margin: 0;
  color: var(--im-color-text);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-solution {
  background: #f0f7f0;
  border-radius: var(--im-radius-lg);
  padding: 2rem;
  margin: 2rem 0;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-solution h3 {
  margin-bottom: var(--im-spacing-sm);
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-solution p {
  margin: 0 0 var(--im-spacing-sm) 0;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-solution p:last-child {
  margin-bottom: 0;
}

/* ----------------------------------------
   A-3: スペック数値の視覚強調（im-spec-highlight 版）
   ---------------------------------------- */
#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-spec-highlight .im-spec-value {
  font-size: 2.5rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.2;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-spec-highlight .im-spec-unit {
  font-size: 0.875rem;
  color: #666;
  display: block;
  margin-top: 0.25rem;
}

#sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-spec-highlight .im-spec-label {
  font-size: 0.8125rem;
  color: #888;
  margin-top: 0.5rem;
}

/* ----------------------------------------
   レスポンシブ: 画像関連 + 新レイアウト
   ---------------------------------------- */
@media (max-width: 767px) {
  /* overview 横並び → 縦並び */
  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-overview-with-image {
    grid-template-columns: 1fr;
  }

  /* 2カラム画像 → 1カラム */
  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-section-images.im-two-col {
    grid-template-columns: 1fr;
  }

  /* im-no-images パディング調整 */
  #sysItemDetail #sysMain .sysExplanation .im-product-v4.im-no-images .im-section {
    padding-left: var(--im-spacing-md);
    padding-right: var(--im-spacing-md);
  }

  /* pain-points パディング調整 */
  #sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-pain-points {
    padding: 1.5rem 1rem;
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-solution {
    padding: 1.5rem 1rem;
  }

  /* spec-highlight サイズ縮小 */
  #sysItemDetail #sysMain .sysExplanation .im-product-v4.im-type-main .im-spec-highlight .im-spec-value {
    font-size: 2rem;
  }
}

@media (max-width: 480px) {
  /* 画像の角丸を小さく */
  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-section-image img {
    border-radius: var(--im-radius-sm);
  }

  #sysItemDetail #sysMain .sysExplanation .im-product-v4 .im-overview-with-image .im-overview-image img {
    border-radius: var(--im-radius-sm);
  }
}


/* ================================================================
   USER.CSS からの移行セクション
   移行日: 2026-02-05

   目次:
   [M1] トップページ
   [M2] カテゴリページ
   [M3] ヘッダー＆フッター
   [M4] フォーム（問い合わせ等）
   [M5] 検索結果ページ
   [M6] 商品ページ上部（カート領域）

   注意:
   - user.cssは変更していない（そのまま残している）
   - 全プロパティに !important を付与（user.cssの後読みに勝つため）
   - 値はuser.cssの値をそのまま使用（デザイン変更は別途実施）
   ================================================================ */


/* ----------------------------------------------------------------
   [M1] トップページ
   - トップアイコンエリア、もっと見るボタン、商品リスト等
   - 元ファイル: cleaned_common.css, cleaned_pc.css, cleaned_sp.css, cleaned_tablet.css
   ---------------------------------------------------------------- */

/* --- 共通（common.css由来） --- */
#top #sysMain .topIconCnt {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  text-align: center !important;
  border-top: solid 4px #ccc !important;
}

#top #sysMain .topIconCnt .sysContent .headline {
  margin: 30px auto !important;
}

#top #sysMain .topIconCnt .sysContent .headline img.icn {
  width: 60px !important;
  height: auto !important;
}

#top #sysMain .topIconCnt .sysContent .headline p {
  font-weight: bold !important;
  letter-spacing: 0.1em !important;
}

#top #sysMain .topIconCnt .sysContent .headline p.heading {
  font-size: 24px !important;
  font-weight: bold !important;
  margin: 15px 0 !important;
}

#top #sysMain .topIconCnt .sysContent .headline p.sentence {
  font-size: 14px !important;
  margin: 10px 0 !important;
}

#top #sysMain .topIconCnt .sysContent .headline a.more-btn {
  width: 200px !important;
  height: 40px !important;
  margin: 20px auto !important;
  padding: 10px 20px !important;
  background-color: #333 !important;
  border-radius: 5px !important;
  font-size: 14px !important;
  color: #fff !important;
}

#top #sysMain .topIconCnt .sysContent .headline a.more-btn:hover {
  background-color: #666 !important;
}

#top #sysMain .topIconCnt .sysContent .headline a.more-btn i {
  margin-left: 10px !important;
}

#top #sysMain .moreSqBtn .sysContent a {
  display: block !important;
  font-size: 14px !important;
  margin: 0 auto !important;
  padding-top: 5px !important;
  width: 200px !important;
  height: 45px !important;
  color: #fff !important;
  background-color: #333 !important;
  text-align: center !important;
}

#top #sysMain .moreSqBtn .sysContent a i::before {
  margin-left: 10px !important;
}

#top #sysMain .sysFuncItemBlock .sysContent .sysItemBlock .sysHorizontal li {
  text-align: left !important;
}

#top #sysMain .sysFuncItemBlock .sysContent .sysItemBlock .sysHorizontal li a {
  font-weight: bold !important;
  text-overflow: ellipsis !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}

#top #sysMain .sysFuncItemBlock .sysContent .sysItemBlock .sysHorizontal li .sysItemPrice {
  font-size: 14px !important;
  color: #787878 !important;
}

#top #sysMain .sysFuncItemBlock .sysContent .sysItemBlock .sysHorizontal li .sysItemName {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  flex-grow: 1 !important;
  min-width: 0 !important;
}

.topPickupList .sysContent {
  padding: 20px !important;
}

.topPickupList h2.sysHeadline {
  text-align: center !important;
  font-size: 24px !important;
  margin: 30px 0 !important;
}

.p-topimg .sysContent {
  max-width: 100% !important;
}

.topCnt .sysContent {
  max-width: 1200px !important;
  padding: 10px 15px 40px !important;
  margin: 0 auto !important;
  box-shadow: none !important;
  border: none !important;
}

/* --- PC専用（pc.css由来） --- */
@media (min-width: 768px) {
  #top #sysMain .topIconCnt .sysContent .headline img.icn {
    width: 85px !important;
  }

  #top #sysMain .topIconCnt .sysContent .headline p.heading {
    font-size: 30px !important;
  }

  #top #sysMain .topIconCnt .sysContent .headline p.sentence {
    font-size: 16px !important;
  }

  #top #sysMain .moreSqBtn .sysContent a {
    font-size: 16px !important;
    padding-top: 5px !important;
  }

  #top .sysContent .sysItemBlock .sysHorizontal li {
    padding-top: 40px !important;
  }

  .topPickupList h2.sysHeadline {
    font-size: 30px !important;
  }
}

/* --- スマートフォン専用（sp.css由来） --- */
@media (max-width: 767px) {
  #top #sysMain .moreSqBtn .sysContent {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  #top #sysMain .moreSqBtn .sysContent a {
    width: 100% !important;
    max-width: 450px !important;
  }

  #top #sysMain .topIconCnt {
    border-top: solid 4px #ccc !important;
  }

  .topPickupList h2.sysHeadline {
    margin-bottom: 0 !important;
  }

  .topPickupList h2.sysHeadline span {
    font-size: 20px !important;
  }
}

/* --- タブレット専用（tablet.css由来） --- */
@media (min-width: 768px) and (max-width: 1199px) {
  #top .sysContent .sysItemBlock .sysHorizontal li {
    width: 31.5% !important;
    margin: 0 2.5% 30px 0 !important;
    padding-top: 40px !important;
  }

  #top .sysContent .sysItemBlock .sysHorizontal li:nth-of-type(3n) {
    margin: 0 0 30px 0 !important;
  }

  .topPickupList h2.sysHeadline {
    font-size: 30px !important;
    margin-bottom: 0 !important;
  }

  .topPickupList h2.sysHeadline span {
    font-size: 20px !important;
  }
}


/* ----------------------------------------------------------------
   [M2] カテゴリページ
   - カテゴリ情報、商品一覧、ページネーション、パンくず等
   - 元ファイル: cleaned_common.css, cleaned_pc.css, cleaned_sp.css, cleaned_tablet.css
   ---------------------------------------------------------------- */

/* --- 共通（common.css由来） --- */
#sysItemCategory #sysMain .sysItemListDisp {
  max-width: 1100px !important;
  margin: 0 auto !important;
}

#sysItemCategory #sysMain .sysItemList {
  max-width: 1130px !important;
  margin: 0 auto !important;
}

/* [M2競合修正 2026-02-05] 以下はGridレイアウトと競合するため無効化
#sysItemCategory .sysItemList ul.sysThumbnail li {
  width: 31.5% !important;
  padding: 20px !important;
  letter-spacing: normal !important;
  margin: 0 2.5% 30px 0 !important;
  text-align: left !important;
  vertical-align: top !important;
  border: 1px solid #d3d3d3 !important;
}
*/

#sysItemCategory #sysMain div.sysPagination ul li {
  width: auto !important;
  padding: 0 !important;
  display: inline-block !important;
}

#sysItemCategory #sysMain div.sysPagination ul li a {
  display: block !important;
  border: 1px solid #d3d3d3 !important;
  width: 35px !important;
  line-height: 35px !important;
  text-decoration: none !important;
  color: #333 !important;
  background-color: #fff !important;
}

#sysItemCategory #sysMain div.sysPagination ul li a.sysCurrent {
  background-color: #808080 !important;
  color: #fff !important;
  font-size: 16px !important;
}

/* --- PC専用（pc.css由来） --- */
@media (min-width: 768px) {
  /* [M2競合修正 2026-02-05] 以下はGridレイアウトと競合するため無効化
  #sysItemCategory .sysItemList ul.sysThumbnail li:nth-of-type(3n) {
    margin-right: 0 !important;
  }
  */

}

/* --- スマートフォン専用（sp.css由来） --- */
@media (max-width: 767px) {
  #sysItemCategory #sysMain .sysItemListDisp {
    width: 100% !important;
    padding: 0 10px 0 20px !important;
  }

  #sysItemCategory #sysMain .sysItemList {
    width: 100% !important;
    max-width: 450px !important;
    padding: 10px 10px 0px !important;
  }

  #sysItemCategory .sysItemList ul {
    margin: 0 auto !important;
  }

  /* [M2競合修正 2026-02-05] 以下はGridレイアウトと競合するため無効化
  #sysItemCategory .sysItemList ul.sysThumbnail li {
    margin: 0 0 30px 0 !important;
    width: 100% !important;
    max-width: 450px !important;
  }
  */
}

/* --- タブレット専用（tablet.css由来） --- */
@media (min-width: 768px) and (max-width: 1199px) {
  #sysItemCategory #sysMain .sysItemListDisp {
    max-width: 1050px !important;
    padding: 0 10px 0 20px !important;
  }

  #sysItemCategory #sysMain .sysItemList {
    width: 100% !important;
    max-width: 1100px !important;
    padding: 10px 10px 0px !important;
  }

  /* [M2競合修正 2026-02-05] 以下はGridレイアウトと競合するため無効化
  #sysItemCategory .sysItemList ul.sysThumbnail li {
    width: 48% !important;
    margin: 0 1% 30px 1% !important;
  }

  #sysItemCategory .sysItemList ul.sysThumbnail li:nth-of-type(2n) {
    margin-right: 0 !important;
  }
  */
}


/* ----------------------------------------------------------------
   [M3] ヘッダー＆フッター
   - ユーティリティボタン、カートボタン、フッター連絡先等
   - 元ファイル: cleaned_common.css, cleaned_sp.css, cleaned_tablet.css
   ---------------------------------------------------------------- */

/* --- 共通（common.css由来） --- */
.h-utilitybtn .sysContent {
  width: 30% !important;
  float: right !important;
  position: relative !important;
  bottom: 40px !important;
  height: 40px !important;
}

.h-utilitybtn ul li.sysText a {
  border: 1px solid rgb(212,212,212) !important;
  line-height: 36px !important;
  height: 36px !important;
  font-size: small !important;
  margin-top: 1px !important;
}

.h-utilitybtn ul li.sysText a:hover {
  background: rgb(212,212,212) !important;
}

.h-utilitybtn ul li.sysText a:before {
  content: "" !important;
  width: 15px !important;
  height: 15px !important;
  display: inline-block !important;
  vertical-align: middle !important;
  margin-right: 5px !important;
}

.h-utilitybtn ul li.sysText:nth-child(1) a:before {
  background: url(http://template-advance.aispr.jp/img/icon/icon-mypage.png) !important;
  background-size: 100% !important;
}

.h-utilitybtn ul li.sysText:nth-child(2) a:before {
  background: url(http://template-advance.aispr.jp/img/icon/icon-cart.png) !important;
  background-size: 100% !important;
}

.h-cartBtn_sp .sysContent {
  position: absolute !important;
  right: 5% !important;
  top: 10px !important;
  display: inline-block !important;
  padding: 0 !important;
  font-size: 25px !important;
}

.h-cartBtn_sp .sysContent img {
  width: 39px !important;
  height: auto !important;
}

.header-link .sysContent,
.header-link-sp .sysContent {
  font-size: small !important;
}

footer {
  color: #333 !important;
}

footer .contact button {
  border-radius: 5px !important;
  padding: 10px 20px !important;
  background-color: #333 !important;
  color: #fff !important;
}

footer .contact__address {
  padding: 20px !important;
}

footer .contact__inner {
  display: flex !important;
  padding: 20px !important;
  justify-content: space-between !important;
}

/* --- スマートフォン専用（sp.css由来） --- */
@media (max-width: 767px) {
  .h-utilitybtn .sysContent {
    width: 32% !important;
    float: none !important;
    position: absolute !important;
    z-index: 999 !important;
    top: 0 !important;
    right: 15% !important;
  }

  .h-utilitybtn ul li.sysText a {
    line-height: 17px !important;
    height: 47px !important;
    font-size: x-small !important;
  }

  .h-utilitybtn ul li.sysText a:before {
    content: "" !important;
    width: 20px !important;
    margin: 5px auto 0 !important;
    height: 20px !important;
    display: block !important;
  }

  .h-utilitybtn ul li.sysText:nth-child(1) a:before {
    background: url(http://template-advance.aispr.jp/img/icon/icon-mypage.png) !important;
    background-size: 100% !important;
  }

  .h-utilitybtn ul li.sysText:nth-child(2) a:before {
    background: url(http://template-advance.aispr.jp/img/icon/icon-cart.png) !important;
    background-size: 100% !important;
  }

  .h-cartBtn_sp .sysContent img {
    width: 30px !important;
    margin-top: 10px !important;
  }

  #sysFooter i.fa-chevron-right:before {
    position: relative !important;
    bottom: 0 !important;
    color: #fff !important;
    padding-right: 20px !important;
  }

  footer .contact__inner {
    justify-content: center !important;
  }
}

/* --- タブレット専用（tablet.css由来） --- */
@media (min-width: 768px) and (max-width: 1199px) {
  .h-cartBtn_sp .sysContent img {
    margin-top: 10px !important;
  }
}


/* ----------------------------------------------------------------
   [M4] フォーム（問い合わせ等）
   - 問い合わせフォーム、完了ページ等
   - 元ファイル: cleaned_common.css, cleaned_pc.css, cleaned_sp.css, cleaned_tablet.css
   ---------------------------------------------------------------- */

#sysFormThanks #sysMain .comp {
  font-size: 14px !important;
}


/* ----------------------------------------------------------------
   [M5] 検索結果ページ
   - 検索フォーム、検索結果一覧、ページネーション等
   - 元ファイル: cleaned_common.css, cleaned_pc.css, cleaned_sp.css, cleaned_tablet.css
   ---------------------------------------------------------------- */

/* --- 共通（common.css由来） --- */
#sysItemSearch #sysMain h2 {
  display: none !important;
}

#sysItemSearch #sysMain .sysItemSearchForm {
  max-width: 1100px !important;
  margin: 0 auto !important;
}

#sysItemSearch #sysMain .sysItemList {
  max-width: 1130px !important;
  margin: 0 auto !important;
}

#sysItemSearch #sysMain ul.sysThumbnail {
  max-width: 1130px !important;
  margin: 0 auto !important;
}

#sysItemSearch #sysMain .sysItemSearchForm div.sysFreeArea {
  margin: 20px auto !important;
  padding: 20px !important;
  width: 100% !important;
  max-width: 1100px !important;
}

#sysItemSearch #sysMain .sysItemSearchForm div.sysFreeArea .title {
  border-bottom: solid 1px #919191 !important;
  margin-bottom: 20px !important;
}

#sysItemSearch #sysMain .sysItemSearchForm div.sysFreeArea .title img.icn {
  width: 35px !important;
  height: auto !important;
  float: left !important;
  margin-right: 10px !important;
}

#sysItemSearch #sysMain .sysItemSearchForm div.sysFreeArea h1 {
  width: auto !important;
  font-size: 20px !important;
}

#sysItemSearch #sysMain form input.sysSearchButton {
  width: 100% !important;
  height: 45px !important;
  border: none !important;
  border-radius: 5px !important;
  margin: 20px auto !important;
  padding: 10px !important;
  background: #666 !important;
  font-weight: bold !important;
  font-size: 16px !important;
  color: #fff !important;
}

#sysItemSearch #sysMain label {
  display: none !important;
}

#sysItemSearch .sysItemList ul.sysThumbnail li {
  width: 31.5% !important;
  padding: 20px !important;
  letter-spacing: normal !important;
  margin: 0 2.5% 30px 0 !important;
  text-align: left !important;
  vertical-align: top !important;
  border: 1px solid #d3d3d3 !important;
}

#sysItemSearch #sysMain .sysPagination ul {
  margin-bottom: 40px !important;
}

#sysItemSearch #sysMain .sysPagination ul li {
  width: auto !important;
  padding: 0 !important;
  display: inline-block !important;
}

#sysItemSearch #sysMain .sysPagination ul li a {
  display: block !important;
  border: 1px solid #d3d3d3 !important;
  width: 35px !important;
  line-height: 35px !important;
  text-decoration: none !important;
  color: #333 !important;
  background-color: #fff !important;
}

/* --- PC専用（pc.css由来） --- */
@media (min-width: 768px) {
  #sysItemSearch #sysMain .sysItemSearchForm div.sysFreeArea h1 {
    font-size: 22px !important;
    padding-bottom: 7px !important;
    line-height: 33px !important;
  }

  #sysItemSearch .sysItemList ul.sysThumbnail li:nth-of-type(3n) {
    margin-right: 0 !important;
  }
}

/* --- スマートフォン専用（sp.css由来） --- */
@media (max-width: 767px) {
  #sysItemSearch #sysMain form .sysItemCategoryCtl,
  #sysItemSearch #sysMain .sysItemListDisp {
    width: 100% !important;
    padding: 0 10px 0 20px !important;
  }

  #sysItemSearch #sysMain .sysItemSearchForm div.sysFreeArea .title {
    padding-bottom: 10px !important;
  }

  #sysItemSearch #sysMain .sysItemSearchForm div.sysFreeArea .title h1 {
    padding-top: 5px !important;
  }

  #sysItemSearch #sysMain .sysItemList {
    width: 100% !important;
    max-width: 450px !important;
    padding: 10px 10px 0px !important;
  }

  #sysItemSearch #sysMain form .sysItemSearchFormCategory select {
    width: 140px !important;
  }

  #sysItemSearch .sysItemList ul {
    width: 100% !important;
    max-width: 450px !important;
    margin: 0 auto !important;
  }

  #sysItemSearch #sysMain ul.sysThumbnail {
    width: 100% !important;
    max-width: 450px !important;
    margin: 0 auto !important;
  }

  #sysItemSearch .sysItemList ul.sysThumbnail li {
    margin: 0 0 30px 0 !important;
    width: 100% !important;
    max-width: 450px !important;
  }

  #sysItemSearch #sysMain form input.sysSearchButton {
    width: 85% !important;
  }
}

/* --- タブレット専用（tablet.css由来） --- */
@media (min-width: 768px) and (max-width: 1199px) {
  #sysItemSearch #sysMain .sysItemSearchForm div.sysFreeArea .title {
    padding-bottom: 10px !important;
  }

  #sysItemSearch #sysMain .sysItemSearchForm div.sysFreeArea .title h1 {
    padding-top: 5px !important;
  }

  #sysItemSearch #sysMain .sysItemList {
    width: 100% !important;
    max-width: 1100px !important;
    padding: 10px 10px 0px !important;
  }

  #sysItemSearch #sysMain .sysItemListDisp div {
    max-width: 1050px !important;
    padding: 0 10px 0 20px !important;
  }

  #sysItemSearch .sysItemList ul.sysThumbnail {
    margin: 0 auto !important;
  }

  #sysItemSearch .sysItemList ul.sysThumbnail li {
    width: 48% !important;
    margin: 0 1% 30px 1% !important;
  }

  #sysItemSearch .sysItemList ul.sysThumbnail li:nth-of-type(2n) {
    margin-right: 0 !important;
  }
}


/* ----------------------------------------------------------------
   [M6] 商品ページ上部（カート領域）
   - パンくず、商品名、価格、カートボタン、画像エリア等
   - 元ファイル: cleaned_common.css, cleaned_pc.css, cleaned_sp.css, cleaned_tablet.css
   - ※ .im-product-v4、sysDescription、sysExplanation は除外
   ---------------------------------------------------------------- */

/* --- 共通（common.css由来） --- */

/* カテゴリタグ（カテゴリページと統一デザイン） */
#sysItemDetail #sysMain .sysCategoryPankuzu {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  padding: 12px 16px !important;
  margin-bottom: 16px !important;
  background: white !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  font-size: 0 !important;
  max-width: 100% !important;
}

#sysItemDetail #sysMain .sysCategoryPankuzu a {
  display: inline-block !important;
  padding: 6px 12px !important;
  font-size: 13px !important;
  color: #1E40AF !important;
  background: #EFF6FF !important;
  border: 1px solid #1E40AF !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  margin: 0 !important;
}

#sysItemDetail #sysMain .sysCategoryPankuzu br {
  display: none !important;
}

#sysItemDetail #sysMain .sysCategoryPankuzu > span {
  display: none !important;
}

/* 商品名 */
#sysItemDetail .sysItemName {
  font-size: 14px !important;
  margin-bottom: 10px !important;
}

#sysItemDetail .sysItemName h1 {
  white-space: normal !important;
  border-bottom: none !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: #111827 !important;
  margin-bottom: 12px !important;
}

/* --- SOLD OUT表示 --- */
#sysItemDetail .sysPr .sysItemPr {
  color: #DC2626 !important;
  font-weight: 700 !important;
}

/* ============================================
   カート周り上部 統合版 2026-02-06
   ============================================ */

/* --- 価格表示 --- */
#sysItemDetail .productRight .sysRetailPrice {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #374151 !important;
  text-align: left !important;
  padding-left: 0 !important;
}

/* 税込表示 */
#sysItemDetail .productRight .sysRetailPrice .sysRetailPriceTaxIncluded {
  font-size: 13px !important;
  color: #6B7280 !important;
  font-weight: 400 !important;
}

/* --- フォームセレクト --- */
#sysItemDetail .sysForm select {
  width: 100% !important;
  height: 44px !important;
  padding: 8px 12px !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 4px !important;
  min-width: 190px !important;
  font-size: 14px !important;
  color: #374151 !important;
  background-color: #fff !important;
  cursor: pointer !important;
}

#sysItemDetail .sysForm select:focus {
  outline: none !important;
  border-color: #2563EB !important;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.1) !important;
}

/* --- バリエーション --- */
#sysItemDetail #sysVariation {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: auto !important;
  column-gap: 16px !important;
  row-gap: 16px !important;
  width: 100% !important;
  margin: 16px 0 16px 0 !important;
  grid-column: 1 / -1 !important;
}

#sysItemDetail #sysVariation select {
  width: 100% !important;
  height: 44px !important;
  padding: 8px 32px 8px 12px !important;
  font-size: 14px !important;
  overflow: visible !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#sysItemDetail #sysVariation > div {
  padding-bottom: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
}

/* バリエーションラベル */
#sysItemDetail #sysVariation label,
#sysItemDetail #sysVariation .sysFormLabel {
  display: block !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #374151 !important;
  margin-bottom: 6px !important;
  text-align: left !important;
}

/* --- カートエリア（見本HTML準拠） --- */

/* 親要素統一リセット（左端揃え） */
#sysItemDetail .productRight .sysForm,
#sysItemDetail .productRight .item_btn,
#sysItemDetail .productRight #sysDescription {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#sysItemDetail .sysForm {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

#sysCartInForm {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* --- 数量セレクタ --- */
#sysCartInForm > #sysNumber {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  width: auto !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}

#sysCartInForm > #sysNumber label,
#sysCartInForm > #sysNumber .sysFormLabel {
  writing-mode: horizontal-tb !important;
  white-space: nowrap !important;
  display: inline-block !important;
  font-size: 13px !important;
  color: #374151 !important;
  width: auto !important;
  min-width: auto !important;
  flex-shrink: 0 !important;
}

#sysCartInForm > #sysNumber select {
  width: 55px !important;
  max-width: 55px !important;
  min-width: 55px !important;
  padding: 6px 4px !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 4px !important;
  font-size: 14px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* --- カートボタン親要素リセット --- */
#sysCartInForm > #sysSubmit {
  width: 100% !important;
  padding: 0 !important;
  margin: 12px 0 0 0 !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
}

#sysItemDetail #sysSubmit {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* --- カートボタン --- */
#sysItemDetail #sysMain .sysCartButton,
#sysItemDetail #sysMain .cart-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  padding: 14px !important;
  background: #2563EB !important;
  background-image: none !important;
  color: #FFFFFF !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-indent: 0 !important;
  box-sizing: border-box !important;
}

#sysItemDetail #sysMain .sysCartButton:hover,
#sysItemDetail #sysMain .cart-btn:hover {
  background: #1D4ED8 !important;
  opacity: 1 !important;
}

/* --- 見積ボタン --- */
#sysItemDetail #sysMain .item_btn {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#sysItemDetail #sysMain .item_btn a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  padding: 10px !important;
  background: #FFFFFF !important;
  color: #333333 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  border: 1px solid #D1D5DB !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

#sysItemDetail #sysMain .item_btn a:hover {
  background: #F8FAFC !important;
  opacity: 1 !important;
}

/* 商品画像エリア */
.product .sysItemImages {
  padding: 0 0 !important;
}

.product .sysItemImages > .sysMainImage {
  width: 100% !important;
  aspect-ratio: 1.64/1 !important;
}

.product .sysItemImages > .sysMainImage img {
  border: 1px solid #dcdcdc !important;
  border-radius: 5px !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
}

.product .sysItemImages .sysImageList li {
  width: 11.11% !important;
  aspect-ratio: 1/1 !important;
  margin: 20px 0 10px !important;
}

.product .sysItemImages .sysImageList li:hover {
  opacity: 0.6 !important;
  transition: 0.3s !important;
}

.product .sysItemImages .sysImageList li img {
  height: 100% !important;
  width: auto !important;
  object-fit: cover !important;
  border-radius: 3px !important;
}

/* 右カラム */
#sysItemDetail #sysMain .productRight {
  padding-left: 4% !important;
}

/* 背景 */
#sysItemDetail #sysMain .productBg {
  padding: 0 0 30px !important;
  background-color: #fff !important;
}

/* --- スマートフォン専用（sp.css由来） --- */
@media (max-width: 768px) {
  #sysItemDetail #sysMain .sysItemImages {
    width: 100% !important;
    float: none !important;
  }

  #sysItemDetail #sysMain .productRight {
    width: auto !important;
    max-width: 400px !important;
    padding-left: 0 !important;
    margin: 20px auto !important;
    float: none !important;
  }

  /* バリエーション選択（縦並び） */
  #sysItemDetail #sysVariation {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  #sysItemDetail #sysVariation div {
    width: 100% !important;
  }

  /* セレクトボックス */
  #sysItemDetail .sysForm select {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    font-size: 16px !important;
  }

  #sysItemDetail #sysMain #sysCartInForm #sysNumber {
    width: auto !important;
  }

  /* 数量セレクト */
  #sysItemDetail #sysNumber select {
    width: 55px !important;
    height: 44px !important;
  }

  #sysItemDetail #sysMain .productRight #sysCartInForm #sysSelections {
    width: 100% !important;
  }

  /* カートボタン */
  #sysItemDetail .sysCartButton {
    min-height: 44px !important;
    font-size: 16px !important;
  }

  /* 見積ボタン */
  #sysItemDetail #sysMain .item_btn a {
    height: 44px !important;
    min-height: 44px !important;
    line-height: 1 !important;
  }

  #sysItemDetail #sysMain .item_btn2 a {
    height: 44px !important;
    min-height: 44px !important;
    line-height: 1 !important;
  }

  #sysItemDetail #sysMain .item_btn_outer {
    margin: 8px auto !important;
  }

  /* カート・見積・注意書きの左右揃え */
  #sysItemDetail #sysSubmit {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #sysItemDetail .item_btn {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #sysItemDetail #sysDescription {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* --- タブレット専用（tablet.css由来） --- */
@media (min-width: 768px) and (max-width: 1199px) {
  #sysItemDetail #sysVariation div {
    width: 60% !important;
  }

  #sysItemDetail #sysMain #sysCartInForm #sysNumber {
    width: 60% !important;
  }

  #sysItemDetail #sysMain .productRight #sysCartInForm #sysSelections {
    width: 60% !important;
  }

  #sysItemDetail #sysMain .product {
    padding: 10px 10px !important;
  }
}

/* --- PC専用（pc.css由来） --- */
@media (min-width: 768px) {
  #sysItemDetail #sysMain .sysItemName {
    white-space: normal !important;
  }

  #sysItemDetail #sysMain .sysItemName h1 {
    white-space: normal !important;
  }
}

/* @media (max-width: 850px) - レスポンシブ対応 */
@media (max-width: 850px) {
  #sysItemDetail #sysMain .productRight {
    max-width: 850px !important;
    padding-left: 0 !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  #sysItemDetail #sysMain .sysItemImages {
    width: 100% !important;
    margin: 0 auto !important;
    margin-bottom: 30px !important;
  }

  #sysItemDetail #sysMain .product {
    padding: 10px 10px !important;
  }
}

/* ================================================================
   USER.CSS からの移行セクション 終了
   ================================================================ */

/* ============================================
   [Phase4 2026-02-06] カテゴリページ完全リニューアル
   - 見本: category_prototype_v3.html 準拠
   ============================================ */

/* --- カテゴリ情報エリア（タイトル・説明文・#sysMain限定） --- */
#sysItemCategory #sysMain .sysItemCategoryTitle,
#sysItemCategory #sysMain h2.sysHeadline {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #1E293B !important;
  margin-bottom: 8px !important;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
}

#sysItemCategory #sysMain .sysContent,
#sysItemCategory #sysMain .sysCategoryDescription {
  background: white !important;
  padding: 20px !important;
  border-radius: 8px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
}

#sysItemCategory #sysMain .sysContent p,
#sysItemCategory #sysMain .sysCategoryDescription {
  color: #475569 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

#sysItemCategory #sysMain .sysItemCount {
  font-size: 14px !important;
  color: #475569 !important;
}

#sysItemCategory #sysMain .sysItemCount strong,
#sysItemCategory #sysMain .sysItemCount b {
  color: #0066CC !important;
  font-weight: 600 !important;
  font-size: 18px !important;
}

#sysItemCategory #sysMain .sysItemSort select,
#sysItemCategory #sysMain .sysDisplayCount select {
  padding: 8px 32px 8px 12px !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  color: #475569 !important;
  background: white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

#sysItemCategory #sysMain .sysItemSort label,
#sysItemCategory #sysMain .sysDisplayCount label {
  font-size: 13px !important;
  color: #64748B !important;
}

/* --- 商品一覧グリッド（3列） --- */
#sysItemCategory ul.sysThumbnail {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin-top: 16px !important;
  margin-bottom: 24px !important;
  padding: 0 !important;
  list-style: none !important;
}

/* --- 商品カード --- */
#sysItemCategory ul.sysThumbnail li {
  background: white !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

#sysItemCategory ul.sysThumbnail li:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1) !important;
  z-index: 1 !important;
}

/* --- 商品画像エリア --- */
#sysItemCategory .sysThumbnailImage {
  position: relative !important;
  aspect-ratio: 4/3 !important;
  background: #F8FAFC !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

#sysItemCategory .sysThumbnailImage img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  transition: transform 0.3s ease !important;
}

#sysItemCategory ul.sysThumbnail li:hover .sysThumbnailImage img {
  transform: scale(1.05) !important;
}

/* --- 商品名 --- */
#sysItemCategory ul.sysThumbnail li .sysItemName {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #1E293B !important;
  line-height: 1.4 !important;
  padding: 16px 16px 8px !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: auto !important;
  max-height: none !important;
}

/* --- バリエーション選択・カートボタンエリア --- */
#sysItemCategory ul.sysThumbnail li form {
  margin-top: auto !important;
  padding: 12px 16px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

#sysItemCategory ul.sysThumbnail li select {
  width: 100% !important;
  min-height: 44px !important;
  padding: 10px 32px 10px 12px !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  color: #475569 !important;
  line-height: 1.4 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background: white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center !important;
  background-size: 16px !important;
}

/* --- カートボタン --- */
#sysItemCategory ul.sysThumbnail li .sysCartButton {
  width: 100% !important;
  padding: 12px 16px !important;
  background: #0066CC !important;
  color: white !important;
  border: none !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  margin: 0 !important;
}

#sysItemCategory ul.sysThumbnail li .sysCartButton:hover {
  background: #004C99 !important;
}

/* バリエーション選択ボタン */
#sysItemCategory ul.sysThumbnail li .sysCartInButton,
#sysItemCategory ul.sysThumbnail li input[type="submit"][value*="バリエーション"] {
  width: 100% !important;
  padding: 12px 16px !important;
  background: #0066CC !important;
  color: white !important;
  border: none !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}

/* お問い合わせボタン */
#sysItemCategory ul.sysThumbnail li .sysGoInquiry,
#sysItemCategory ul.sysThumbnail li a[href*="inquiry"] {
  display: block !important;
  width: 100% !important;
  padding: 12px 16px !important;
  background: #FFF7ED !important;
  color: #EA580C !important;
  border: 2px solid #EA580C !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
}

#sysItemCategory ul.sysThumbnail li .sysGoInquiry:hover,
#sysItemCategory ul.sysThumbnail li a[href*="inquiry"]:hover {
  background: #EA580C !important;
  color: white !important;
}

/* --- ページネーション（#sysMain限定） --- */
#sysItemCategory #sysMain .sysItemCategoryPager {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 20px 0 !important;
}

#sysItemCategory #sysMain .sysItemCategoryPager a,
#sysItemCategory #sysMain .sysItemCategoryPager span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 12px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
}

#sysItemCategory #sysMain .sysItemCategoryPager a {
  background: white !important;
  border: 1px solid #E2E8F0 !important;
  color: #475569 !important;
  transition: all 0.2s !important;
}

#sysItemCategory #sysMain .sysItemCategoryPager a:hover {
  border-color: #0066CC !important;
  color: #0066CC !important;
}

#sysItemCategory #sysMain .sysItemCategoryPager span.sysCurrent,
#sysItemCategory #sysMain .sysItemCategoryPager .current {
  background: #0066CC !important;
  color: white !important;
  border: none !important;
}

/* --- 表示順コントロール --- */
#sysItemCategory .sysItemCategoryCtl {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  padding: 10px 16px !important;
  background: white !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  margin-bottom: 16px !important;
  font-size: 0 !important;
  color: #64748B !important;
}

#sysItemCategory .sysItemCategoryCtl a {
  display: inline-block !important;
  color: #475569 !important;
  text-decoration: none !important;
  padding: 6px 12px !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  background: white !important;
  transition: all 0.2s !important;
}

#sysItemCategory .sysItemCategoryCtl a:hover {
  background: #F1F5F9 !important;
  border-color: #CBD5E1 !important;
}

#sysItemCategory .sysItemCategoryCtl a.sysCurrent {
  color: #1E40AF !important;
  font-weight: 600 !important;
  background: #EFF6FF !important;
  border-color: #1E40AF !important;
}

/* 表示件数を非表示（brタグ以降すべて） */
#sysItemCategory .sysItemCategoryCtl br {
  display: none !important;
}

/* --- レスポンシブ対応 --- */
@media (max-width: 1200px) {
  #sysItemCategory ul.sysThumbnail {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 768px) {
  #sysItemCategory ul.sysThumbnail {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }

  #sysItemCategory ul.sysThumbnail li .sysItemName {
    font-size: 14px !important;
  }

  #sysItemCategory ul.sysThumbnail li .sysRetailPrice {
    font-size: 14px !important;
  }

  #sysItemCategory ul.sysThumbnail li .sysCartButton {
    padding: 10px 12px !important;
    font-size: 13px !important;
  }

  #sysItemCategory .sysItemCategoryCtl {
    flex-wrap: wrap !important;
    gap: 6px !important;
    padding: 8px 12px !important;
  }

  #sysItemCategory .sysItemCategoryCtl a {
    padding: 4px 10px !important;
    font-size: 12px !important;
  }

  #sysItemCategory .sysItemSearchCtl {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

@media (max-width: 480px) {
  #sysItemCategory ul.sysThumbnail {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================
   [Phase4.1 2026-02-06] フィードバック対応
   ============================================ */

/* --- パンくずリスト（カテゴリページ） --- */
#sysItemCategory .sysItemCategoryPankuzu {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  padding: 10px 16px !important;
  margin-bottom: 16px !important;
  background: white !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  font-size: 0 !important;
}

#sysItemCategory .sysItemCategoryPankuzu a {
  display: inline-block !important;
  padding: 6px 12px !important;
  font-size: 13px !important;
  color: #1E40AF !important;
  background: #EFF6FF !important;
  border: 1px solid #1E40AF !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  transition: all 0.2s !important;
}

#sysItemCategory .sysItemCategoryPankuzu a:hover {
  background: #DBEAFE !important;
}

/* 「>」セパレータ（CSS擬似要素） */
#sysItemCategory .sysItemCategoryPankuzu a::after {
  content: '>' !important;
  display: inline-block !important;
  margin-left: 10px !important;
  font-size: 12px !important;
  color: #94A3B8 !important;
  font-weight: 400 !important;
}

/* 最後のリンクの後の「>」は非表示 */
#sysItemCategory .sysItemCategoryPankuzu a:last-of-type::after {
  display: none !important;
}

/* 「>」セパレータ（HTMLのspan用・フォールバック） */
#sysItemCategory .sysItemCategoryPankuzu span {
  font-size: 13px !important;
  color: #94A3B8 !important;
}

/* 現在ページ（リンクなしテキスト） */
#sysItemCategory .sysItemCategoryPankuzu strong,
#sysItemCategory .sysItemCategoryPankuzu em {
  display: inline-block !important;
  padding: 6px 12px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  color: #475569 !important;
  background: white !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 4px !important;
}

/* スマホ用 */
@media (max-width: 768px) {
  #sysItemCategory .sysItemCategoryPankuzu {
    padding: 8px 12px !important;
  }
  #sysItemCategory .sysItemCategoryPankuzu a,
  #sysItemCategory .sysItemCategoryPankuzu strong,
  #sysItemCategory .sysItemCategoryPankuzu em {
    padding: 4px 10px !important;
    font-size: 12px !important;
  }
  #sysItemCategory .sysItemCategoryPankuzu a::after {
    margin-left: 8px !important;
    font-size: 11px !important;
  }
}

/* --- ② カテゴリ説明エリア囲い（強化版・#sysMain限定） --- */
#sysItemCategory #sysMain > .sysContent:first-of-type,
#sysItemCategory #sysMain .sysItemCategoryDescription,
#sysItemCategory #sysMain .sysFreeArea {
  background: white !important;
  padding: 20px !important;
  border-radius: 8px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
  border: 1px solid #E2E8F0 !important;
}

/* --- ③ フォント統一（メインエリアのみに限定） --- */
#sysItemCategory #sysMain,
#sysItemCategory #sysMain * {
  font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic Medium', 'Yu Gothic', 'BIZ UDPGothic', Meiryo, sans-serif !important;
}

/* 全サイト共通フォント */
body,
body * {
  font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic Medium', 'Yu Gothic', 'BIZ UDPGothic', Meiryo, sans-serif !important;
}


/* ============================================
   [価格表示 統合版] 2026-02-06 v3
   JSに依存しない。CSSのみで完結。
   ============================================ */

#sysItemCategory ul.sysThumbnail li .sysRetailPrice {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #B91C1C !important;
  padding: 0 16px 12px !important;
  margin: 0 !important;
  line-height: 1.6 !important;
}

/* ============================================
   [検索ページ] 2026-02-08
   検索フォーム・商品グリッド・ページネーション
   ============================================ */

/* --- 基本リセット --- */
#sysItemSearch #sysMain {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 20px !important;
}

#sysItemSearch #sysMain > h2 {
  display: none !important;
}

/* --- ラベル表示の復元 --- */
#sysItemSearch #sysMain .sysItemSearchFormItemCategoryGroups label,
#sysItemSearch #sysMain .sysItemSearchAndOr label {
  display: inline !important;
}

/* --- 検索フォーム全体（スリム化） --- */
#sysItemSearch #sysMain .sysItemSearchFormInput {
  background: #f3f4f6 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  padding: 16px !important;
  margin-bottom: 16px !important;
}

/* --- 検索入力欄（強化） --- */
#sysItemSearch #sysMain .sysItemSearchFormWord input[name="q"] {
  width: 100% !important;
  padding: 12px 16px !important;
  font-size: 16px !important;
  border: 1px solid #b0b8c1 !important;
  border-radius: 6px !important;
  box-sizing: border-box !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

#sysItemSearch #sysMain .sysItemSearchFormWord input[name="q"]::placeholder {
  color: #6b7280 !important;
}

#sysItemSearch #sysMain .sysItemSearchFormWord input[name="q"]:focus {
  outline: none !important;
  border-color: #e74c3c !important;
  box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.1) !important;
}

/* --- 検索窓アイコン非表示 --- */
#sysItemSearch #sysMain .sysFreeArea .title img.icn {
  display: none !important;
}

/* --- AND/OR ラジオボタン・価格帯入力（非表示＋余白除去） --- */
#sysItemSearch #sysMain .sysItemSearchAndOr,
#sysItemSearch #sysMain .sysItemSearchFormRange {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* --- カテゴリ絞り込みエリア（2列×3段） --- */
#sysItemSearch #sysMain .sysItemSearchFormItemCategoryGroups {
  margin-top: 8px !important;
  padding-top: 0 !important;
  border-top: none !important;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 6px !important;
}

#sysItemSearch #sysMain .sysItemSearchFormItemCategoryGroupsTitle {
  grid-column: 1 / -1 !important;
  display: block !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #374151 !important;
  margin-bottom: 8px !important;
}

/* --- アコーディオン: グループタイトル（タブ） --- */
#sysItemSearch #sysMain [class^="itemCategoryGroupTitle"] {
  display: block !important;
  background: #dbe2ea !important;
  padding: 8px 12px !important;
  margin-bottom: 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #374151 !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}

#sysItemSearch #sysMain [class^="itemCategoryGroupTitle"]:hover {
  background: #c4cdd8 !important;
}

/* --- 開いたグループは全幅表示 --- */
#sysItemSearch #sysMain [class^="itemCategoryGroup"].is-open {
  grid-column: 1 / -1 !important;
}

/* --- アコーディオン: 開閉アイコン --- */
#sysItemSearch #sysMain [class^="itemCategoryGroupTitle"]::before {
  content: "\25B6" !important;
  display: inline-block !important;
  margin-right: 8px !important;
  font-size: 10px !important;
  transition: transform 0.3s ease !important;
}

#sysItemSearch #sysMain [class^="itemCategoryGroup"].is-open [class^="itemCategoryGroupTitle"]::before {
  content: "\25BC" !important;
}

/* --- アコーディオン: リスト（デフォルト閉じ） --- */
#sysItemSearch #sysMain [class^="itemCategoryGroup"] ul {
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height 0.3s ease !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

/* --- アコーディオン: 開いた状態（1列＋スクロール） --- */
#sysItemSearch #sysMain [class^="itemCategoryGroup"].is-open ul {
  max-height: 240px !important;
  overflow-y: auto !important;
  padding: 12px 0 !important;
}

/* --- チェックボックスリスト（1列） --- */
#sysItemSearch #sysMain [class^="itemCategoryGroup"] ul {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 4px !important;
}

/* --- スクロールバースタイル --- */
#sysItemSearch #sysMain [class^="itemCategoryGroup"] ul::-webkit-scrollbar {
  width: 6px;
}
#sysItemSearch #sysMain [class^="itemCategoryGroup"] ul::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 3px;
}

#sysItemSearch #sysMain [class^="itemCategoryGroup"] ul li {
  display: flex !important;
  align-items: center !important;
  padding: 4px 8px !important;
  border-radius: 4px !important;
  transition: background 0.15s ease !important;
}

#sysItemSearch #sysMain [class^="itemCategoryGroup"] ul li:hover {
  background: #f1f5f9 !important;
}

#sysItemSearch #sysMain [class^="itemCategoryGroup"] ul li input[type="checkbox"] {
  margin-right: 8px !important;
  cursor: pointer !important;
}

#sysItemSearch #sysMain [class^="itemCategoryGroup"] ul li label {
  font-size: 13px !important;
  color: #475569 !important;
  cursor: pointer !important;
}

/* --- グループ間の余白 --- */
#sysItemSearch #sysMain [class^="itemCategoryGroup"] {
  margin-bottom: 8px !important;
}

/* --- 並び順・表示件数・検索ボタン --- */
#sysItemSearch #sysMain .sysItemSearchFormSort,
#sysItemSearch #sysMain .sysItemSearchFormLimit {
  display: inline-block !important;
  margin-right: 12px !important;
  margin-top: 16px !important;
}

#sysItemSearch #sysMain .sysItemSearchFormSort select,
#sysItemSearch #sysMain .sysItemSearchFormLimit select {
  padding: 8px 12px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 4px !important;
  font-size: 14px !important;
  background: #fff !important;
  cursor: pointer !important;
}

#sysItemSearch #sysMain .sysSearchButton {
  display: block !important;
  width: 100% !important;
  margin-top: 12px !important;
  padding: 12px 32px !important;
  background: #e74c3c !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}

#sysItemSearch #sysMain .sysSearchButton:hover {
  background: #c0392b !important;
}

/* --- ページネーション --- */
#sysItemSearch #sysMain .sysPagination {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 24px 0 !important;
}

#sysItemSearch #sysMain .sysPagination a,
#sysItemSearch #sysMain .sysPagination span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 12px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 4px !important;
  font-size: 14px !important;
  color: #374151 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

#sysItemSearch #sysMain .sysPagination a:hover {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
}

#sysItemSearch #sysMain .sysPagination .sysCurrent {
  background: #e74c3c !important;
  border-color: #e74c3c !important;
  color: #fff !important;
}

/* --- レスポンシブ: タブレット --- */
@media (max-width: 768px) {
  #sysItemSearch #sysMain [class^="itemCategoryGroup"] ul {
    grid-template-columns: 1fr !important;
  }

  #sysItemSearch #sysMain .sysItemSearchFormInput {
    padding: 16px !important;
  }
}

/* --- レスポンシブ: スマホ --- */
@media (max-width: 480px) {
  #sysItemSearch #sysMain {
    padding: 12px !important;
  }

  #sysItemSearch #sysMain .sysSearchButton {
    width: 100% !important;
    margin-top: 12px !important;
  }

  /* カテゴリタブ: 2列→1列 */
  #sysItemSearch #sysMain .sysItemSearchFormItemCategoryGroups {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================
   TOPページ：消耗品ブロック共通 CSS変数 2026-02-09
   ============================================ */
#test2022top .cb-block {
  --cb-color-text: #1a1a1a;
  --cb-color-text-sub: #555555;
  --cb-color-text-light: #888888;
  --cb-color-bg-white: #fff;
  --cb-color-bg-gray: #f7f7f7;
  --cb-color-border: #dcdcdc;
  --cb-color-border-dark: #707070;
  --cb-color-cta: #1473e6;
  --cb-color-badge: #303030;
  --cb-spacing-xs: 8px;
  --cb-spacing-sm: 12px;
  --cb-spacing-md: 16px;
  --cb-spacing-lg: 24px;
  --cb-spacing-xl: 30px;
  --cb-spacing-xxl: 40px;
  --cb-radius-sm: 2px;
  --cb-radius-md: 4px;
  --cb-radius-full: 100vh;
  --cb-transition: 0.3s ease;
}

/* ============================================
   TOPページ：ブロック共通スタイル 2026-02-09
   ============================================ */

/* --- Block Container --- */
#test2022top .cb-block {
  padding: var(--cb-spacing-xl);
  background: var(--cb-color-bg-gray);
  border-radius: var(--cb-radius-md);
  margin-bottom: var(--cb-spacing-xl);
}

/* --- Block Header --- */
#test2022top .cb-header {
  margin-bottom: var(--cb-spacing-lg);
}

#test2022top .cb-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: bold;
  background: var(--cb-color-badge);
  color: var(--cb-color-bg-white);
  padding: 4px 12px;
  border-radius: 3px;
  margin-bottom: var(--cb-spacing-sm);
}

#test2022top .cb-title {
  font-size: 24px;
  font-weight: bold;
  color: var(--cb-color-text);
  margin: 0 0 var(--cb-spacing-xs) 0;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

#test2022top .cb-lead {
  font-size: 14px;
  font-weight: 500;
  color: var(--cb-color-text-sub);
  margin: 0;
  line-height: 1.7;
}

#test2022top .cb-sublead {
  font-size: 13px;
  color: #718096;
  margin-top: 4px;
}

/* --- Features List --- */
#test2022top .cb-features {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cb-spacing-sm);
  margin: var(--cb-spacing-md) 0;
  padding: 0;
  list-style: none;
}

#test2022top .cb-features__item {
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  color: var(--cb-color-text);
}

#test2022top .cb-features__item::before {
  content: "\2713";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  background: var(--cb-color-cta);
  color: var(--cb-color-bg-white);
  border-radius: 50%;
  font-size: 10px;
  margin-right: 8px;
  flex-shrink: 0;
}

/* --- Section --- */
#test2022top .cb-section {
  margin-bottom: var(--cb-spacing-lg);
}

#test2022top .cb-section:last-of-type {
  margin-bottom: 0;
}

#test2022top .cb-section--mt {
  margin-top: 24px;
}

#test2022top .cb-section__title {
  font-size: 14px;
  font-weight: 600;
  color: var(--cb-color-text-sub);
  margin: 0 0 var(--cb-spacing-sm) 0;
  padding-bottom: var(--cb-spacing-xs);
  border-bottom: 1px solid var(--cb-color-border);
}

/* --- Tags --- */
#test2022top .cb-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cb-spacing-xs);
  padding: 0;
  margin: 0;
  list-style: none;
}

#test2022top .cb-tags--mt-sm {
  margin-top: 8px;
}

#test2022top .cb-tag {
  display: inline-block;
  padding: 10px 20px;
  background: var(--cb-color-bg-white);
  border: 1px solid #707070;
  border-radius: var(--cb-radius-sm);
  font-size: 14px;
  color: var(--cb-color-text);
  text-decoration: none;
  transition: var(--cb-transition);
}

#test2022top .cb-tag:hover {
  background: var(--cb-color-cta);
  color: var(--cb-color-bg-white);
  border-color: var(--cb-color-cta);
  opacity: 1;
}

#test2022top .cb-tag--sm {
  padding: 6px 12px;
  font-size: 13px;
}

#test2022top .cb-tag--popular {
  background: #fef3c7;
  border-color: #f59e0b;
  color: #92400e;
}

#test2022top .cb-tag--popular:hover {
  background: #f59e0b;
  color: #fff;
}

/* --- Product Cards --- */
#test2022top .cb-products {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--cb-spacing-md);
  margin: var(--cb-spacing-lg) 0;
}

#test2022top .cb-product {
  display: block;
  background: var(--cb-color-bg-white);
  border: 1px solid var(--cb-color-border);
  border-radius: var(--cb-radius-sm);
  padding: var(--cb-spacing-md);
  text-align: center;
  text-decoration: none;
  color: inherit;
  transition: var(--cb-transition);
}

#test2022top .cb-product:hover {
  opacity: 0.6;
}

#test2022top .cb-product__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#test2022top .cb-product__image {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: contain;
  margin-bottom: var(--cb-spacing-sm);
  background: #f4f4f4;
  border-radius: var(--cb-radius-sm);
}

#test2022top .cb-product__name {
  font-size: 16px;
  font-weight: bold;
  color: var(--cb-color-text);
  margin: 0 0 var(--cb-spacing-xs) 0;
}

#test2022top .cb-product__desc {
  font-size: 13px;
  color: var(--cb-color-text-sub);
  margin: 0;
  line-height: 1.7;
}

/* --- CTA Section --- */
#test2022top .cb-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--cb-spacing-sm);
  margin-top: var(--cb-spacing-lg);
  padding-top: var(--cb-spacing-lg);
  border-top: 1px solid var(--cb-color-border);
}

#test2022top .cb-btn {
  display: inline-block;
  padding: 12px 28px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-decoration: none;
  border-radius: var(--cb-radius-full);
  transition: var(--cb-transition);
  text-align: center;
}

#test2022top .cb-btn--primary {
  background: var(--cb-color-cta);
  color: var(--cb-color-bg-white);
  border: 1px solid var(--cb-color-cta);
}

#test2022top .cb-btn--primary:hover {
  opacity: 0.6;
}

#test2022top .cb-btn--secondary {
  background: var(--cb-color-bg-white);
  color: var(--cb-color-cta);
  border: 1px solid var(--cb-color-cta);
}

#test2022top .cb-btn--secondary:hover {
  background: var(--cb-color-cta);
  color: var(--cb-color-bg-white);
  opacity: 1;
}

#test2022top .cb-link {
  display: inline-block;
  color: var(--cb-color-cta);
  font-size: 14px;
  text-decoration: none;
}

#test2022top .cb-link:hover {
  text-decoration: underline;
  opacity: 1;
}

#test2022top .cb-link::after {
  content: " \2192";
}

/* --- Placeholder Image --- */
#test2022top .cb-placeholder {
  position: relative;
  background: #f4f4f4;
  aspect-ratio: 4/3;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 2px;
  margin-bottom: 12px;
  color: #999;
  font-size: 14px;
}

/* --- Details / Summary --- */
#test2022top .cb-details--mt {
  margin-top: 12px;
}

#test2022top .cb-details--mt-sm {
  margin-top: 8px;
}

#test2022top .cb-summary--main {
  cursor: pointer;
  color: #2c5282;
  font-size: 14px;
  font-weight: bold;
  padding: 12px 0;
}

#test2022top .cb-summary--main:hover {
  opacity: 0.7;
}

#test2022top .cb-summary--sub {
  cursor: pointer;
  color: #718096;
  font-size: 13px;
}

#test2022top .cb-summary--sub:hover {
  opacity: 0.7;
}

/* --- Stock Status --- */
#test2022top .stock-status {
  color: #38a169;
  font-size: 13px;
  margin-top: 4px;
}

#test2022top .stock-status--medsupo {
  color: #09b6ca;
}

/* --- Accessibility Focus --- */
#test2022top .cb-btn:focus,
#test2022top .cb-tag:focus,
#test2022top .cb-model-card:focus {
  outline: 3px solid #3182ce;
  outline-offset: 2px;
}

#test2022top .cb-tag:focus {
  outline-color: #1473e6;
}

/* ============================================
   TOPページ：3DMedSupo ブロック 2026-02-09
   ============================================ */
#test2022top .cb-block--medsupo {
  --medsupo-brand: #0892A2;
}

#test2022top .cb-block--medsupo .cb-badge {
  background: var(--medsupo-brand);
}

#test2022top .cb-block--medsupo .cb-title {
  font-size: 28px;
}

#test2022top .cb-block--medsupo .cb-lead {
  color: #444444;
}

#test2022top .cb-block--medsupo .cb-features {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  background: var(--cb-color-bg-white);
  padding: 16px 20px;
  border-radius: 4px;
}

#test2022top .cb-block--medsupo .cb-features__item {
  display: flex;
  align-items: center;
  font-size: 15px;
  font-weight: bold;
}

#test2022top .cb-block--medsupo .cb-features__item::before {
  content: "\2713";
  width: 24px;
  height: 24px;
  font-size: 14px;
  background: var(--medsupo-brand);
  margin-right: 10px;
  flex-shrink: 0;
}

#test2022top .cb-block--medsupo .cb-product {
  background: var(--cb-color-bg-white);
  border: 1px solid var(--cb-color-border);
  border-radius: 4px;
  padding: 20px;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  transition: var(--cb-transition);
  position: relative;
}

#test2022top .cb-block--medsupo .cb-product:hover {
  opacity: 0.6;
}

#test2022top .cb-block--medsupo .cb-product__badges {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

#test2022top .cb-block--medsupo .cb-product__badge {
  display: inline-block;
  font-size: 11px;
  font-weight: bold;
  color: var(--medsupo-brand);
  background: rgba(8, 146, 162, 0.1);
  border: none;
  padding: 4px 10px;
  border-radius: 3px;
}

#test2022top .cb-block--medsupo .cb-product__badge--deal {
  background: #48bb78;
  color: white;
}

#test2022top .cb-block--medsupo .cb-product__discount-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  background: #09b6ca;
  color: white;
  font-size: 11px;
  font-weight: bold;
  padding: 4px 10px;
  border-radius: 3px;
}

#test2022top .cb-block--medsupo .cb-product__name {
  font-size: 15px;
  font-weight: bold;
  color: var(--cb-color-text);
  margin: 0 0 8px 0;
  line-height: 1.5;
}

#test2022top .cb-block--medsupo .cb-product__price {
  margin: 0 0 4px 0;
}

#test2022top .cb-block--medsupo .cb-product__price-main {
  font-size: 24px;
  font-weight: bold;
  color: var(--cb-color-text);
}

#test2022top .cb-block--medsupo .cb-product__price-tax {
  font-size: 13px;
  color: var(--cb-color-text-sub);
  margin-left: 4px;
}

#test2022top .cb-block--medsupo .cb-product__unit-price {
  font-size: 13px;
  color: #718096;
  margin: 4px 0;
}

#test2022top .cb-product__benefits {
  list-style: none;
  padding: 16px;
  margin: 16px 0;
  background: #fff;
  border-radius: 4px;
}

#test2022top .cb-product__benefits li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  font-size: 14px;
  color: #1a1a1a;
  border-bottom: 1px solid #f0f0f0;
}

#test2022top .cb-product__benefits li:last-child {
  border-bottom: none;
}

#test2022top .cb-block--medsupo .cb-product__btn {
  display: block;
  width: 100%;
  padding: 16px 20px;
  background: #0892A2;
  color: #fff;
  border: none;
  font-size: 16px;
  font-weight: bold;
  border-radius: 4px;
  text-decoration: none;
  text-align: center;
  margin-top: auto;
}

#test2022top .cb-block--medsupo .cb-product__btn:hover {
  background: #077a87;
  opacity: 1;
}

#test2022top .cb-block--medsupo .cb-banner {
  background: rgba(8, 146, 162, 0.1);
  border-radius: 4px;
  padding: 16px 20px;
  margin: 24px 0;
  text-align: center;
}

#test2022top .cb-block--medsupo .cb-banner__main {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 16px;
  font-weight: bold;
  color: var(--medsupo-brand);
  margin: 0 0 4px 0;
}

#test2022top .cb-block--medsupo .cb-banner__icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a89d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v10H4V12'/%3E%3Crect x='2' y='7' width='20' height='5' rx='1'/%3E%3Cpath d='M12 22V7'/%3E%3Cpath d='M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z'/%3E%3Cpath d='M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

#test2022top .cb-block--medsupo .cb-banner__sub {
  font-size: 13px;
  color: #505050;
  margin: 0;
}

#test2022top .cb-block--medsupo .cb-cta {
  justify-content: center;
}

/* --- 比較表 --- */
#test2022top .cb-compatibility {
  background: transparent;
  border-radius: 4px;
  padding: 24px;
  margin: 24px 0;
}

#test2022top .cb-compatibility__title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 18px;
  font-weight: bold;
  color: var(--cb-color-text);
  margin: 0 0 8px 0;
}

#test2022top .cb-compatibility__icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a89d' stroke-width='2'%3E%3Cpath d='M9 11l3 3L22 4'/%3E%3Cpath d='M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11'/%3E%3C/svg%3E");
  background-size: contain;
}

#test2022top .cb-compatibility__lead {
  font-size: 14px;
  color: var(--cb-color-text-sub);
  margin: 0 0 20px 0;
}

#test2022top .cb-compatibility__table-wrap {
  overflow-x: auto;
  max-width: 80%;
  margin: 0 auto;
  padding: 0 8px;
}

#test2022top .cb-compatibility__table {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 8px 4px;
  font-size: 14px;
}

#test2022top .cb-compatibility__table th,
#test2022top .cb-compatibility__table td {
  padding: 12px 16px;
  text-align: center;
  border: none;
}

#test2022top .cb-compatibility__th-corner {
  background: #4a5568;
  color: #fff;
  font-weight: bold;
  text-align: left;
  width: 20%;
}

#test2022top .cb-compatibility__th-product {
  background: #4a5568;
  color: #fff;
  font-weight: bold;
  width: 40%;
}

#test2022top .cb-compatibility__th-product--recommend {
  background: #0892A2;
  color: #fff;
}

#test2022top .cb-compatibility__recommend-badge {
  display: inline-block;
  font-size: 10px;
  background: #fff;
  color: #0892A2;
  padding: 2px 8px;
  border-radius: 3px;
  margin-bottom: 4px;
}

#test2022top .cb-compatibility__td-resin {
  text-align: left;
  font-weight: bold;
  background: #e2e8f0;
  color: #1a1a1a;
  width: 20%;
}

#test2022top .cb-compatibility__td-sub {
  font-size: 11px;
  font-weight: normal;
}

#test2022top .cb-compatibility__td-note {
  font-size: 11px;
  color: #666;
}

#test2022top .cb-compatibility__td-ng,
#test2022top .cb-compatibility__td-caution {
  background: #fff;
}

#test2022top .cb-compatibility__td-ok,
#test2022top .cb-compatibility__td-ok--best {
  background: rgba(8, 146, 162, 0.15);
}

#test2022top .cb-compatibility__td-ok span,
#test2022top .cb-compatibility__td-ok--best span,
#test2022top .cb-compatibility__td-ng span,
#test2022top .cb-compatibility__td-caution span,
#test2022top .cb-compatibility__td-na span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: transparent;
  border: none;
  color: #1a1a1a;
  font-weight: bold;
}

#test2022top .cb-compatibility__td-na span {
  background: transparent;
  color: #1a1a1a;
}

#test2022top .cb-compatibility__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  max-width: 80%;
  justify-content: flex-start;
  margin: 16px auto 0 auto;
  padding-top: 16px;
  border-top: 1px solid var(--cb-color-border);
}

#test2022top .cb-compatibility__legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--cb-color-text-sub);
}

#test2022top .cb-compatibility__message {
  max-width: 80%;
  margin: 16px auto 0 auto;
  background: #fff;
  border: 1px solid #0892A2;
  border-radius: 4px;
  padding: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

#test2022top .cb-compatibility__message-content {
  flex: 1;
}

#test2022top .cb-compatibility__message-title {
  color: #1a1a1a;
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 8px 0;
}

#test2022top .cb-compatibility__message-desc {
  color: #1a1a1a;
  font-size: 14px;
  margin: 0;
  line-height: 1.6;
}

#test2022top .cb-compatibility__message-divider {
  border-top: 1px solid #dcdcdc;
  margin: 16px 0;
}

#test2022top .cb-compatibility__message-link {
  display: block;
  flex-shrink: 0;
  margin-right: 20px;
  transition: opacity 0.3s;
}

#test2022top .cb-compatibility__message-link:hover {
  opacity: 0.7;
}

#test2022top .cb-compatibility__message-img {
  width: 180px;
  height: auto;
  border-radius: 4px;
}

/* --- バンドル割引バナー --- */
#test2022top .bundle-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  background: linear-gradient(135deg, #2d3748 0%, #4a5568 100%);
  border-radius: 4px;
  padding: 20px 24px;
  margin: 24px 0;
}

#test2022top .bundle-banner__content {
  color: #fff;
}

#test2022top .bundle-banner__badge {
  display: inline-block;
  background: #faf089;
  color: #744210;
  font-size: 11px;
  font-weight: bold;
  padding: 4px 10px;
  border-radius: 4px;
  margin-bottom: 8px;
}

#test2022top .bundle-banner__title {
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 4px 0;
}

#test2022top .bundle-banner__desc {
  font-size: 14px;
  opacity: 0.9;
  margin: 0;
}

#test2022top .bundle-banner__btn {
  display: inline-block;
  background: #fff;
  color: #2d3748;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: bold;
  border-radius: 100vh;
  text-decoration: none;
  transition: 0.2s;
}

#test2022top .bundle-banner__btn:hover {
  background: #e2e8f0;
  color: #1a202c;
  opacity: 1;
}

/* --- ボタンバリエーション --- */

/* 青塗りボタン（サンプル・お見積もり用） */
#test2022top .cb-btn--primary-blue {
  display: inline-block;
  background: #0892A2;
  color: #fff;
  border: 2px solid #0892A2;
  padding: 14px 28px;
  font-size: 14px;
  font-weight: bold;
  border-radius: 100vh;
  text-decoration: none;
  transition: 0.3s;
}

#test2022top .cb-btn--primary-blue:hover {
  background: #067a87;
  border-color: #067a87;
  opacity: 1;
}

/* 白地・青枠ボタン */
#test2022top .cb-btn--outline-blue {
  display: inline-block;
  background: #fff;
  color: #0892A2;
  border: 2px solid #0892A2;
  padding: 14px 28px;
  font-size: 14px;
  font-weight: bold;
  border-radius: 100vh;
  text-decoration: none;
  transition: 0.3s;
}

#test2022top .cb-btn--outline-blue:hover {
  background: #e0f7fa;
  opacity: 1;
}

/* ============================================
   TOPページ：3DMedSupo レスポンシブ 2026-02-09
   ============================================ */

/* --- max-width: 768px --- */
@media (max-width: 768px) {
  #test2022top .cb-compatibility__message {
    flex-direction: column;
    text-align: center;
  }

  #test2022top .cb-compatibility__message-img {
    width: 100%;
    max-width: 250px;
  }
}

/* --- max-width: 767px（スマホ） --- */
@media (max-width: 767px) {
  #test2022top .cb-block {
    padding: 20px 16px;
    border-radius: 0;
    margin-bottom: 0;
    margin-left: -8px;
    margin-right: -8px;
    margin-top: 16px;
  }

  #test2022top .cb-title {
    font-size: 20px;
  }

  #test2022top .cb-block--medsupo .cb-title {
    font-size: 22px;
  }

  #test2022top .cb-tag {
    padding: 10px 14px;
    font-size: 13px;
  }

  #test2022top .cb-products {
    grid-template-columns: 1fr;
  }

  #test2022top .cb-cta {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  #test2022top .cb-btn {
    width: 100%;
  }

  #test2022top .cb-link {
    text-align: center;
    order: -1;
    margin-bottom: 8px;
  }

  /* Details/Summaryタップ領域拡大 */
  #test2022top .cb-summary--main {
    display: block;
    padding: 12px 16px;
  }

  /* 比較表 */
  #test2022top .cb-compatibility {
    padding: 16px;
    margin: 16px -8px;
    border-radius: 0;
    overflow-x: auto;
  }

  #test2022top .cb-compatibility__title {
    font-size: 16px;
  }

  #test2022top .cb-compatibility__table {
    font-size: 12px;
    min-width: 500px;
  }

  #test2022top .cb-compatibility__table th,
  #test2022top .cb-compatibility__table td {
    padding: 8px 10px;
  }

  /* バンドルバナー */
  #test2022top .bundle-banner {
    flex-direction: column;
    text-align: center;
    padding: 16px;
  }

  #test2022top .bundle-banner__btn {
    width: 100%;
  }
}

/* --- max-width: 480px（スマホ小） --- */
@media (max-width: 480px) {
  #test2022top .cb-title {
    font-size: 18px;
  }

  #test2022top .cb-lead {
    font-size: 14px;
  }

  #test2022top .cb-features {
    gap: 12px;
  }

  #test2022top .cb-features__item {
    font-size: 13px;
  }

  #test2022top .cb-products {
    gap: 12px;
  }

  #test2022top .cb-product__name {
    font-size: 14px;
  }

  #test2022top .cb-product__price-main {
    font-size: 20px;
  }

  #test2022top .cb-btn {
    padding: 14px 20px;
    font-size: 13px;
  }

  #test2022top .cb-compatibility__table {
    font-size: 12px;
  }
}

/* ============================================
   TOPページ：Formlabs 消耗品ブロック 2026-02-09
   ============================================ */
#test2022top .cb-block--formlabs {
  --formlabs-brand: #f76b1c;
}

#test2022top .cb-block--formlabs .cb-title {
  font-size: 26px;
}

#test2022top .cb-block--formlabs .cb-lead {
  color: #444444;
}

#test2022top .cb-block--formlabs .cb-features {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  background: var(--cb-color-bg-white);
  padding: 16px 20px;
  border-radius: 4px;
  margin-bottom: 24px;
}

#test2022top .cb-block--formlabs .cb-features__item {
  display: flex;
  align-items: center;
  font-size: 15px;
  font-weight: bold;
}

#test2022top .cb-block--formlabs .cb-features__item::before {
  content: "\2713";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: var(--formlabs-brand);
  color: #fff;
  border-radius: 50%;
  font-size: 14px;
  margin-right: 10px;
  flex-shrink: 0;
}

#test2022top .cb-block--formlabs .cb-section__title {
  font-size: 14px;
  font-weight: 600;
  color: var(--cb-color-text-sub);
  background: transparent;
  display: block;
  padding: 0;
  border: none;
  border-bottom: 1px solid var(--cb-color-border);
  padding-bottom: 8px;
  margin-bottom: 16px;
}

#test2022top .cb-block--formlabs .cb-model-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

#test2022top .cb-block--formlabs .cb-model-grid--4col {
  grid-template-columns: repeat(4, 1fr);
}

#test2022top .cb-block--formlabs .cb-model-card {
  display: block;
  padding: 0;
  background: #fff;
  border: 1px solid var(--cb-color-border);
  border-radius: 4px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: var(--cb-transition);
}

#test2022top .cb-block--formlabs .cb-model-card:hover {
  opacity: 1;
}

#test2022top .cb-block--formlabs .cb-model-card:hover .cb-model-card__name {
  color: #f76b1c;
}

#test2022top .cb-block--formlabs .cb-model-card__image {
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  padding: 0;
  margin: 0;
  border-radius: 4px 4px 0 0;
}

#test2022top .cb-block--formlabs .cb-model-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#test2022top .cb-block--formlabs .cb-model-card__name {
  padding: 12px 16px;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  color: var(--cb-color-text);
}

#test2022top .cb-block--formlabs .cb-cta {
  justify-content: center;
}

#test2022top .cb-block--formlabs .cb-btn--secondary {
  color: #1473e6;
  border-color: #1473e6;
}

#test2022top .cb-block--formlabs .cb-btn--secondary:hover {
  background: #1473e6;
  color: #fff;
}

#test2022top .cb-block--formlabs .cb-link {
  color: #1473e6;
}

/* --- 消耗品・交換パーツバナー --- */
#test2022top .cb-parts-banner {
  border: 1px solid #dcdcdc;
  border-radius: 4px;
  overflow: hidden;
  position: relative;
}

#test2022top .cb-parts-banner__image {
  width: 100%;
}

#test2022top .cb-parts-banner__image img {
  width: 100%;
  height: auto;
  display: block;
}

#test2022top .cb-parts-banner__buttons {
  position: absolute;
  bottom: 16px;
  left: 16px;
  right: 16px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

#test2022top .cb-parts-banner__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 6px 16px;
  font-size: 14px;
  font-weight: bold;
  color: #3d4852;
  text-decoration: none;
  background: #fff;
  border: 1px solid #dcdcdc;
  border-radius: 4px;
  transition: all 0.3s ease;
}

#test2022top .cb-parts-banner__btn:hover {
  background: #FAFAF9;
  opacity: 1;
}

/* Formlabs用ホバー（オレンジ） */
#test2022top .cb-block--formlabs .cb-parts-banner__btn:hover {
  background: #f76b1c;
  color: #fff;
}

#test2022top .cb-block--formlabs .cb-parts-banner__btn:hover .cb-parts-banner__arrow {
  color: #fff;
}

/* Raise3D用ホバー（赤） */
#test2022top .cb-block--raise3d .cb-parts-banner__btn:hover {
  background: #e3342f;
  color: #fff;
}

#test2022top .cb-block--raise3d .cb-parts-banner__btn:hover .cb-parts-banner__arrow {
  color: #fff;
}

#test2022top .cb-parts-banner__arrow {
  display: block;
  text-align: center;
  font-size: 0.8rem;
  color: #3d4852;
  transition: transform 0.3s ease;
}

#test2022top .cb-parts-banner__btn:hover .cb-parts-banner__arrow {
  transform: translateY(4px);
}

/* 2列ボタン用 */
#test2022top .cb-parts-banner--2col .cb-parts-banner__buttons {
  grid-template-columns: repeat(2, 1fr);
}

/* 3列ボタン用 */
#test2022top .cb-parts-banner--3col .cb-parts-banner__buttons {
  grid-template-columns: repeat(3, 1fr);
}

/* 横並びコンテナ（2:3比率） */
#test2022top .cb-parts-banner-row {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: 16px;
}

/* --- 材料選びガイド --- */
#test2022top .cb-guide {
  background: var(--cb-color-bg-white);
  border-radius: 4px;
  padding: 24px;
  margin: 24px 0;
}

#test2022top .cb-guide__title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  font-weight: bold;
  color: var(--cb-color-text);
  margin: 0 0 20px 0;
}

#test2022top .cb-guide__icon {
  font-size: 24px;
}

#test2022top .cb-guide__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

#test2022top .cb-guide__grid--3col {
  grid-template-columns: repeat(3, 1fr);
}

#test2022top .cb-guide__grid--mt {
  margin-top: 12px;
}

#test2022top .cb-guide__card {
  display: flex;
  flex-direction: column;
  padding: 20px;
  background: #fafafa;
  border: 1px solid var(--cb-color-border);
  border-radius: 4px;
  text-decoration: none;
  color: inherit;
  transition: var(--cb-transition);
}

#test2022top .cb-guide__card:hover {
  background: rgba(247, 107, 28, 0.05);
  border-color: #f76b1c;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(247, 107, 28, 0.15);
  opacity: 1;
}

#test2022top .cb-guide__card:hover .cb-guide__card-title {
  color: #f76b1c;
}

#test2022top .cb-guide__card-icon {
  display: none;
}

#test2022top .cb-guide__card-title {
  font-size: 15px;
  font-weight: bold;
  color: var(--cb-color-text);
  margin: 0 0 6px 0;
}

#test2022top .cb-guide__card-title::after {
  content: " \2192";
  margin-left: 8px;
}

#test2022top .cb-guide__card-desc {
  font-size: 12px;
  color: var(--cb-color-text-sub);
  margin: 0 0 12px 0;
  flex: 1;
}

#test2022top .cb-guide__card-recommend {
  display: inline-block;
  font-size: 11px;
  font-weight: bold;
  color: #f76b1c;
  background: #fff5f0;
  padding: 4px 8px;
  border-radius: 4px;
}

#test2022top .cb-guide__help {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 20px;
  padding: 16px 20px;
  background: #3d4852;
  border-radius: 4px;
}

#test2022top .cb-guide__help p {
  font-size: 14px;
  color: #fff;
  margin: 0;
}

#test2022top .cb-guide__help .cb-btn--help-cta {
  background: #fff;
  color: #3d4852;
  border: none;
  border-radius: 100vh;
  padding: 10px 24px;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  white-space: nowrap;
}

#test2022top .cb-guide__help .cb-btn--help-cta:hover {
  background: #f0f0f0;
}

/* オレンジ塗りボタン（Formlabs用） */
#test2022top .cb-btn--primary-orange {
  background: #f76b1c;
  color: #fff;
  border: 2px solid #f76b1c;
  padding: 14px 28px;
  font-size: 14px;
  font-weight: bold;
  border-radius: 100vh;
}

#test2022top .cb-btn--primary-orange:hover {
  background: #e05a10;
  border-color: #e05a10;
  opacity: 1;
}

/* 白地・オレンジ枠ボタン（Formlabs用） */
#test2022top .cb-btn--outline-orange {
  background: #fff;
  color: #f76b1c;
  border: 2px solid #f76b1c;
  padding: 14px 28px;
  font-size: 14px;
  font-weight: bold;
  border-radius: 100vh;
}

#test2022top .cb-btn--outline-orange:hover {
  background: #fff5f0;
  opacity: 1;
}

/* ============================================
   TOPページ：Formlabs レスポンシブ 2026-02-09
   ============================================ */

/* --- max-width: 767px（スマホ） --- */
@media (max-width: 767px) {
  #test2022top .cb-block--formlabs .cb-title {
    font-size: 22px;
  }

  /* Formlabs モデルグリッド */
  #test2022top .cb-block--formlabs .cb-model-grid {
    grid-template-columns: 1fr;
  }

  #test2022top .cb-block--formlabs .cb-model-grid--4col {
    grid-template-columns: repeat(2, 1fr);
  }

  /* パーツバナー（SP: 画像+ボタン縦分離レイアウト） */
  #test2022top .cb-parts-banner {
    display: flex;
    flex-direction: column;
  }

  #test2022top .cb-parts-banner__image {
    overflow: hidden;
  }

  #test2022top .cb-parts-banner__buttons {
    position: static;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    padding: 12px;
    background: #f0f0ef;
  }

  #test2022top .cb-parts-banner__btn {
    padding: 12px 12px;
    font-size: 13px;
  }

  #test2022top .cb-parts-banner-row {
    grid-template-columns: 1fr;
  }

  #test2022top .cb-parts-banner--3col .cb-parts-banner__buttons {
    grid-template-columns: repeat(3, 1fr);
  }

  /* ガイド */
  #test2022top .cb-guide {
    padding: 16px;
  }

  #test2022top .cb-guide__title {
    font-size: 16px;
  }

  #test2022top .cb-guide__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  #test2022top .cb-guide__help {
    flex-direction: column;
    text-align: center;
  }
}

/* --- max-width: 480px（スマホ小） --- */
@media (max-width: 480px) {
  #test2022top .cb-guide__grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   TOPページ：レーザーカッター用木材ブロック 2026-02-09
   ============================================ */
#test2022top .cb-block--laser-wood {
  --wood-brand: #c9a03f;
}

#test2022top .cb-block--laser-wood .cb-badge {
  background: var(--wood-brand);
}

#test2022top .cb-block--laser-wood .cb-title {
  font-size: 26px;
}

#test2022top .cb-block--laser-wood .cb-lead {
  color: #444444;
}

#test2022top .cb-block--laser-wood .cb-features {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  background: var(--cb-color-bg-white);
  padding: 16px 20px;
  border-radius: 4px;
  margin-bottom: 24px;
}

#test2022top .cb-block--laser-wood .cb-features__item {
  display: flex;
  align-items: center;
  font-size: 15px;
  font-weight: bold;
}

#test2022top .cb-block--laser-wood .cb-features__item::before {
  content: "\2713";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: var(--wood-brand);
  color: #fff;
  border-radius: 50%;
  font-size: 14px;
  margin-right: 10px;
  flex-shrink: 0;
}

#test2022top .cb-block--laser-wood .cb-section__title {
  font-size: 14px;
  font-weight: 600;
  color: var(--cb-color-text-sub);
  background: transparent;
  display: block;
  padding: 0;
  border: none;
  border-bottom: 1px solid var(--cb-color-border);
  padding-bottom: 8px;
  margin-bottom: 16px;
}

#test2022top .cb-block--laser-wood .cb-tag:hover {
  background: var(--wood-brand);
  color: #fff;
  border-color: var(--wood-brand);
}

#test2022top .cb-block--laser-wood .cb-model-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}

#test2022top .cb-block--laser-wood .cb-model-card {
  display: block;
  background: #fff;
  border: 1px solid var(--cb-color-border);
  border-radius: 4px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: var(--cb-transition);
}

#test2022top .cb-block--laser-wood .cb-model-card:hover {
  opacity: 0.6;
}

#test2022top .cb-block--laser-wood .cb-model-card__image {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
}

/* インラインスタイルから変換：樹種画像のobject-fit */
#test2022top .cb-block--laser-wood .cb-model-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#test2022top .cb-block--laser-wood .cb-model-card__name {
  padding: 10px 8px;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  color: var(--cb-color-text);
  border-top: 1px solid #f0f0f0;
}

#test2022top .cb-block--laser-wood .cb-cta {
  justify-content: center;
}

#test2022top .cb-block--laser-wood .cb-btn--secondary {
  color: #1473e6;
  border-color: #1473e6;
}

#test2022top .cb-block--laser-wood .cb-btn--secondary:hover {
  background: #1473e6;
  color: #fff;
}

#test2022top .cb-block--laser-wood .cb-link {
  color: #1473e6;
}

/* --- 人気セットカード --- */
#test2022top .popular-set-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  max-width: 560px;
  margin: 0 auto;
}

#test2022top .popular-set-card {
  background: #fff;
  border: 1px solid #dcdcdc;
  border-radius: 4px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* インラインスタイルから変換 */
#test2022top .popular-set-card--center {
  text-align: center;
}

#test2022top .popular-set-card__badge {
  display: none;
}

#test2022top .popular-set-card__image {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 4px;
  margin-bottom: 12px;
}

#test2022top .popular-set-card__title {
  font-size: 18px;
  font-weight: bold;
  color: #1a1a1a;
  margin: 0 0 8px 0;
}

#test2022top .popular-set-card__desc {
  font-size: 14px;
  color: #555;
  margin: 0 0 16px 0;
}

#test2022top .popular-set-card__price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 4px;
  margin: 0 0 16px 0;
}

#test2022top .popular-set-card__price-value {
  font-size: 24px;
  font-weight: bold;
  color: #1a1a1a;
}

#test2022top .popular-set-card__price-tax {
  font-size: 12px;
  color: #718096;
}

#test2022top .popular-set-card__btn {
  background: #3d4852;
  color: #fff;
  border: 2px solid #3d4852;
  padding: 8px 24px;
  font-size: 13px;
  border-radius: 100vh;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  margin-top: auto;
}

#test2022top .popular-set-card__btn:hover {
  background: #2d3748;
  border-color: #2d3748;
  opacity: 1;
}

/* ゴールド塗りボタン（木材用） */
#test2022top .cb-btn--primary-gold {
  background: #b8860b;
  color: #fff;
  border: 2px solid #b8860b;
  padding: 14px 28px;
  font-size: 14px;
  font-weight: bold;
  border-radius: 100vh;
}

#test2022top .cb-btn--primary-gold:hover {
  background: #9a7209;
  border-color: #9a7209;
  opacity: 1;
}

/* 白地・ゴールド枠ボタン（木材用） */
#test2022top .cb-btn--outline-gold {
  background: #fff;
  color: #b8860b;
  border: 2px solid #b8860b;
  padding: 14px 28px;
  font-size: 14px;
  font-weight: bold;
  border-radius: 100vh;
}

#test2022top .cb-btn--outline-gold:hover {
  background: #fdf8ef;
  opacity: 1;
}

/* ============================================
   TOPページ：木材ブロック レスポンシブ 2026-02-09
   ============================================ */

/* --- max-width: 767px（スマホ） --- */
@media (max-width: 767px) {
  #test2022top .cb-block--laser-wood .cb-title {
    font-size: 22px;
  }

  #test2022top .cb-block--laser-wood .cb-model-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* 人気セットカード */
  #test2022top .popular-set-grid {
    grid-template-columns: 1fr;
    max-width: 100%;
  }

  #test2022top .popular-set-card__btn {
    padding: 12px 24px;
  }
}

/* --- max-width: 480px（スマホ小・木材） --- */
@media (max-width: 480px) {
  #test2022top .cb-block--laser-wood .cb-model-grid {
    gap: 8px;
  }

  #test2022top .popular-set-card__title {
    font-size: 15px;
  }

  #test2022top .popular-set-card__price-value {
    font-size: 20px;
  }
}

/* ============================================
   TOPページ：Raise3D フィラメント・消耗品ブロック 2026-02-09
   ============================================ */
#test2022top .cb-block--raise3d {
  --raise3d-brand: #e31937;
}

#test2022top .cb-block--raise3d .cb-title {
  font-size: 26px;
}

#test2022top .cb-block--raise3d .cb-lead {
  color: #444444;
}

#test2022top .cb-block--raise3d .cb-features {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  background: var(--cb-color-bg-white);
  padding: 16px 20px;
  border-radius: 4px;
  margin-bottom: 24px;
}

#test2022top .cb-block--raise3d .cb-features__item {
  display: flex;
  align-items: center;
  font-size: 15px;
  font-weight: bold;
}

#test2022top .cb-block--raise3d .cb-features__item::before {
  content: "\2713";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: var(--raise3d-brand);
  color: #fff;
  border-radius: 50%;
  font-size: 14px;
  margin-right: 10px;
  flex-shrink: 0;
}

#test2022top .cb-block--raise3d .cb-section__title {
  font-size: 14px;
  font-weight: 600;
  color: var(--cb-color-text-sub);
  background: transparent;
  display: block;
  padding: 0;
  border: none;
  border-bottom: 1px solid var(--cb-color-border);
  padding-bottom: 8px;
  margin-bottom: 16px;
}

#test2022top .cb-block--raise3d .cb-tag {
  background: #fff;
  border-color: #e3342f;
  color: #3d4852;
}

#test2022top .cb-block--raise3d .cb-tag--popular {
  background: #fff;
  border-color: #e3342f;
  color: #3d4852;
}

#test2022top .cb-block--raise3d .cb-tag:hover {
  background: var(--raise3d-brand);
  color: #fff;
  border-color: var(--raise3d-brand);
}

#test2022top .cb-block--raise3d .cb-model-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}

#test2022top .cb-block--raise3d .cb-model-card {
  display: block;
  background: #fff;
  border: 1px solid var(--cb-color-border);
  border-radius: 4px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: var(--cb-transition);
}

#test2022top .cb-block--raise3d .cb-model-card:hover {
  opacity: 0.6;
}

#test2022top .cb-block--raise3d .cb-model-card__image {
  width: 100%;
  aspect-ratio: 16/10;
  background: #f4f4f4;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: #999;
}

#test2022top .cb-block--raise3d .cb-model-card__name {
  padding: 10px 8px;
  font-size: 13px;
  font-weight: bold;
  text-align: center;
  color: var(--cb-color-text);
  border-top: 1px solid #f0f0f0;
}

#test2022top .cb-block--raise3d .cb-model-card__desc {
  font-size: 11px;
  color: #718096;
  padding: 0 8px 10px;
  text-align: center;
  border-top: none;
}

#test2022top .cb-block--raise3d .cb-cta {
  justify-content: center;
}

#test2022top .cb-block--raise3d .cb-btn--secondary {
  color: #1473e6;
  border-color: #1473e6;
}

#test2022top .cb-block--raise3d .cb-btn--secondary:hover {
  background: #1473e6;
  color: #fff;
}

#test2022top .cb-block--raise3d .cb-link {
  color: #1473e6;
}

/* --- Raise3D バナー --- */
#test2022top .cb-block--raise3d .cb-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #3d4852;
  border-radius: 3px;
  padding: 24px 32px;
  margin: 24px 0;
  text-decoration: none;
  color: inherit;
  transition: background 0.2s ease;
}

#test2022top .cb-block--raise3d .cb-banner:hover {
  background: #4a5568;
  opacity: 1;
}

#test2022top .cb-block--raise3d .cb-banner__content {
  display: flex;
  flex-direction: column;
}

#test2022top .cb-block--raise3d .cb-banner__main {
  display: block;
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  margin: 0;
}

#test2022top .cb-block--raise3d .cb-banner__icon {
  display: none;
}

#test2022top .cb-block--raise3d .cb-banner__sub {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.75);
  margin: 4px 0 0 0;
}

#test2022top .cb-block--raise3d .cb-banner__chevron {
  flex-shrink: 0;
}

/* 4列ボタン用（Raise3D Pro系） */
#test2022top .cb-parts-banner--4col .cb-parts-banner__buttons {
  grid-template-columns: repeat(4, 1fr);
}

/* Raise3D用ボタン（赤） */
#test2022top .cb-btn--primary-raise3d {
  background: #e3342f;
  color: #fff;
  border: none;
  padding: 10px 28px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 100vh;
  text-decoration: none;
  display: inline-block;
}

#test2022top .cb-btn--primary-raise3d:hover {
  background: #cc2d28;
  color: #fff;
  opacity: 1;
}

#test2022top .cb-btn--outline-raise3d {
  background: #fff;
  color: #e3342f;
  border: 1.5px solid #e3342f;
  padding: 10px 28px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 100vh;
  text-decoration: none;
  display: inline-block;
}

#test2022top .cb-btn--outline-raise3d:hover {
  background: #FAFAF9;
  color: #cc2d28;
  opacity: 1;
}

/* ============================================
   TOPページ：Raise3D レスポンシブ 2026-02-09
   ============================================ */

/* --- max-width: 767px（スマホ） --- */
@media (max-width: 767px) {
  #test2022top .cb-block--raise3d .cb-title {
    font-size: 22px;
  }

  #test2022top .cb-block--raise3d .cb-model-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  #test2022top .cb-block--raise3d .cb-banner {
    flex-direction: column;
    text-align: center;
    padding: 20px 24px;
  }

  #test2022top .cb-block--raise3d .cb-banner__content {
    align-items: center;
  }

  #test2022top .cb-block--raise3d .cb-banner__chevron {
    display: none;
  }

  #test2022top .cb-parts-banner--4col .cb-parts-banner__buttons {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* --- max-width: 480px（スマホ小・Raise3D） --- */
@media (max-width: 480px) {
  #test2022top .cb-block--raise3d .cb-tag {
    font-size: 12px;
    padding: 8px 12px;
  }

  #test2022top .cb-block--raise3d .cb-banner {
    padding: 16px;
  }
}

/* ============================================
   TOPページ：法人ヘッダーブロック 2026-02-09
   ============================================ */

/* セクションタイトル */
#test2022top .cb-section-title {
  margin: 70px 0 10px 0;
  font-size: 26px;
  font-weight: bold;
}

#test2022top .cb-section-title:first-of-type {
  margin-top: 0;
}

#test2022top .cb-section-subtitle {
  font-size: 14px;
  color: #718096;
  margin-bottom: 24px;
}

/* 上部バナー横並びレイアウト */
#test2022top .cb-top-banners {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 24px;
}

/* BtoB訴求バナー */
#test2022top .cb-btob-banner {
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid #dcdcdc;
}

#test2022top .cb-btob-banner__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  background: #F5F5F4;
}

#test2022top .cb-btob-banner__label {
  font-size: 18px;
  font-weight: bold;
  color: #1a1a1a;
}

#test2022top .cb-btob-banner__link {
  background: #3d4852;
  color: #fff;
  padding: 8px 20px;
  border-radius: 100vh;
  text-decoration: none;
  font-size: 13px;
  font-weight: bold;
}

#test2022top .cb-btob-banner__list {
  list-style: none;
  padding: 16px 24px;
  margin: 0;
  background: #fff;
}

#test2022top .cb-btob-banner__list li {
  margin-bottom: 6px;
  font-size: 14px;
  color: #1a1a1a;
}

#test2022top .cb-btob-banner__list li:last-child {
  margin-bottom: 0;
}

#test2022top .cb-btob-banner__list-highlight {
  color: #e3342f;
}

/* 導入実績セクション */
#test2022top .cb-trust-badges {
  background: #E8F6F8;
  padding: 20px 24px;
  border-radius: 4px;
  border: 1px solid #dcdcdc;
}

#test2022top .cb-trust-badges__header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 16px;
}

#test2022top .cb-trust-badges__title {
  font-size: 1.6rem;
  font-weight: bold;
  color: #0892A2;
  white-space: nowrap;
}

#test2022top .cb-trust-badges__divider {
  border-left: 1px solid #dcdcdc;
  height: 50px;
}

#test2022top .cb-trust-badges__count-label {
  font-size: 13px;
  color: #1a1a1a;
}

#test2022top .cb-trust-badges__count {
  display: flex;
  align-items: baseline;
}

#test2022top .cb-trust-badges__count-number {
  font-size: 2.5rem;
  font-weight: bold;
  color: #0892A2;
  line-height: 1;
}

#test2022top .cb-trust-badges__count-unit {
  font-size: 14px;
  color: #1a1a1a;
}

#test2022top .cb-trust-badges__industries {
  padding: 20px 16px;
  background: #fff;
  border-radius: 4px;
  text-align: center;
}

#test2022top .cb-trust-badges__industries-list {
  font-size: 13px;
  color: #4a5568;
  margin-bottom: 8px;
}

#test2022top .cb-trust-badges__industries-note {
  font-size: 13px;
  color: #4a5568;
}

/* レスポンシブ 767px */
@media (max-width: 767px) {
  #test2022top .cb-top-banners {
    grid-template-columns: 1fr;
  }

  #test2022top .cb-btob-banner__link {
    padding: 10px 20px;
  }
}

/* レスポンシブ 480px */
@media (max-width: 480px) {
  #test2022top .cb-btob-banner__top {
    padding: 12px 16px;
  }

  #test2022top .cb-btob-banner__label {
    font-size: 15px;
  }

  #test2022top .cb-trust-badges {
    padding: 16px;
  }

  #test2022top .cb-trust-badges__header {
    flex-direction: column;
    gap: 12px;
  }

  #test2022top .cb-trust-badges__divider {
    display: none;
  }

  #test2022top .cb-trust-badges__count-number {
    font-size: 2rem;
  }
}

/* ============================================
   TOPページ：ナビゲーションメニュー 2026-02-09
   ============================================ */

@keyframes cb-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(4px); }
}

#test2022top .cb-sticky-nav {
  position: sticky;
  top: 0;
  z-index: 100;
  background: transparent;
  border-bottom: none;
  padding: 12px 0;
  margin-bottom: 24px;
  box-shadow: none;
}

#test2022top .cb-sticky-nav__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  max-width: 900px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

#test2022top .cb-sticky-nav__item {
  flex: 1;
  max-width: 180px;
}

#test2022top .cb-sticky-nav__item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 20px;
  font-size: 13px;
  font-weight: 500;
  color: #4a5568;
  background: transparent;
  border: 1px solid #dcdcdc;
  border-radius: 4px;
  transition: 0.2s;
  min-width: 140px;
  text-align: center;
}

#test2022top .cb-sticky-nav__item a::after {
  content: "\2193";
  display: block;
  margin-top: 4px;
  font-size: 12px;
  transition: transform 0.3s ease;
}

#test2022top .cb-sticky-nav__item a:hover {
  background: #e2e8f0;
  color: #2d3748;
  opacity: 1;
}

#test2022top .cb-sticky-nav__item a:hover::after {
  animation: cb-bounce 0.6s ease infinite;
}

#test2022top .cb-sticky-nav__item--active a {
  background: transparent;
  color: #4a5568;
}

/* レスポンシブ 767px */
@media (max-width: 767px) {
  #test2022top .cb-sticky-nav {
    padding: 8px 12px;
    overflow-x: auto;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    position: relative;
  }

  /* スクロールインジケータ（右端フェード） */
  #test2022top .cb-sticky-nav::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 40px;
    background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.95));
    pointer-events: none;
    z-index: 1;
  }

  #test2022top .cb-sticky-nav__list {
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 6px;
  }

  #test2022top .cb-sticky-nav__item a {
    padding: 10px 12px;
    font-size: 12px;
    white-space: nowrap;
    min-width: auto;
  }
}

/* ============================================
   TOPページ：法人フッターブロック 2026-02-09
   ============================================ */

#test2022top .cb-btob {
  background: #F5F5F4;
  border: none;
  border-radius: 4px;
  padding: 32px 40px;
  margin-top: 40px;
  box-shadow: none;
}

#test2022top .cb-btob__header {
  margin-bottom: 24px;
  text-align: center;
}

#test2022top .cb-btob__title {
  font-size: 20px;
  font-weight: bold;
  color: #3d4852;
  margin: 0 0 8px 0;
}

#test2022top .cb-btob__subtitle {
  font-size: 14px;
  color: #505050;
  margin: 0;
}

#test2022top .cb-btob__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 32px;
  padding: 0;
  margin: 0 0 24px 0;
  list-style: none;
}

#test2022top .cb-btob__item {
  font-size: 14px;
  font-weight: bold;
  color: var(--cb-color-text);
  display: flex;
  align-items: center;
}

#test2022top .cb-btob__item::before {
  content: "\2713";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  background: #3d4852;
  color: #fff;
  border-radius: 50%;
  font-size: 12px;
  margin-right: 8px;
  flex-shrink: 0;
}

/* 支払い方法 & まとめ買い割引 2カラムGrid */
#test2022top .cb-btob__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 24px;
  align-items: stretch;
}

#test2022top .cb-btob__card {
  padding: 16px;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
}

#test2022top .cb-btob__card-title {
  margin: 0 0 12px 0;
  font-size: 15px;
  color: #3d4852;
}

#test2022top .cb-btob__card-items {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

/* 支払い方法カード */
#test2022top .cb-btob__payment-item {
  padding: 12px;
  background: #fff;
  border-radius: 3px;
  border: 1px solid #e2e8f0;
  flex: 1;
  display: flex;
  align-items: center;
}

#test2022top .cb-btob__payment-item--center {
  justify-content: center;
  text-align: center;
}

#test2022top .cb-btob__payment-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

#test2022top .cb-btob__payment-img {
  height: 40px;
  width: auto;
}

#test2022top .cb-btob__payment-img--center {
  display: block;
  margin: 0 auto 8px auto;
}

#test2022top .cb-btob__payment-img--icon {
  width: 50px;
  min-width: 50px;
  object-fit: contain;
  flex-shrink: 0;
}

#test2022top .cb-btob__payment-label {
  font-size: 13px;
  color: #3d4852;
  font-weight: bold;
}

#test2022top .cb-btob__payment-desc {
  font-size: 0.85rem;
  color: #6b7280;
  font-weight: 400;
}

/* まとめ買い割引カード */
#test2022top .cb-btob__discount-item {
  padding: 12px;
  background: #F0F0EF;
  border-radius: 3px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#test2022top .cb-btob__discount-name {
  font-size: 1.2rem;
  color: #6b7280;
  font-weight: bold;
}

#test2022top .cb-btob__discount-number {
  font-size: 2rem;
  font-weight: bold;
  color: #e3342f;
}

#test2022top .cb-btob__discount-percent {
  font-size: 14px;
  color: #e3342f;
  font-weight: bold;
}

#test2022top .cb-btob__discount-suffix {
  font-size: 12px;
  color: #e3342f;
  margin-left: 4px;
}

#test2022top .cb-btob__discount-text {
  font-size: 14px;
  color: #e3342f;
  font-weight: bold;
}

#test2022top .cb-btob__discount-note {
  font-size: 11px;
  color: #e3342f;
  margin: 12px 0 0 0;
}

/* レスポンシブ 767px */
@media (max-width: 767px) {
  #test2022top .cb-btob {
    padding: 24px 20px;
  }

  #test2022top .cb-btob__title {
    font-size: 18px;
  }

  #test2022top .cb-btob__list {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  #test2022top .cb-btob__grid {
    grid-template-columns: 1fr;
  }

  #test2022top .cb-btob__discount-name {
    font-size: 1rem;
  }

  #test2022top .cb-btob__discount-number {
    font-size: 1.6rem;
  }
}
/* ============================================
   TOPページ：ヒーロー + 3カラム入口 2026-03-26
   タスク#2 - スライダー→固定ヒーロー変更
   ============================================ */


/* ============================================
   ① 固定ヒーロー (.cb-hero)
   ============================================ */
#test2022top .cb-hero {
  grid-column: 1 / 5;
  grid-row: 5 / 6;
  background: #303030;
  color: #fff;
  padding: 48px 30px;
  position: relative;
  overflow: hidden;
}

@media (max-width: 767px) {
  #test2022top .cb-hero {
    grid-column: auto;
    grid-row: auto;
    padding: 32px 16px;
  }
}

#test2022top .cb-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 20% 30%, rgba(20,115,230,0.12) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 70%, rgba(20,115,230,0.06) 0%, transparent 60%);
  pointer-events: none;
}

#test2022top .cb-hero__inner {
  position: relative;
  z-index: 1;
  text-align: center;
}

#test2022top .cb-hero__badge {
  display: inline-block;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 100vh;
  padding: 4px 16px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 16px;
}

#test2022top .cb-hero__title {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
}

#test2022top .cb-hero__title em {
  font-style: normal;
  color: #5BA4F5;
}

#test2022top .cb-hero__subtitle {
  font-size: 14px;
  font-weight: 400;
  opacity: 0.8;
  margin-bottom: 24px;
}

/* --- 検索フォーム --- */
#test2022top .cb-hero__search {
  max-width: 480px;
  margin: 0 auto 16px;
  display: flex;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}

#test2022top .cb-hero__search input[type="text"] {
  flex: 1;
  padding: 12px 16px;
  border: none;
  font-size: 14px;
  font-family: inherit;
  outline: none;
  color: #1a1a1a;
  background: #fff;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  min-width: 0;
}

#test2022top .cb-hero__search input[type="text"]::placeholder {
  color: #999;
}

#test2022top .cb-hero__search button {
  background: #1473e6;
  color: #fff;
  border: none;
  padding: 12px 20px;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: background 0.3s;
  white-space: nowrap;
}

#test2022top .cb-hero__search button:hover {
  background: #1060c4;
  opacity: 1;
}

#test2022top .cb-hero__search-icon {
  width: 16px;
  height: 16px;
}

/* --- キーワードリンク --- */
#test2022top .cb-hero__keywords {
  font-size: 12px;
  color: rgba(255,255,255,0.6);
}

#test2022top .cb-hero__keywords a {
  display: inline-block;
  margin: 0 4px;
  padding: 2px 8px;
  background: rgba(255,255,255,0.1);
  border-radius: 100vh;
  transition: background 0.2s;
  color: rgba(255,255,255,0.8);
}

#test2022top .cb-hero__keywords a:hover {
  background: rgba(255,255,255,0.18);
  opacity: 1;
}

/* --- ヒーロー レスポンシブ --- */
@media (max-width: 767px) {
  #test2022top .cb-hero {
    padding: 32px 16px;
    border-radius: 0;
    width: auto;
  }

  #test2022top .cb-hero__title {
    font-size: 20px;
  }

  #test2022top .cb-hero__subtitle {
    font-size: 13px;
  }
}

/* ============================================
   ②-a 3DMedSupo 専用バナー (.cb-medsupo-banner)
   ============================================ */
#test2022top .cb-medsupo-banner {
  display: flex;
  align-items: center;
  gap: 24px;
  background: #fff;
  color: #1a1a1a;
  border: 1px solid #dcdcdc;
  border-left: 4px solid #1473e6;
  border-radius: 4px;
  padding: 24px 30px;
  margin-top: 16px;
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.3s;
  text-decoration: none;
}

#test2022top .cb-medsupo-banner:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  opacity: 1;
}

#test2022top .cb-medsupo-banner__img {
  flex-shrink: 0;
  width: 120px;
  height: 120px;
  -o-object-fit: contain;
     object-fit: contain;
}

#test2022top .cb-medsupo-banner__body {
  flex: 1;
  min-width: 0;
}

#test2022top .cb-medsupo-banner__label {
  display: inline-block;
  background: #1473e6;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 2px;
  margin-bottom: 6px;
  letter-spacing: 0.03em;
}

#test2022top .cb-medsupo-banner__title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 4px;
  color: #1a1a1a;
}

#test2022top .cb-medsupo-banner__desc {
  font-size: 13px;
  color: #555;
  line-height: 1.6;
}

#test2022top .cb-medsupo-banner__cta {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #1473e6;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  padding: 10px 24px;
  border-radius: 100vh;
  transition: background 0.3s;
  white-space: nowrap;
  text-decoration: none;
}

#test2022top .cb-medsupo-banner__cta:hover {
  background: #1060c4;
  opacity: 1;
}

#test2022top .cb-medsupo-banner__cta svg {
  width: 16px;
  height: 16px;
}

/* --- 3DMedSupoバナー レスポンシブ --- */
@media (max-width: 767px) {
  #test2022top .cb-medsupo-banner {
    flex-direction: column;
    text-align: center;
    padding: 20px 16px;
    gap: 16px;
    border-radius: 0;
    margin-top: 0;
  }

  #test2022top .cb-medsupo-banner__img {
    width: 100px;
    height: 100px;
    order: -1;
  }

  #test2022top .cb-medsupo-banner__title {
    font-size: 17px;
  }
}

/* ============================================
   ②-b 3DMedSupo 専用バナー2 (.cb-msb) 2026-04-01
   ※ aishipRパーツ名: cb-medsupo-banner2
   ※ 内側クラスは cb-msb で統一（外側ラッパーとの二重適用を防止）
   ============================================ */
#test2022top .cb-msb {
  display: flex;
  align-items: center;
  gap: 24px;
  background: #fff;
  color: #1a1a1a;
  border: 2px solid #1473e6;
  border-radius: 4px;
  padding: 24px 30px;
  margin-top: 16px;
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.3s;
  text-decoration: none;
}

#test2022top .cb-msb:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  opacity: 1;
}

#test2022top .cb-msb__img {
  flex-shrink: 0;
  width: 120px;
  height: 120px;
  -o-object-fit: contain;
     object-fit: contain;
}

#test2022top .cb-msb__body {
  flex: 1;
  min-width: 0;
}

#test2022top .cb-msb__label {
  display: inline-block;
  background: #1473e6;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 2px;
  margin-bottom: 6px;
  letter-spacing: 0.03em;
}

#test2022top .cb-msb__title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 4px;
  color: #1a1a1a;
}

#test2022top .cb-msb__desc {
  font-size: 13px;
  color: #555;
  line-height: 1.6;
}

#test2022top .cb-msb__notice {
  font-size: 12px;
  color: #b45309;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 3px;
  padding: 6px 10px;
  margin-top: 8px;
  line-height: 1.5;
}

#test2022top .cb-msb__notice strong {
  color: #92400e;
}

#test2022top .cb-msb__notice small {
  color: #78716c;
  font-size: 11px;
}

#test2022top .cb-msb__cta {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #1473e6;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  padding: 10px 24px;
  border-radius: 100vh;
  transition: background 0.3s;
  white-space: nowrap;
  text-decoration: none;
}

#test2022top .cb-msb__cta:hover {
  background: #1060c4;
  opacity: 1;
}

#test2022top .cb-msb__cta svg {
  width: 16px;
  height: 16px;
}

/* --- 3DMedSupoバナー2 レスポンシブ --- */
@media (max-width: 767px) {
  #test2022top .cb-msb {
    flex-direction: column;
    text-align: center;
    padding: 20px 16px;
    gap: 16px;
    border-radius: 0;
    margin-top: 0;
  }

  #test2022top .cb-msb__img {
    width: 100px;
    height: 100px;
    order: -1;
  }

  #test2022top .cb-msb__title {
    font-size: 17px;
  }

  #test2022top .cb-msb__notice {
    text-align: left;
  }
}

/* ============================================
   ② 3カラム入口 (.cb-entry)
   ============================================ */
#test2022top .cb-entry {
  padding: 30px 0;
}

#test2022top .cb-entry__heading {
  text-align: center;
  margin-bottom: 24px;
}

#test2022top .cb-entry__heading h2 {
  font-size: 18px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 4px;
}

#test2022top .cb-entry__heading p {
  font-size: 13px;
  color: #555555;
}

#test2022top .cb-entry__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

#test2022top .cb-entry__card {
  display: block;
  background: #f7f7f7;
  border-radius: 4px;
  border: 1px solid #dcdcdc;
  padding: 24px 16px;
  text-align: center;
  transition: box-shadow 0.2s, transform 0.15s;
  cursor: pointer;
  text-decoration: none;
}

#test2022top .cb-entry__card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  transform: translateY(-2px);
  opacity: 1;
}

#test2022top .cb-entry__icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 50%;
  border: 1px solid #dcdcdc;
}

#test2022top .cb-entry__icon svg {
  width: 28px;
  height: 28px;
  color: #303030;
}

#test2022top .cb-entry__card h3 {
  font-size: 16px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 6px;
}

#test2022top .cb-entry__desc {
  font-size: 13px;
  color: #555555;
  margin-bottom: 12px;
  line-height: 1.6;
}

#test2022top .cb-entry__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
  margin-bottom: 12px;
}

#test2022top .cb-entry__tag {
  display: inline-block;
  background: #fff;
  border: 1px solid #dcdcdc;
  color: #1a1a1a;
  font-size: 12px;
  padding: 3px 10px;
  border-radius: 2px;
  font-weight: 500;
}

#test2022top .cb-entry__cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #1473e6;
  font-size: 14px;
  font-weight: 600;
}

#test2022top .cb-entry__cta svg {
  width: 16px;
  height: 16px;
}

/* --- 3カラム レスポンシブ --- */
@media (max-width: 767px) {
  #test2022top .cb-entry {
    padding: 24px 16px;
  }

  #test2022top .cb-entry__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  #test2022top .cb-entry__card {
    padding: 20px 16px;
  }
}

/* ============================================
   ③ 信頼バッジ横1列 (.cb-trust-row)
   ============================================ */
#test2022top .cb-trust-row {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 16px 0;
  border-top: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc;
}

#test2022top .cb-trust-row__item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 600;
  color: #1a1a1a;
  background: #f7f7f7;
  border-radius: 2px;
}

#test2022top .cb-trust-row__item svg {
  width: 16px;
  height: 16px;
  color: #303030;
  flex-shrink: 0;
}

/* --- 信頼バッジ レスポンシブ --- */
@media (max-width: 767px) {
  #test2022top .cb-trust-row {
    padding: 12px 16px;
    gap: 6px;
  }

  #test2022top .cb-trust-row__item {
    font-size: 11px;
    padding: 5px 8px;
  }
}
/* ============================================
   タスク#3 + #11: グローバルナビ再構成 追加CSS
   追記先: /httpdocs/css2022/style.css（末尾に追記）
   設計日: 2026-03-26（v2: 簡潔化対応）
   ============================================ */

/* --- ドロップダウン開閉（hover/focus） --- */
.h-mainMenu2__dropdown {
  position: relative;
  display: inline-block;
  cursor: pointer;
}
.h-mainMenu2__dropdown__list {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  padding: 8px 0;
  z-index: 1000;
  list-style: none;
  margin: 0;
}
.h-mainMenu2__dropdown:hover .h-mainMenu2__dropdown__list,
.h-mainMenu2__dropdown:focus-within .h-mainMenu2__dropdown__list {
  display: block;
}
.h-mainMenu2__dropdown__list li a {
  display: block;
  padding: 6px 16px;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  white-space: nowrap;
}
.h-mainMenu2__dropdown__list li a:hover {
  background: #f5f5f5;
  color: var(--color-primary, #0066cc);
}

/* --- 直リンク（ドロップダウンなし）項目 --- */
.h-mainMenu2__direct-link {
  display: inline-block;
  padding: 0 12px;
  line-height: inherit;
  color: inherit;
  text-decoration: none;
  font-weight: 700;
}
.h-mainMenu2__direct-link:hover {
  color: var(--color-primary, #0066cc);
}

/* --- ドロップダウン内区切り線 --- */
.h-mainMenu2__dropdown__divider {
  height: 0;
  margin: 4px 12px;
  border: none;
  border-top: 1px solid #e5e5e5;
  pointer-events: none;
}

/* --- 見積CTAボタン --- */
.h-mainMenu2__dropdown__cta a {
  display: block;
  background: var(--color-primary, #0066cc);
  color: #fff !important;
  text-align: center;
  padding: 8px 16px;
  border-radius: 4px;
  font-weight: 700;
  margin: 4px 8px;
  transition: background 0.2s;
}
.h-mainMenu2__dropdown__cta a:hover {
  background: var(--color-primary-700, #004c99);
}

/* --- 電話番号行 --- */
.h-mainMenu2__dropdown__phone {
  padding: 6px 16px;
  font-weight: 600;
}
.h-mainMenu2__dropdown__phone a {
  color: #333 !important;
  text-decoration: none;
}
.h-mainMenu2__dropdown__phone small {
  font-size: 11px;
  color: #888;
}

/* --- スマホ --- */
@media (max-width: 768px) {
  .h-mainMenu2__dropdown__phone a {
    font-size: 16px;
    color: var(--color-primary, #0066cc) !important;
  }
  .h-mainMenu2__dropdown__cta a {
    padding: 12px 16px;
    font-size: 15px;
  }
}


/* ============================
   Formlabs Resin kata CSS (fl-)
   Added: 2026-03-28
   ============================ */
/* ============================
   Formlabs レジン kata CSS
   カラー: Formlabsブランド準拠
   プレフィックス: fl-
   ============================ */
:root {
  --fl-primary: #333333;
  --fl-primary-dark: #222222;
  --fl-primary-darker: #111111;
  --fl-primary-pale: #f0f0f0;
  --fl-mint: #f5f5f5;
  --fl-gradient-start: #2d2d2d;
  --fl-gradient-end: #444444;
  --fl-accent: #ec6230;
  --fl-accent-light: #fef0eb;
  --fl-cream: #FDF8F3;
  --fl-gray-50: #FAFAF9;
  --fl-gray-100: #F5F5F4;
  --fl-gray-200: #E7E5E4;
  --fl-gray-300: #D6D3D1;
  --fl-gray-400: #A8A29E;
  --fl-gray-500: #78716C;
  --fl-gray-600: #57534E;
  --fl-gray-700: #44403C;
  --fl-gray-800: #292524;
  --fl-gray-900: #1C1917;
  --fl-white: #ffffff;
  --fl-radius: 0.625rem;
  --fl-radius-lg: 1rem;
  --fl-radius-xl: 1.5rem;
  --fl-font: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', sans-serif;
  --fl-max-width: 780px;
  --ms-primary: #09b6ca;
  --ms-primary-dark: #0892A2;
  --ms-accent: #FFF793;
}

.fl-product-detail {
  font-family: var(--fl-font);
  color: var(--fl-gray-700);
  line-height: 1.9;
  font-size: 1.0625rem;
  max-width: var(--fl-max-width);
  margin: 0 auto;
  -webkit-font-smoothing: antialiased;
}
.fl-product-detail *, .fl-product-detail *::before, .fl-product-detail *::after { box-sizing: border-box; }
.fl-product-detail img { max-width: 100%; height: auto; }
.fl-product-detail a { color: var(--fl-primary-darker); text-decoration: none; }
.fl-product-detail a:hover { color: var(--fl-primary-dark); }

/* Section */
.fl-section { margin: 48px 0; }
.fl-section-label {
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fl-gray-500);
  margin-bottom: 6px;
}
.fl-section-title {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--fl-gray-800);
  margin: 0 0 20px 0;
  line-height: 1.3;
}

/* Hero */
.fl-hero {
  background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%);
  color: #fff;
  border-radius: var(--fl-radius-xl);
  padding: 36px 32px;
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  gap: 28px;
}
.fl-hero-text { flex: 1; }
.fl-hero-image { flex-shrink: 0; width: 240px; }
.fl-hero-image img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 4px 20px rgba(0,0,0,0.3));
}
.fl-label {
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  background: rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.9);
  border: 1px solid rgba(255,255,255,0.25);
  padding: 4px 14px;
  border-radius: 4px;
  margin-bottom: 14px;
}
.fl-hero-title {
  font-size: 1.625rem;
  font-weight: 700;
  margin: 0 0 12px 0;
  line-height: 1.4;
  color: #fff;
}
.fl-hero-title small {
  font-size: 0.875rem;
  font-weight: 500;
  color: rgba(255,255,255,0.7);
}
.fl-hero-desc {
  font-size: 0.9375rem;
  margin: 0;
  color: rgba(255,255,255,0.85);
  line-height: 1.75;
}
.fl-feature-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}
.fl-feature-tag {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #fff;
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.25);
  padding: 6px 14px;
  border-radius: 4px;
}

/* Use Cases Gallery (横並び画像) */
.fl-usecase-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 20px;
}
.fl-usecase-gallery img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: var(--fl-radius);
}

/* Use Cases Grid */
.fl-usecase-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 20px;
}
.fl-usecase-card {
  background: var(--fl-gray-50);
  border: 1px solid var(--fl-gray-200);
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow 0.2s;
}
.fl-usecase-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}
.fl-usecase-photo {
  width: 100%;
  height: 140px;
  overflow: hidden;
  background: #f0f0f0;
}
.fl-usecase-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fl-usecase-body {
  padding: 14px 16px;
}
.fl-usecase-card h3 {
  font-size: 0.92rem;
  font-weight: 700;
  margin: 0 0 4px;
  color: var(--fl-gray-800);
}
.fl-usecase-card p {
  font-size: 0.8rem;
  color: var(--fl-gray-600);
  margin: 0;
  line-height: 1.6;
}

/* Features Row */
.fl-features-row {
  display: flex;
  gap: 16px;
  margin-top: 20px;
}
.fl-feature-card {
  flex: 1;
  border: 1px solid var(--fl-gray-200);
  border-radius: 12px;
  padding: 20px;
}
.fl-feature-num {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--fl-gray-800);
  margin-bottom: 8px;
  line-height: 1;
}
.fl-feature-card h3 {
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0 0 8px;
}
.fl-feature-card p {
  font-size: 0.82rem;
  color: var(--fl-gray-600);
  margin: 0;
  line-height: 1.6;
}

/* Spec Table */
.fl-spec-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 0.9375rem;
}
.fl-spec-table th, .fl-spec-table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--fl-gray-200);
  text-align: left;
}
.fl-spec-table th {
  width: 35%;
  background: var(--fl-gray-50);
  font-weight: 600;
  color: var(--fl-gray-700);
}
.fl-spec-divider td {
  background: var(--fl-gray-800);
  color: #fff;
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  padding: 6px 14px;
  border-bottom: none;
}

/* Note */
.fl-note {
  font-size: 0.8125rem;
  color: var(--fl-gray-500);
  margin: 14px 0;
  line-height: 1.6;
}

/* Cross-sell 3DMedSupo */
.fl-crosssell-wash {
  background: linear-gradient(135deg, #eaf8fc 0%, #fdf8f3 100%);
  border: 2px solid #09b6ca;
  border-radius: 16px;
  padding: 32px 24px;
}
.fl-crosssell-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}
.fl-crosssell-header-badge {
  display: inline-block;
  background: #09b6ca;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 4px;
}
.fl-crosssell-box {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  margin-top: 16px;
}
.fl-crosssell-image { flex-shrink: 0; width: 180px; }
.fl-crosssell-image img {
  border-radius: 12px;
  width: 100%;
  height: auto;
}
.fl-crosssell-body h3 {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 10px;
  color: var(--ms-primary-dark);
}
.fl-crosssell-body > p {
  font-size: 0.88rem;
  line-height: 1.7;
  margin: 0 0 14px;
  color: var(--fl-gray-700);
}
.fl-crosssell-highlight {
  background: linear-gradient(90deg, #09b6ca, #0892A2);
  color: #fff;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 14px;
  font-size: 0.95rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.02em;
}
.fl-crosssell-points {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}
.fl-crosssell-point {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.88rem;
  font-weight: 600;
}
.fl-crosssell-point .fl-badge-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  background: var(--ms-accent);
  color: var(--fl-gray-800);
  border-radius: 50%;
  font-size: 0.75rem;
  font-weight: 700;
  flex-shrink: 0;
}
.fl-crosssell-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.fl-crosssell-note {
  font-size: 0.78rem;
  color: var(--fl-gray-500);
  margin-top: 10px;
}

/* Compat tags */
.fl-compat-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0;
}
.fl-compat-tag {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--fl-gray-700);
  background: var(--fl-gray-50);
  border: 1px solid var(--fl-gray-200);
  padding: 6px 14px;
  border-radius: 4px;
}
.fl-compat-tag--active {
  background: var(--fl-gray-800);
  color: #fff;
  font-weight: 700;
  border-color: var(--fl-gray-800);
}
.fl-compat-tag--inactive {
  background: var(--fl-gray-100);
  color: var(--fl-gray-500);
}

/* Related Grid */
.fl-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 16px;
}
.fl-related-item {
  display: block;
  border: 1px solid var(--fl-gray-200);
  border-radius: 10px;
  padding: 14px;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.2s;
}
.fl-related-item:hover {
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}
.fl-related-item--medsupo {
  border-color: #09b6ca;
  background: #eaf8fc;
}
.fl-related-badge {
  display: inline-block;
  background: #09b6ca;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  margin-bottom: 6px;
}
.fl-related-name {
  font-weight: 700;
  font-size: 0.88rem;
  margin-bottom: 2px;
}
.fl-related-desc {
  font-size: 0.78rem;
  color: var(--fl-gray-500);
}
.fl-related-price {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--fl-gray-800);
  margin-top: 6px;
}
.fl-related-item--medsupo .fl-related-price {
  color: var(--ms-primary-dark);
}

/* CTA */
.fl-cta-box {
  background: linear-gradient(135deg, var(--fl-gradient-start) 0%, var(--fl-gradient-end) 100%);
  color: #fff;
  border-radius: var(--fl-radius-xl);
  padding: 36px 28px;
  text-align: center;
  margin: 40px 0;
}
.fl-cta-box h2 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 6px 0;
  color: #fff;
  line-height: 1.5;
}
.fl-cta-box > p {
  font-size: 0.875rem;
  color: rgba(255,255,255,0.85);
  margin: 0 0 20px 0;
}
.fl-cta-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 340px;
  margin: 0 auto;
}
.fl-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 20px;
  border-radius: var(--fl-radius);
  font-size: 0.9375rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.25s ease;
  cursor: pointer;
  border: none;
  font-family: var(--fl-font);
}
.fl-cta-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.15); }
.fl-cta-box .fl-cta-btn { color: #fff; }
.fl-cta-box .fl-cta-btn--primary { color: var(--fl-gray-800); }
.fl-cta-btn--primary {
  background: var(--fl-white);
  color: var(--fl-gray-800);
}
.fl-cta-btn--secondary {
  background: rgba(255,255,255,0.15);
  color: #fff;
  border: 2px solid rgba(255,255,255,0.8);
}
.fl-cta-btn--secondary:hover {
  color: #fff;
  background: rgba(255,255,255,0.25);
}
.fl-crosssell-actions .fl-cta-btn--primary {
  background: #09b6ca;
  color: #fff;
  box-shadow: 0 4px 16px rgba(9,182,202,0.35);
}
.fl-crosssell-actions .fl-cta-btn--primary:hover {
  background: #0892A2;
  box-shadow: 0 6px 20px rgba(9,182,202,0.45);
}
.fl-crosssell-actions .fl-cta-btn--lg {
  padding: 16px 24px;
  font-size: 1.0625rem;
}
.fl-crosssell-actions .fl-cta-btn--secondary {
  background: var(--fl-white);
  color: var(--fl-gray-700);
  border: 1px solid var(--fl-gray-300);
  font-size: 0.875rem;
}
.fl-cta-note {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.7);
  margin-top: 12px;
}

/* Sticky CTA */
.fl-sticky-cta {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: var(--fl-white);
  border-top: 1px solid var(--fl-gray-200);
  padding: 10px 16px;
  z-index: 9999;
  box-shadow: 0 -2px 8px rgba(0,0,0,0.06);
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.fl-sticky-price {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--fl-gray-800);
}
.fl-cta-btn--sm {
  padding: 10px 18px;
  font-size: 0.875rem;
  background: var(--fl-accent);
  color: #fff;
  border-radius: 6px;
}

/* ============================
   aishipR 競合リセット (!important)
   ============================ */

/* ===== 全要素リセット ===== */
.fl-product-detail h2 {
  color: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  font-size: inherit !important;
  line-height: inherit !important;
}
.fl-product-detail h3 {
  color: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  font-size: inherit !important;
}
.fl-product-detail p {
  margin: 0 !important;
  line-height: inherit !important;
}
.fl-product-detail span {
  display: inline !important;
  font-size: inherit !important;
}
.fl-product-detail a {
  font-weight: inherit !important;
}
.fl-product-detail a:hover img {
  opacity: 1 !important;
}

/* ===== Hero: 白テキスト ===== */
.fl-hero { color: #fff !important; }
.fl-hero h2,
.fl-hero-title {
  color: #fff !important;
  font-size: 1.625rem !important;
  font-weight: 700 !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.4 !important;
}
.fl-hero-title small {
  color: rgba(255,255,255,0.7) !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
}
.fl-hero p,
.fl-hero-desc {
  color: rgba(255,255,255,0.85) !important;
  margin: 0 !important;
  line-height: 1.75 !important;
}
.fl-label {
  color: rgba(255,255,255,0.9) !important;
  display: inline-block !important;
  font-size: 0.8125rem !important;
}
.fl-feature-tag {
  color: #fff !important;
  display: inline-block !important;
  font-size: 0.8125rem !important;
}

/* ===== CTA Box: 白テキスト ===== */
.fl-cta-box { color: #fff !important; }
.fl-cta-box h2 {
  color: #fff !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.5 !important;
}
.fl-cta-box > p {
  color: rgba(255,255,255,0.85) !important;
  margin: 0 0 20px 0 !important;
}
.fl-cta-note {
  color: rgba(255,255,255,0.7) !important;
  margin-top: 12px !important;
}

/* ===== Section titles ===== */
.fl-section-title {
  font-size: 1.375rem !important;
  font-weight: 700 !important;
  color: var(--fl-gray-800) !important;
  margin: 0 0 20px 0 !important;
}
.fl-section-label {
  display: inline-block !important;
  font-size: 0.8125rem !important;
  color: var(--fl-gray-500) !important;
}

/* ===== Use Case cards ===== */
.fl-usecase-card h3 {
  font-size: 0.92rem !important;
  color: var(--fl-gray-800) !important;
  margin: 0 0 4px !important;
}
.fl-usecase-card p {
  font-size: 0.8rem !important;
  color: var(--fl-gray-600) !important;
  margin: 0 !important;
  line-height: 1.6 !important;
}

/* ===== Feature cards ===== */
.fl-feature-card h3 {
  font-size: 0.95rem !important;
  margin: 0 0 8px !important;
}
.fl-feature-card p {
  font-size: 0.82rem !important;
  color: var(--fl-gray-600) !important;
  margin: 0 !important;
  line-height: 1.6 !important;
}

/* ===== Spec table ===== */
.fl-spec-divider td { color: #fff !important; }

/* ===== Crosssell 3DMedSupo ===== */
.fl-crosssell-header-badge {
  color: #fff !important;
  display: inline-block !important;
  font-size: 0.75rem !important;
}
.fl-crosssell-wash .fl-section-title {
  color: var(--fl-gray-800) !important;
  margin: 0 0 16px 0 !important;
}
.fl-crosssell-body h3 {
  font-size: 1.1rem !important;
  color: var(--ms-primary-dark) !important;
  margin: 0 0 10px !important;
}
.fl-crosssell-body p {
  font-size: 0.88rem !important;
  line-height: 1.7 !important;
  margin: 0 0 14px !important;
  color: var(--fl-gray-700) !important;
}
.fl-crosssell-highlight {
  color: #fff !important;
  margin-bottom: 14px !important;
}
.fl-crosssell-point {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.fl-crosssell-point .fl-badge-check {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  flex-shrink: 0 !important;
}
.fl-crosssell-point span {
  display: inline !important;
}
.fl-crosssell-actions {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
.fl-crosssell-note {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  font-size: 0.78rem !important;
  color: var(--fl-gray-500) !important;
}

/* ===== Related products ===== */
.fl-related-badge {
  color: #fff !important;
  display: inline-block !important;
  font-size: 0.72rem !important;
}
.fl-related-name {
  display: block !important;
  font-size: 0.88rem !important;
}
.fl-related-desc {
  display: block !important;
  font-size: 0.78rem !important;
}
.fl-related-price {
  display: block !important;
  font-size: 0.95rem !important;
}

/* ===== Compat tags ===== */
.fl-compat-tag--active { color: #fff !important; }
.fl-compat-tag { display: inline-block !important; }

/* ===== CTA buttons ===== */
.fl-cta-btn { font-weight: 700 !important; }
.fl-cta-box .fl-cta-btn--secondary { color: #fff !important; }
.fl-cta-btn--sm { color: #fff !important; }
.fl-crosssell-actions .fl-cta-btn--primary { color: #fff !important; }
.fl-crosssell-actions .fl-cta-btn--secondary { color: var(--fl-gray-700) !important; }

/* Responsive */
@media (max-width: 640px) {
  .fl-product-detail { font-size: 0.9375rem; }
  .fl-hero { flex-direction: column; gap: 20px; padding: 24px 20px; border-radius: var(--fl-radius-lg); }
  .fl-hero-title { font-size: 1.375rem; }
  .fl-hero-image { width: 160px; margin: 0 auto; }
  .fl-section-title { font-size: 1.1875rem; }
  .fl-usecase-gallery { grid-template-columns: 1fr; }
  .fl-usecase-gallery img { height: 160px; }
  .fl-usecase-grid { grid-template-columns: 1fr; }
  .fl-features-row { flex-direction: column; }
  .fl-crosssell-box { flex-direction: column; align-items: center; text-align: center; }
  .fl-crosssell-image { width: 140px; }
  .fl-crosssell-image img { width: 100%; }
  .fl-crosssell-actions { flex-direction: column; }
  .fl-related-grid { grid-template-columns: repeat(2, 1fr); }
  .fl-cta-box { padding: 28px 20px; border-radius: var(--fl-radius-lg); }
  .fl-feature-tag { font-size: 0.75rem; padding: 5px 10px; }
  .fl-sticky-cta { display: flex !important; }
}

/* ============================================
   [木材kata商品詳細] 2026-04-02
   7樹種×サイズ別 商品詳細HTML用CSS
   プレフィックス: wd-
   ============================================ */
/* ============================
   レーザー木材 kata CSS
   カラー: ウォームウッドトーン
   プレフィックス: wd-
   ============================ */
:root {
  --wd-primary: #5D4037;
  --wd-primary-dark: #3E2723;
  --wd-primary-light: #8D6E63;
  --wd-accent: #E65100;
  --wd-accent-light: #FFF3E0;
  --wd-warm-bg: #FDFAF6;
  --wd-cream: #FDF8F3;
  --wd-green: #2E7D32;
  --wd-green-light: #E8F5E9;
  --wd-gray-50: #FAFAF9;
  --wd-gray-100: #F5F5F4;
  --wd-gray-200: #E7E5E4;
  --wd-gray-300: #D6D3D1;
  --wd-gray-400: #A8A29E;
  --wd-gray-500: #78716C;
  --wd-gray-600: #57534E;
  --wd-gray-700: #44403C;
  --wd-gray-800: #292524;
  --wd-gray-900: #1C1917;
  --wd-white: #ffffff;
  --wd-radius: 0.625rem;
  --wd-radius-lg: 1rem;
  --wd-radius-xl: 1.5rem;
  --wd-font: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', sans-serif;
  --wd-max-width: 780px;
}

.wd-product-detail {
  font-family: var(--wd-font);
  color: var(--wd-gray-700);
  line-height: 1.9;
  font-size: 1.0625rem;
  max-width: var(--wd-max-width);
  margin: 0 auto;
  -webkit-font-smoothing: antialiased;
}
.wd-product-detail *, .wd-product-detail *::before, .wd-product-detail *::after { box-sizing: border-box; }
.wd-product-detail img { max-width: 100%; height: auto; }
.wd-product-detail a { color: var(--wd-primary); text-decoration: none; }
.wd-product-detail a:hover { color: var(--wd-accent); }

/* Section */
.wd-section { margin: 48px 0; }
.wd-section-label {
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--wd-gray-500);
  margin-bottom: 6px;
}
.wd-section-title {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--wd-gray-800);
  margin: 0 0 20px 0;
  line-height: 1.3;
}

/* Hero — サイトカラー */
.wd-hero {
  background: linear-gradient(135deg, #f0ecf6 0%, #e4dff0 100%);
  color: #333;
  border-radius: var(--wd-radius-xl);
  padding: 36px 32px;
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  gap: 28px;
}
.wd-hero-text { flex: 1; }
.wd-label {
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  background: rgba(93,64,55,0.1);
  color: var(--wd-primary);
  border: 1px solid rgba(93,64,55,0.2);
  padding: 4px 14px;
  border-radius: 4px;
  margin-bottom: 14px;
}
.wd-hero-title {
  font-size: 1.625rem;
  font-weight: 700;
  margin: 0 0 12px 0;
  line-height: 1.4;
  color: var(--wd-gray-900);
}
.wd-hero-title small {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--wd-gray-500);
}
.wd-hero-desc {
  font-size: 0.9375rem;
  margin: 0;
  color: var(--wd-gray-700);
  line-height: 1.75;
}
.wd-feature-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}
.wd-feature-tag {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--wd-primary);
  background: rgba(93,64,55,0.08);
  border: 1px solid rgba(93,64,55,0.2);
  padding: 6px 14px;
  border-radius: 4px;
}

/* Use Cases Grid */
.wd-usecase-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 20px;
}
.wd-usecase-card {
  background: var(--wd-warm-bg);
  border: 1px solid var(--wd-gray-200);
  border-radius: 12px;
  padding: 20px;
  transition: box-shadow 0.2s;
}
.wd-usecase-card:hover {
  box-shadow: 0 4px 16px rgba(93,64,55,0.12);
}
.wd-usecase-card h3 {
  font-size: 0.92rem;
  font-weight: 700;
  margin: 0 0 8px;
  color: var(--wd-primary);
}
.wd-usecase-card p {
  font-size: 0.8rem;
  color: var(--wd-gray-600);
  margin: 0;
  line-height: 1.6;
}

/* Features Row */
.wd-features-row {
  display: flex;
  gap: 16px;
  margin-top: 20px;
}
.wd-feature-card {
  flex: 1;
  border: 1px solid var(--wd-gray-200);
  border-radius: 12px;
  padding: 20px;
  border-top: 3px solid var(--wd-primary-light);
}
.wd-feature-card h3 {
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0 0 8px;
  color: var(--wd-primary);
}
.wd-feature-card p {
  font-size: 0.82rem;
  color: var(--wd-gray-600);
  margin: 0;
  line-height: 1.6;
}

/* Spec Table（2列：スペック表） */
.wd-spec-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 0.9375rem;
}
.wd-spec-table th, .wd-spec-table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--wd-gray-200);
  text-align: left;
}
.wd-spec-table th {
  width: 35%;
  background: var(--wd-gray-50);
  font-weight: 600;
  color: var(--wd-gray-700);
}
.wd-spec-divider td {
  background: var(--wd-primary);
  color: #fff;
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  padding: 6px 14px;
  border-bottom: none;
}
.wd-table-scroll { overflow-x: auto; }

/* Size table（6列：サイズ一覧・価格表） */
.wd-spec-table thead th {
  width: auto;
  background: var(--wd-primary);
  color: #fff;
  font-weight: 600;
  font-size: 0.85rem;
  text-align: center;
}
.wd-spec-table thead th:first-child,
.wd-spec-table thead th:nth-child(2) {
  text-align: left;
}
.wd-size-row td {
  text-align: center;
}
.wd-size-row td:first-child,
.wd-size-row td:nth-child(2) {
  text-align: left;
}
.wd-size-row a {
  color: var(--wd-primary);
  text-decoration: underline;
  font-weight: 600;
}
.wd-size-row a:hover { color: var(--wd-accent); }
.wd-size-current {
  background: #f0ecf6;
}
.wd-size-current td { font-weight: 600; }

/* Species Gallery */
.wd-gallery {
  margin: 0 0 8px;
  border-radius: var(--wd-radius-lg);
  overflow: hidden;
}
.wd-gallery img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--wd-radius-lg);
}

/* Cut Parameters */
.wd-params-section {
  background: var(--wd-green-light);
  border: 2px solid var(--wd-green);
  border-radius: 16px;
  padding: 32px 24px;
}
.wd-params-badge {
  display: inline-block;
  background: var(--wd-green);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  padding: 6px 16px;
  border-radius: 6px;
  margin-bottom: 16px;
}

/* Param Cards */
.wd-param-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 8px;
}
.wd-param-card {
  background: #fff;
  border: 1px solid var(--wd-gray-200);
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow 0.2s;
}
.wd-param-card:hover {
  box-shadow: 0 4px 16px rgba(46,125,50,0.12);
}
.wd-param-card--current {
  border: 2px solid var(--wd-green);
  box-shadow: 0 2px 12px rgba(46,125,50,0.15);
}
.wd-param-card-header {
  background: var(--wd-gray-100);
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid var(--wd-gray-200);
}
.wd-param-card--current .wd-param-card-header {
  background: var(--wd-green);
}
.wd-param-size {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--wd-gray-800);
  line-height: 1;
}
.wd-param-card--current .wd-param-size {
  color: #fff;
}
.wd-param-thickness {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--wd-gray-500);
  background: var(--wd-white);
  padding: 2px 8px;
  border-radius: 4px;
}
.wd-param-current-label {
  margin-left: auto;
  font-size: 0.72rem;
  font-weight: 700;
  color: #fff;
  background: rgba(255,255,255,0.25);
  padding: 2px 8px;
  border-radius: 4px;
}
.wd-param-card-body {
  padding: 16px;
}
.wd-param-row {
  margin-bottom: 12px;
}
.wd-param-row:last-child { margin-bottom: 0; }
.wd-param-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--wd-gray-500);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 2px;
}
.wd-param-value {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--wd-gray-800);
  margin-bottom: 4px;
}
.wd-param-bar {
  height: 6px;
  background: var(--wd-gray-200);
  border-radius: 3px;
  overflow: hidden;
  margin-top: 4px;
}
.wd-param-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #E65100, #FF8F00);
  border-radius: 3px;
  transition: width 0.5s ease;
}
.wd-param-bar-fill--speed {
  background: linear-gradient(90deg, #2E7D32, #66BB6A);
}
.wd-param-card-note {
  padding: 10px 16px;
  background: var(--wd-gray-50);
  border-top: 1px solid var(--wd-gray-200);
  font-size: 0.78rem;
  color: var(--wd-gray-600);
  line-height: 1.5;
}

/* Note */
.wd-note {
  font-size: 0.8125rem;
  color: var(--wd-gray-500);
  margin: 14px 0;
  line-height: 1.6;
}

/* Compat tags */
.wd-compat-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0;
}
.wd-compat-tag {
  font-size: 0.875rem;
  font-weight: 500;
  padding: 6px 14px;
  border-radius: 4px;
}
.wd-compat-tag--active {
  background: var(--wd-primary);
  color: #fff;
  font-weight: 700;
  border: 1px solid var(--wd-primary);
}
.wd-compat-tag--info {
  background: var(--wd-gray-100);
  color: var(--wd-gray-600);
  border: 1px solid var(--wd-gray-300);
}

/* Related Grid */
.wd-related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 16px;
}
.wd-related-item {
  display: block;
  border: 1px solid var(--wd-gray-200);
  border-radius: 10px;
  padding: 14px;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.2s;
}
.wd-related-item:hover {
  box-shadow: 0 2px 12px rgba(93,64,55,0.12);
}
.wd-related-item--trial {
  border-color: #d0c9e0;
  background: #f0ecf6;
}
.wd-related-badge {
  display: inline-block;
  background: var(--wd-accent);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  margin-bottom: 6px;
}
.wd-related-name {
  font-weight: 700;
  font-size: 0.85rem;
  margin-bottom: 2px;
}
.wd-related-desc {
  font-size: 0.75rem;
  color: var(--wd-gray-500);
}
.wd-related-price {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--wd-primary);
  margin-top: 6px;
}

/* FAQ */
.wd-faq-list { margin-top: 16px; }
.wd-faq-item {
  border: 1px solid var(--wd-gray-200);
  border-radius: 10px;
  margin-bottom: 10px;
  overflow: hidden;
}
.wd-faq-q {
  padding: 16px 20px;
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--wd-gray-800);
  cursor: pointer;
  list-style: none;
}
.wd-faq-q::-webkit-details-marker { display: none; }
.wd-faq-q::before {
  content: "Q. ";
  color: var(--wd-primary);
  font-weight: 800;
}
.wd-faq-a {
  padding: 0 20px 16px;
  font-size: 0.9rem;
  color: var(--wd-gray-600);
  line-height: 1.7;
}

/* CTA */
.wd-cta-box {
  background: linear-gradient(135deg, #f0ecf6 0%, #e4dff0 100%);
  color: var(--wd-gray-800);
  border-radius: var(--wd-radius-xl);
  padding: 36px 28px;
  text-align: center;
  margin: 40px 0;
}
.wd-cta-box h2 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 6px 0;
  color: var(--wd-gray-900);
  line-height: 1.5;
}
.wd-cta-box > p {
  font-size: 0.875rem;
  color: var(--wd-gray-600);
  margin: 0 0 20px 0;
}
.wd-cta-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 340px;
  margin: 0 auto;
}
.wd-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 20px;
  border-radius: var(--wd-radius);
  font-size: 0.9375rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.25s ease;
  cursor: pointer;
  border: none;
  font-family: var(--wd-font);
}
.wd-cta-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.15); }
.wd-cta-btn--primary {
  background: var(--wd-primary);
  color: #fff;
}
.wd-cta-btn--secondary {
  background: var(--wd-white);
  color: var(--wd-primary);
  border: 2px solid var(--wd-primary-light);
}
.wd-cta-btn--secondary:hover {
  color: var(--wd-primary-dark);
  background: var(--wd-gray-50);
}
.wd-cta-note {
  font-size: 0.75rem;
  color: var(--wd-gray-500);
  margin-top: 12px;
}

/* Sticky CTA */
.wd-sticky-cta {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: var(--wd-white);
  border-top: 1px solid var(--wd-gray-200);
  padding: 10px 16px;
  z-index: 9999;
  box-shadow: 0 -2px 8px rgba(0,0,0,0.06);
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.wd-sticky-price {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--wd-gray-800);
}
.wd-cta-btn--sm {
  padding: 10px 18px;
  font-size: 0.875rem;
  background: var(--wd-accent);
  color: #fff;
  border-radius: 6px;
}

/* ============================
   aishipR user.css 競合リセット
   ============================ */
.wd-product-detail h2 {
  color: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  font-size: inherit !important;
  line-height: inherit !important;
}
.wd-product-detail h3 {
  color: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  font-size: inherit !important;
}
.wd-product-detail p {
  margin: 0 !important;
  line-height: inherit !important;
}
.wd-product-detail span {
  display: inline !important;
  font-size: inherit !important;
}
.wd-product-detail a {
  font-weight: inherit !important;
}
.wd-product-detail a:hover img {
  opacity: 1 !important;
}

/* Hero override */
.wd-hero { color: var(--wd-gray-800) !important; }
.wd-hero h2, .wd-hero-title {
  color: var(--wd-gray-900) !important;
  font-size: 1.625rem !important;
  font-weight: 700 !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.4 !important;
}
.wd-hero-title small {
  color: var(--wd-gray-500) !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
}
.wd-hero p, .wd-hero-desc {
  color: var(--wd-gray-700) !important;
  margin: 0 !important;
  line-height: 1.75 !important;
}
.wd-label {
  color: var(--wd-primary) !important;
  display: inline-block !important;
  font-size: 0.8125rem !important;
}
.wd-feature-tag {
  color: var(--wd-primary) !important;
  display: inline-block !important;
  font-size: 0.8125rem !important;
}

/* CTA box override */
.wd-cta-box { color: var(--wd-gray-800) !important; }
.wd-cta-box h2 {
  color: var(--wd-gray-900) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.5 !important;
}
.wd-cta-box > p {
  color: var(--wd-gray-600) !important;
  margin: 0 0 20px 0 !important;
}
.wd-cta-note {
  color: var(--wd-gray-500) !important;
  margin-top: 12px !important;
}

/* Section titles override */
.wd-section-title {
  font-size: 1.375rem !important;
  font-weight: 700 !important;
  color: var(--wd-gray-800) !important;
  margin: 0 0 20px 0 !important;
}
.wd-section-label {
  display: inline-block !important;
  font-size: 0.8125rem !important;
  color: var(--wd-gray-500) !important;
}

/* Use Case cards override */
.wd-usecase-card h3 {
  font-size: 0.92rem !important;
  color: var(--wd-primary) !important;
  margin: 0 0 8px !important;
}
.wd-usecase-card p {
  font-size: 0.8rem !important;
  color: var(--wd-gray-600) !important;
  margin: 0 !important;
  line-height: 1.6 !important;
}

/* Feature cards override */
.wd-feature-card h3 {
  font-size: 0.95rem !important;
  color: var(--wd-primary) !important;
  margin: 0 0 8px !important;
}
.wd-feature-card p {
  font-size: 0.82rem !important;
  color: var(--wd-gray-600) !important;
  margin: 0 !important;
  line-height: 1.6 !important;
}

/* Spec divider override */
.wd-spec-divider td { color: #fff !important; }

/* Params section overrides */
.wd-params-badge {
  color: #fff !important;
  display: inline-block !important;
}
.wd-param-card--current .wd-param-size { color: #fff !important; }
.wd-param-current-label { color: #fff !important; display: inline-block !important; font-size: 0.72rem !important; }
.wd-param-label { display: block !important; font-size: 0.75rem !important; color: var(--wd-gray-500) !important; }
.wd-param-value { display: block !important; font-size: 1.05rem !important; }

/* Compat tags override */
.wd-compat-tag--active { color: #fff !important; }
.wd-compat-tag { display: inline-block !important; }

/* Related products override */
.wd-related-badge {
  color: #fff !important;
  display: inline-block !important;
  font-size: 0.72rem !important;
}
.wd-related-name { display: block !important; font-size: 0.85rem !important; }
.wd-related-desc { display: block !important; font-size: 0.75rem !important; }
.wd-related-price { display: block !important; font-size: 0.85rem !important; }

/* CTA buttons override */
.wd-cta-btn { font-weight: 700 !important; }
.wd-cta-box .wd-cta-btn--primary { color: #fff !important; }
.wd-cta-box .wd-cta-btn--secondary { color: var(--wd-primary) !important; }
.wd-cta-btn--sm { color: #fff !important; }

/* FAQ override */
.wd-faq-q {
  list-style: none !important;
  color: var(--wd-gray-800) !important;
}

/* Responsive */
@media (max-width: 640px) {
  .wd-product-detail { font-size: 0.9375rem; }
  .wd-hero { flex-direction: column; gap: 20px; padding: 24px 20px; border-radius: var(--wd-radius-lg); }
  .wd-hero-title { font-size: 1.375rem; }
  .wd-section-title { font-size: 1.1875rem; }
  .wd-usecase-grid { grid-template-columns: 1fr; }
  .wd-features-row { flex-direction: column; }
  .wd-related-grid { grid-template-columns: repeat(2, 1fr); }
  .wd-cta-box { padding: 28px 20px; border-radius: var(--wd-radius-lg); }
  .wd-feature-tag { font-size: 0.75rem; padding: 5px 10px; }
  .wd-sticky-cta { display: flex !important; }
  .wd-params-section { padding: 20px 16px; }
  .wd-param-cards { grid-template-columns: 1fr; }
  .wd-spec-table { font-size: 0.8125rem; }
  .wd-spec-table th, .wd-spec-table td { padding: 0.5rem 0.6rem; }
}

/* =============================================
   3DMedSupo 商品ページCSS 追加 2026-04-06
   ============================================= */
/* 3DMedSupo 商品ページ共通CSS */
/* FTP: /user-css/ or style.css に追加 */

:root {
  --ms-primary: #09b6ca;
  --ms-primary-dark: #0892A2;
  --ms-primary-darker: #066E7A;
  --ms-primary-pale: #E6F9FC;
  --ms-mint: #e2f5f6;
  --ms-gradient-start: #83cefd;
  --ms-gradient-end: #7affc9;
  --ms-accent: #FFF793;
  --ms-accent-light: #FFFBC8;
  --ms-cream: #FDF8F3;
  --ms-gray-50: #FAFAF9;
  --ms-gray-100: #F5F5F4;
  --ms-gray-200: #E7E5E4;
  --ms-gray-300: #D6D3D1;
  --ms-gray-400: #A8A29E;
  --ms-gray-500: #78716C;
  --ms-gray-600: #57534E;
  --ms-gray-700: #44403C;
  --ms-gray-800: #292524;
  --ms-gray-900: #1C1917;
  --ms-success: #10B981;
  --ms-error: #EF4444;
  --ms-white: #ffffff;
  --ms-radius: 0.625rem;
  --ms-radius-lg: 1rem;
  --ms-radius-xl: 1.5rem;
  --ms-shadow: 0 2px 8px rgba(0,0,0,0.06), 0 0 1px rgba(0,0,0,0.1);
  --ms-font: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', sans-serif;
  --ms-max-width: 780px;
  --ms-img-base: 'https://i-maker.aispr.jp/3dmedsupo/images';
}

.ms-product-detail {
  font-family: var(--ms-font);
  color: var(--ms-gray-700);
  line-height: 1.9;
  font-size: 1.0625rem;
  max-width: var(--ms-max-width);
  margin: 0 auto;
  -webkit-font-smoothing: antialiased;
}
.ms-product-detail *, .ms-product-detail *::before, .ms-product-detail *::after { box-sizing: border-box; }
.ms-product-detail img { max-width: 100%; height: auto; }
.ms-product-detail a { color: var(--ms-primary-darker); text-decoration: none; }
.ms-product-detail a:hover { color: var(--ms-primary-dark); }


/* ===== Section ===== */
.ms-section { margin: 48px 0; }
.ms-section-label {
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ms-primary);
  margin-bottom: 6px;
}
.ms-section-title {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--ms-gray-800);
  margin: 0 0 20px 0;
  line-height: 1.3;
}


/* ===== Hero (gradient like brand site) ===== */
.ms-hero {
  background: linear-gradient(135deg, var(--ms-gradient-start) 0%, var(--ms-gradient-end) 100%);
  color: var(--ms-gray-900);
  border-radius: var(--ms-radius-xl);
  padding: 36px 32px;
  margin-bottom: 28px;
}
.ms-hero-label {
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  background: rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,0.1);
  padding: 4px 14px;
  border-radius: 4px;
  margin-bottom: 14px;
  color: var(--ms-gray-700);
}
.ms-hero h2 {
  font-size: 1.625rem;
  font-weight: 700;
  margin: 0 0 12px 0;
  line-height: 1.4;
  color: var(--ms-gray-900);
}
.ms-hero p {
  font-size: 0.9375rem;
  margin: 0;
  color: var(--ms-gray-700);
  line-height: 1.75;
}
.ms-hero-inner {
  display: flex;
  align-items: center;
  gap: 28px;
}
.ms-hero-text { flex: 1; }
.ms-hero-img {
  flex-shrink: 0;
  width: 220px;
}
.ms-hero-img img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.1));
}

/* Feature Tags inside hero */
.ms-features {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}
.ms-feature-tag {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--ms-gray-700);
  background: rgba(255,255,255,0.55);
  border: 1px solid rgba(255,255,255,0.7);
  padding: 6px 14px;
  border-radius: 4px;
}


/* ===== Campaign Box (yellow accent from brand) ===== */
.ms-campaign {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: var(--ms-accent-light);
  border: 1px solid #f5ed6b;
  border-radius: var(--ms-radius);
  padding: 20px 24px;
  margin: 24px 0;
}
.ms-campaign-icon {
  flex-shrink: 0;
  width: 72px;
}
.ms-campaign-icon img {
  width: 100%;
  height: auto;
}
.ms-campaign-text { flex: 1; }
.ms-campaign-text strong {
  display: block;
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--ms-gray-800);
  margin-bottom: 4px;
}
.ms-campaign-text p {
  margin: 0;
  font-size: 0.875rem;
  color: var(--ms-gray-600);
  line-height: 1.7;
}


/* ===== Set Contents ===== */
.ms-set-contents {
  background: var(--ms-mint);
  border-radius: var(--ms-radius-lg);
  padding: 28px;
  margin: 24px 0;
}
.ms-set-contents h3 {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--ms-gray-800);
  margin: 0 0 16px 0;
}
.ms-set-photo {
  margin-bottom: 20px;
  border-radius: var(--ms-radius);
  overflow: hidden;
}
.ms-set-photo img {
  width: 100%;
  height: auto;
  display: block;
}
.ms-set-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}
.ms-set-item:last-child { border-bottom: none; padding-bottom: 0; }
.ms-set-item-num {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  background: var(--ms-primary);
  color: var(--ms-white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 700;
}
.ms-set-item-text { flex: 1; }
.ms-set-item-text strong {
  display: block;
  font-size: 0.9375rem;
  color: var(--ms-gray-800);
  margin-bottom: 2px;
}
.ms-set-item-text span {
  font-size: 0.8125rem;
  color: var(--ms-gray-500);
  line-height: 1.6;
}


/* ===== About with image ===== */
.ms-about-visual {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 20px;
}
.ms-about-visual-img {
  flex-shrink: 0;
  width: 140px;
}
.ms-about-visual-img img {
  width: 100%;
  height: auto;
}
.ms-about-visual-text { flex: 1; }


/* ===== Comparison Table ===== */
.ms-comparison-visual {
  text-align: center;
  margin-bottom: 20px;
}
.ms-comparison-visual img {
  max-width: 320px;
  height: auto;
}
.ms-comparison {
  width: 100%;
  border-collapse: separate;
  border-spacing: 6px 0;
  margin: 20px 0;
  font-size: 0.9375rem;
}
.ms-comparison th, .ms-comparison td {
  padding: 1rem 1.1rem;
  text-align: center;
  border-bottom: 1px solid var(--ms-gray-200);
}
.ms-comparison thead th {
  font-weight: 700;
  padding: 1.1rem;
  background: var(--ms-gray-50);
  color: var(--ms-gray-800);
  font-size: 1rem;
}
.ms-comparison thead th:last-child {
  background: var(--ms-primary);
  color: var(--ms-white);
}
.ms-comparison tbody td:first-child {
  font-weight: 600;
  text-align: left;
  background: var(--ms-gray-50);
  color: var(--ms-gray-700);
}
.ms-comparison tbody td:nth-child(2) {
  background: var(--ms-gray-100);
  color: var(--ms-gray-600);
}
.ms-comparison tbody td:last-child {
  background: var(--ms-mint);
  color: var(--ms-primary-darker);
  font-weight: 500;
}
.ms-comparison tbody tr:last-child td { border-bottom: none; }

/* Positive/Negative badges in comparison */
.ms-badge-pos {
  display: inline-block;
  background: var(--ms-accent);
  color: var(--ms-gray-800);
  padding: 2px 8px;
  border-radius: 20px;
  font-size: 0.8125rem;
  font-weight: 600;
}
.ms-badge-neg {
  display: inline-block;
  background: var(--ms-gray-400);
  color: var(--ms-white);
  padding: 2px 8px;
  border-radius: 20px;
  font-size: 0.8125rem;
  font-weight: 600;
}


/* ===== Compatibility Tags ===== */
.ms-compat-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0;
}
.ms-compat-tag {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--ms-gray-700);
  background: var(--ms-gray-50);
  border: 1px solid var(--ms-gray-200);
  padding: 6px 14px;
  border-radius: 4px;
}


/* ===== Steps ===== */
.ms-steps { margin: 20px 0; }
.ms-step {
  display: flex;
  gap: 16px;
  margin-bottom: 20px;
  position: relative;
}
.ms-step::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 38px;
  bottom: -20px;
  width: 2px;
  background: var(--ms-primary-pale);
}
.ms-step:last-child::before { display: none; }
.ms-step-num {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  background: var(--ms-primary);
  color: var(--ms-white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9375rem;
  font-weight: 700;
  position: relative;
  z-index: 1;
}
.ms-step-content { flex: 1; padding-top: 3px; }
.ms-step-content h4 {
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 2px 0;
  color: var(--ms-gray-800);
}
.ms-step-content p {
  font-size: 0.875rem;
  margin: 0;
  color: var(--ms-gray-500);
  line-height: 1.7;
}
.ms-step-icon {
  flex-shrink: 0;
  width: 56px;
  display: flex;
  align-items: flex-start;
  padding-top: 2px;
}
.ms-step-icon img {
  width: 100%;
  height: auto;
}


/* ===== Flow Visual ===== */
.ms-flow-visual {
  margin: 24px 0 8px;
  text-align: center;
}
.ms-flow-visual img {
  width: 100%;
  max-width: 680px;
  height: auto;
}


/* ===== Note Box ===== */
.ms-note-box {
  background: var(--ms-cream);
  border-radius: var(--ms-radius);
  padding: 18px 22px;
  margin: 24px 0;
  font-size: 0.9375rem;
  line-height: 1.8;
  color: var(--ms-gray-700);
}
.ms-note-box strong { color: var(--ms-primary-darker); }


/* ===== Case Study (compact with photo) ===== */
.ms-cases-compact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 20px 0;
}
.ms-case-compact {
  background: var(--ms-gray-50);
  border: 1px solid var(--ms-gray-200);
  border-radius: var(--ms-radius);
  padding: 18px;
}
.ms-case-compact-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}
.ms-case-compact-photo {
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--ms-primary-pale);
}
.ms-case-compact-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ms-case-compact-info { flex: 1; }
.ms-case-compact-meta {
  font-size: 0.75rem;
  color: var(--ms-primary);
  margin-bottom: 2px;
  font-weight: 600;
  letter-spacing: 0.04em;
}
.ms-case-compact-name {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--ms-gray-800);
  line-height: 1.3;
}
.ms-case-compact-role {
  font-weight: 400;
  font-size: 0.75rem;
  color: var(--ms-gray-400);
}
.ms-case-compact blockquote {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.7;
  color: var(--ms-gray-600);
  font-style: normal;
}


/* ===== Spec Table ===== */
.ms-spec-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 0.9375rem;
}
.ms-spec-table th, .ms-spec-table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--ms-gray-200);
  text-align: left;
}
.ms-spec-table th {
  width: 28%;
  background: var(--ms-gray-50);
  font-weight: 600;
  color: var(--ms-gray-700);
}


/* ===== FAQ ===== */
.ms-faq-item { border-bottom: 1px solid var(--ms-gray-200); }
.ms-faq-q {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 0;
  background: none;
  cursor: pointer;
  border: none;
  width: 100%;
  text-align: left;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--ms-gray-800);
  font-family: var(--ms-font);
}
.ms-faq-q:hover { opacity: 0.7; }
.ms-faq-q-label {
  flex-shrink: 0;
  font-size: 0.875rem;
  font-weight: 800;
  color: var(--ms-primary);
  width: 24px;
}
.ms-faq-q-text { flex: 1; }
.ms-faq-q-arrow {
  flex-shrink: 0;
  font-size: 0.75rem;
  color: var(--ms-gray-400);
  transition: transform 0.3s;
}
.ms-faq-item.is-open .ms-faq-q-arrow { transform: rotate(180deg); }
.ms-faq-a {
  display: none;
  padding: 0 0 16px 36px;
  font-size: 0.9375rem;
  line-height: 1.8;
  color: var(--ms-gray-600);
}
.ms-faq-item.is-open .ms-faq-a { display: block; }


/* ===== CTA (gradient like brand) ===== */
.ms-cta-box {
  background: linear-gradient(135deg, var(--ms-gradient-start) 0%, var(--ms-gradient-end) 100%);
  color: var(--ms-gray-900);
  border-radius: var(--ms-radius-xl);
  padding: 36px 28px;
  text-align: center;
  margin: 40px 0;
}
.ms-cta-box h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 6px 0;
  color: var(--ms-gray-900);
}
.ms-cta-box p {
  font-size: 0.875rem;
  color: var(--ms-gray-600);
  margin: 0 0 20px 0;
}
.ms-cta-buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 340px;
  margin: 0 auto;
}
.ms-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 20px;
  border-radius: var(--ms-radius);
  font-size: 0.9375rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.25s ease;
  cursor: pointer;
  border: none;
  font-family: var(--ms-font);
}
.ms-cta-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.ms-cta-btn--primary {
  background: var(--ms-white);
  color: var(--ms-gray-800);
}
.ms-cta-btn--secondary {
  background: rgba(255,255,255,0.45);
  color: var(--ms-gray-700);
  border: 1px solid rgba(255,255,255,0.6);
}


/* ===== Notice ===== */
.ms-notice {
  font-size: 0.8125rem;
  color: var(--ms-gray-500);
  margin: 14px 0;
  line-height: 1.6;
}


/* ===== Sticky CTA (Mobile) ===== */
.ms-sticky-cta {
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: var(--ms-white);
  border-top: 1px solid var(--ms-gray-200);
  padding: 10px 16px;
  z-index: 9999;
  box-shadow: 0 -2px 8px rgba(0,0,0,0.06);
}
.ms-sticky-cta-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: var(--ms-max-width);
  margin: 0 auto;
}
.ms-sticky-cta-price {
  flex: 1;
  font-size: 0.8125rem;
  color: var(--ms-gray-500);
}
.ms-sticky-cta-price strong {
  display: block;
  font-size: 1.125rem;
  color: var(--ms-gray-800);
  font-weight: 800;
}
.ms-sticky-cta-btn {
  flex-shrink: 0;
  background: var(--ms-primary);
  color: var(--ms-white);
  border: none;
  padding: 11px 22px;
  border-radius: var(--ms-radius);
  font-size: 0.9375rem;
  font-weight: 700;
  cursor: pointer;
  font-family: var(--ms-font);
  text-decoration: none;
}


/* ===== Responsive ===== */
@media (max-width: 640px) {
  .ms-product-detail { font-size: 0.9375rem; }
  .ms-hero { padding: 24px 20px; border-radius: var(--ms-radius-lg); }
  .ms-hero h2 { font-size: 1.375rem; }
  .ms-hero-inner { flex-direction: column; gap: 20px; }
  .ms-hero-img { width: 160px; margin: 0 auto; }
  .ms-section-title { font-size: 1.1875rem; }
  .ms-comparison { font-size: 0.8125rem; border-spacing: 4px 0; }
  .ms-comparison th, .ms-comparison td { padding: 0.75rem 0.5rem; }
  .ms-trust-banner { font-size: 0.8125rem; padding: 12px 16px; }
  .ms-cases-compact { grid-template-columns: 1fr; }
  .ms-set-contents { padding: 20px 16px; }
  .ms-campaign { flex-direction: column; gap: 12px; padding: 16px 18px; }
  .ms-campaign-icon { width: 56px; }
  .ms-cta-box { padding: 28px 20px; border-radius: var(--ms-radius-lg); }
  .ms-sticky-cta { display: block; }
  .ms-feature-tag { font-size: 0.75rem; padding: 5px 10px; }
  .ms-faq-q { font-size: 0.875rem; }
  .ms-about-visual { flex-direction: column; align-items: center; }
  .ms-about-visual-img { width: 120px; }
  .ms-comparison-visual img { max-width: 240px; }
  .ms-step-icon { width: 44px; }
  .ms-case-compact-photo { width: 44px; height: 44px; }
}


/* ===== Hero Brand ===== */
.ms-hero-brand {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--ms-gray-600);
  margin-bottom: 8px;
}


/* ===== Trust Banner ===== */
.ms-trust-banner {
  margin: 20px 0;
  padding: 14px 24px;
  background: linear-gradient(135deg, var(--ms-primary) 0%, #065a6e 100%);
  border-radius: var(--ms-radius-lg);
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.02em;
  line-height: 1.6;
  box-shadow: 0 4px 20px rgba(9,182,202,0.25);
}
.ms-trust-banner-num {
  font-size: 1.25rem;
  font-weight: 800;
}
.ms-trust-banner-zero {
  font-size: 1.25rem;
  font-weight: 800;
  color: #ffd600;
}


/* ===== Industry Tags ===== */
.ms-industry-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 16px 0;
}
.ms-industry-tag {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--ms-gray-700);
  background: var(--ms-mint);
  border: 1px solid rgba(9,182,202,0.2);
  padding: 8px 16px;
  border-radius: 20px;
}


/* ===== Urgency Box ===== */
.ms-urgency-box {
  background: var(--ms-cream);
  border-radius: var(--ms-radius-lg);
  padding: 28px;
}
.ms-urgency-items {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ms-urgency-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 18px;
  background: var(--ms-white);
  border-radius: var(--ms-radius);
  border: 1px solid var(--ms-gray-200);
}
.ms-urgency-icon {
  flex-shrink: 0;
  font-size: 1.25rem;
  width: 32px;
  text-align: center;
  padding-top: 2px;
}
.ms-urgency-text { flex: 1; }
.ms-urgency-text strong {
  display: block;
  font-size: 0.9375rem;
  color: var(--ms-gray-800);
  margin-bottom: 4px;
}
.ms-urgency-text p {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--ms-gray-600);
  line-height: 1.7;
}


/* ===== Related Sets (Cross-links) ===== */
.ms-related-sets {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 16px 0;
}
.ms-related-set {
  display: block;
  padding: 14px 16px;
  background: var(--ms-gray-50);
  border: 1px solid var(--ms-gray-200);
  border-radius: var(--ms-radius);
  text-decoration: none;
  transition: all 0.2s;
}
.ms-related-set:hover {
  border-color: var(--ms-primary);
  background: var(--ms-mint);
}
.ms-related-set--current {
  border-color: var(--ms-primary);
  background: var(--ms-mint);
  pointer-events: none;
}
.ms-related-set--current::after {
  content: "（このページ）";
  font-size: 0.6875rem;
  color: var(--ms-primary);
  font-weight: 600;
}
.ms-related-set-name {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--ms-gray-800);
  margin-bottom: 2px;
}
.ms-related-set-desc {
  font-size: 0.75rem;
  color: var(--ms-gray-500);
  margin-bottom: 4px;
}
.ms-related-set-price {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--ms-primary);
}


/* ===== Sample CTA Button ===== */
.ms-cta-btn--sample {
  background: var(--ms-accent);
  color: var(--ms-gray-800);
  font-size: 1rem;
  padding: 14px 20px;
}


/* ===== Seller Profile ===== */
.ms-seller-profile {
  text-align: center;
  margin: 10px 0 16px;
}
.ms-seller-profile p {
  font-size: 0.8125rem;
  color: var(--ms-gray-500);
  margin: 0;
  line-height: 1.6;
}


/* ===== Responsive additions ===== */
@media (max-width: 640px) {
  .ms-related-sets { grid-template-columns: 1fr; }
  .ms-urgency-item { flex-direction: column; gap: 8px; padding: 12px 14px; }
  .ms-trust-banner { font-size: 0.8125rem; padding: 12px 16px; } .ms-trust-banner-num, .ms-trust-banner-zero { font-size: 1.0625rem; }
  .ms-industry-tags { gap: 6px; }
  .ms-industry-tag { font-size: 0.75rem; padding: 6px 12px; }
}

/* ===== Pricing Summary Card ===== */
.ms-pricing-summary {
  background: var(--ms-mint);
  border: 2px solid var(--ms-primary);
  border-radius: var(--ms-radius-lg);
  padding: 28px 24px;
  margin: 20px 0;
  text-align: center;
  position: relative;
  box-shadow: 0 4px 16px rgba(9, 182, 202, 0.15);
}
.ms-pricing-summary-badge {
  position: absolute;
  top: -13px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--ms-accent);
  color: var(--ms-gray-800);
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 4px 18px;
  border-radius: 20px;
  white-space: nowrap;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}
.ms-pricing-summary-amount {
  font-size: 2rem;
  font-weight: 800;
  color: var(--ms-gray-900);
  line-height: 1.3;
  margin: 0 0 2px 0;
}
.ms-pricing-summary-amount span {
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--ms-gray-500);
}
.ms-pricing-summary-tax {
  font-size: 0.8125rem;
  color: var(--ms-gray-400);
  margin: 0 0 12px 0;
}
.ms-pricing-summary-per {
  display: block;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--ms-primary-darker);
  background: rgba(255,255,255,0.7);
  border-radius: var(--ms-radius);
  padding: 10px 14px;
  margin: 0 0 14px 0;
}
.ms-pricing-summary-per strong {
  color: var(--ms-primary);
  font-weight: 800;
}
.ms-pricing-summary-link {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ms-primary-darker);
  border-top: 1px solid rgba(9, 182, 202, 0.2);
  padding-top: 12px;
  margin-top: 2px;
}
.ms-pricing-summary-link:hover {
  color: var(--ms-primary);
}


/* ===== Cost Calculation Box ===== */
.ms-cost-calc {
  background: var(--ms-cream);
  border-radius: var(--ms-radius-lg);
  padding: 28px;
  margin: 24px 0;
}
.ms-cost-calc h3 {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--ms-gray-800);
  margin: 0 0 16px 0;
}
.ms-cost-calc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
  margin-bottom: 16px;
}
.ms-cost-calc-table th,
.ms-cost-calc-table td {
  padding: 10px 14px;
  text-align: left;
  border-bottom: 1px solid var(--ms-gray-200);
}
.ms-cost-calc-table th {
  font-weight: 600;
  color: var(--ms-gray-700);
  width: 40%;
}
.ms-cost-calc-table td {
  text-align: right;
  color: var(--ms-gray-800);
}
.ms-cost-calc-table tr.ms-cost-calc-total td {
  font-weight: 800;
  font-size: 1.0625rem;
  color: var(--ms-primary-darker);
  border-bottom: none;
}
.ms-cost-calc-table tr.ms-cost-calc-total th {
  font-weight: 800;
  color: var(--ms-primary-darker);
  border-bottom: none;
}
.ms-cost-calc-note {
  font-size: 0.875rem;
  color: var(--ms-gray-600);
  line-height: 1.7;
  margin: 0;
  padding-top: 8px;
  border-top: 1px dashed var(--ms-gray-300);
}
.ms-cost-calc-note strong {
  color: var(--ms-primary-darker);
}


/* ===== PDF List ===== */
.ms-pdf-list {
  margin: 20px 0 0 0;
  padding: 0;
  list-style: none;
}
.ms-pdf-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  font-size: 0.875rem;
  color: var(--ms-gray-600);
  line-height: 1.7;
}
.ms-pdf-list li:last-child { border-bottom: none; }
.ms-pdf-list li::before {
  content: ""; display: inline-block; width: 1em; height: 1em; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3C/svg%3E"); background-size: contain; background-repeat: no-repeat; vertical-align: middle;
  flex-shrink: 0;
  font-size: 1rem;
}
.ms-pdf-list li strong {
  color: var(--ms-gray-800);
}


/* ===== Fit Section ===== */
.ms-fit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 20px 0;
}
.ms-fit-item {
  background: var(--ms-gray-50);
  border: 1px solid var(--ms-gray-200);
  border-radius: var(--ms-radius);
  padding: 18px;
}
.ms-fit-item-title {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--ms-gray-800);
  margin: 0 0 6px 0;
}
.ms-fit-item-desc {
  font-size: 0.8125rem;
  color: var(--ms-gray-600);
  line-height: 1.7;
  margin: 0;
}


/* ===== Pricing Summary ===== */
.ms-pricing-summary {
  background: var(--ms-mint);
  border: 2px solid var(--ms-primary);
  border-radius: var(--ms-radius-lg);
  padding: 28px 24px;
  margin: 20px 0;
  text-align: center;
  position: relative;
  box-shadow: 0 4px 16px rgba(9, 182, 202, 0.15);
}
.ms-pricing-summary-badge {
  position: absolute;
  top: -13px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--ms-accent);
  color: var(--ms-gray-800);
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 4px 18px;
  border-radius: 20px;
  white-space: nowrap;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}
.ms-pricing-summary-amount {
  font-size: 2rem;
  font-weight: 800;
  color: var(--ms-gray-900);
  line-height: 1.3;
  margin: 0 0 2px 0;
}
.ms-pricing-summary-amount span {
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--ms-gray-500);
}
.ms-pricing-summary-tax {
  font-size: 0.8125rem;
  color: var(--ms-gray-400);
  margin: 0 0 12px 0;
}
.ms-pricing-summary-per {
  display: block;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--ms-primary-darker);
  background: rgba(255,255,255,0.7);
  border-radius: var(--ms-radius);
  padding: 10px 14px;
  margin: 0 0 14px 0;
}
.ms-pricing-summary-per strong {
  color: var(--ms-primary);
  font-weight: 800;
}
.ms-pricing-summary-link {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ms-primary-darker);
  border-top: 1px solid rgba(9, 182, 202, 0.2);
  padding-top: 12px;
  margin-top: 2px;
}
.ms-pricing-summary-link:hover {
  color: var(--ms-primary);
}


/* ===== Compatibility Info Box ===== */
.ms-compat-info {
  background: var(--ms-mint);
  border-radius: var(--ms-radius-lg);
  padding: 24px 28px;
  margin: 24px 0;
}
.ms-compat-info h3 {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--ms-gray-800);
  margin: 0 0 16px 0;
}
.ms-compat-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.ms-compat-info-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.9375rem;
  color: var(--ms-gray-700);
  line-height: 1.6;
}
.ms-compat-info-item::before {
  content: "\2713";
  flex-shrink: 0;
  color: var(--ms-primary);
  font-weight: 700;
  font-size: 1rem;
}

/* ============================================
   [法人ご購入ガイド] 2026-04-08
   /f/houjin-flow フリーページ用
   prefix: hf- (houjin-flow)
   ============================================ */

/* --- Variables --- */
:root {
  --hf-color-accent: #3d4852;
  --hf-color-accent-light: #F5F5F4;
}

/* --- Page Header --- */
.hf-page-header {
  text-align: center;
  padding: 40px 20px 32px;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 4px;
  margin-bottom: 30px;
}

.hf-page-header__title {
  font-size: 30px;
  font-weight: bold;
  color: #1a1a1a;
  margin-bottom: 12px;
  line-height: 1.4;
}

.hf-page-header__lead {
  font-size: 15px;
  color: #555;
  line-height: 1.7;
}

@media (max-width: 767px) {
  .hf-page-header {
    padding: 28px 16px 24px;
  }
  .hf-page-header__title {
    font-size: 24px;
  }
}

/* --- Anchor Nav --- */
.hf-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 40px;
  padding: 0;
}

.hf-nav__item {
  display: inline-block;
  padding: 8px 16px;
  background: #fff;
  border: 1px solid #707070;
  border-radius: 2px;
  font-size: 13px;
  font-weight: 500;
  color: #1a1a1a;
  transition: 0.3s ease;
}

.hf-nav__item:hover {
  background: var(--hf-color-accent);
  color: #fff;
  border-color: var(--hf-color-accent);
  opacity: 1;
}

@media (max-width: 767px) {
  .hf-nav {
    gap: 6px;
  }
  .hf-nav__item {
    padding: 7px 12px;
    font-size: 12px;
  }
}

/* --- Section --- */
.hf-section {
  margin-bottom: 48px;
}

.hf-section__title {
  font-size: 20px;
  font-weight: bold;
  color: var(--hf-color-accent);
  padding-bottom: 12px;
  border-bottom: 2px solid var(--hf-color-accent);
  margin-bottom: 24px;
}

.hf-section__desc {
  font-size: 14px;
  color: #555;
  margin-bottom: 24px;
  line-height: 1.8;
}

/* --- 3 Method Cards --- */
.hf-methods {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 30px;
}

@media (max-width: 767px) {
  .hf-methods {
    grid-template-columns: 1fr;
  }
}

.hf-method {
  background: #fff;
  border: 1px solid #dcdcdc;
  border-radius: 4px;
  padding: 24px;
  text-align: center;
  transition: 0.3s ease;
}

.hf-method:hover {
  border-color: var(--hf-color-accent);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.hf-method__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: var(--hf-color-accent);
  color: #fff;
  border-radius: 50%;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 12px;
}

.hf-method__title {
  font-size: 16px;
  font-weight: bold;
  color: #1a1a1a;
  margin-bottom: 8px;
}

.hf-method__desc {
  font-size: 13px;
  color: #555;
  line-height: 1.6;
}

.hf-method__recommend {
  display: inline-block;
  font-size: 11px;
  font-weight: bold;
  background: #fef3c7;
  color: #92400e;
  padding: 3px 10px;
  border-radius: 100vh;
  margin-top: 12px;
}

/* --- Step Flow --- */
.hf-steps {
  display: flex;
  gap: 0;
  align-items: flex-start;
  margin-bottom: 24px;
}

@media (max-width: 767px) {
  .hf-steps {
    flex-direction: column;
  }
}

.hf-step {
  flex: 1;
  text-align: center;
  padding: 0 8px;
}

.hf-step__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: var(--hf-color-accent);
  color: #fff;
  border-radius: 50%;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 8px;
}

.hf-step__title {
  font-size: 14px;
  font-weight: bold;
  color: #1a1a1a;
  margin-bottom: 4px;
}

.hf-step__desc {
  font-size: 12px;
  color: #555;
  line-height: 1.6;
}

.hf-step__arrow {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding-top: 12px;
  color: #707070;
  font-size: 20px;
}

@media (max-width: 767px) {
  .hf-step__arrow {
    transform: rotate(90deg);
    justify-content: center;
    padding: 4px 0;
  }
}

/* --- Trust Grid --- */
.hf-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}

@media (max-width: 767px) {
  .hf-trust-grid {
    grid-template-columns: 1fr;
  }
}

.hf-trust-item {
  background: var(--hf-color-accent-light);
  border-radius: 4px;
  padding: 16px 24px;
  text-align: center;
}

.hf-trust-item__label {
  font-size: 12px;
  color: #555;
  margin-bottom: 4px;
}

.hf-trust-item__value {
  font-size: 18px;
  font-weight: bold;
  color: var(--hf-color-accent);
}

.hf-trust-item__value--large {
  font-size: 28px;
}

/* --- Table --- */
.hf-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 24px;
  font-size: 14px;
}

.hf-table th,
.hf-table td {
  padding: 12px 16px;
  border: 1px solid #dcdcdc;
  text-align: left;
  vertical-align: top;
}

.hf-table th {
  background: var(--hf-color-accent-light);
  font-weight: bold;
  color: var(--hf-color-accent);
  white-space: nowrap;
  width: 160px;
}

.hf-table td {
  background: #fff;
}

@media (max-width: 767px) {
  .hf-table th {
    width: 110px;
    padding: 10px 12px;
    font-size: 13px;
  }
  .hf-table td {
    padding: 10px 12px;
    font-size: 13px;
  }
}

/* --- Check List --- */
.hf-checklist {
  padding: 0;
  margin: 0 0 24px 0;
}

.hf-checklist__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 0;
  font-size: 14px;
  color: #1a1a1a;
  border-bottom: 1px solid #f0f0f0;
}

.hf-checklist__item:last-child {
  border-bottom: none;
}

.hf-checklist__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  background: var(--hf-color-accent);
  color: #fff;
  border-radius: 50%;
  font-size: 11px;
  flex-shrink: 0;
  margin-top: 2px;
}

/* --- University/Gov Special Box --- */
.hf-special-box {
  background: linear-gradient(135deg, #edf2f7 0%, #e2e8f0 100%);
  border: 2px solid #cbd5e0;
  border-radius: 4px;
  padding: 30px;
  margin-bottom: 24px;
}

.hf-special-box__title {
  font-size: 18px;
  font-weight: bold;
  color: var(--hf-color-accent);
  margin-bottom: 16px;
  text-align: center;
}

.hf-special-box__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

@media (max-width: 767px) {
  .hf-special-box {
    padding: 20px 16px;
  }
  .hf-special-box__grid {
    grid-template-columns: 1fr;
  }
}

.hf-special-box__card {
  background: #fff;
  border-radius: 4px;
  padding: 16px;
}

.hf-special-box__card-title {
  font-size: 14px;
  font-weight: bold;
  color: var(--hf-color-accent);
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #dcdcdc;
}

.hf-special-box__card-text {
  font-size: 13px;
  color: #555;
  line-height: 1.7;
}

/* --- FAQ --- */
.hf-faq {
  margin-bottom: 24px;
}

.hf-faq__item {
  border-bottom: 1px solid #dcdcdc;
}

.hf-faq__q {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 0;
  cursor: pointer;
  font-size: 14px;
  font-weight: bold;
  color: #1a1a1a;
}

.hf-faq__q-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: var(--hf-color-accent);
  color: #fff;
  border-radius: 50%;
  font-size: 13px;
  font-weight: bold;
  flex-shrink: 0;
}

.hf-faq__q-text {
  flex: 1;
}

.hf-faq__q-toggle {
  font-size: 18px;
  color: #888;
  transition: transform 0.3s;
  flex-shrink: 0;
}

.hf-faq__item.is-open .hf-faq__q-toggle {
  transform: rotate(180deg);
}

.hf-faq__a {
  display: none;
  padding: 0 0 16px 40px;
  font-size: 14px;
  color: #555;
  line-height: 1.8;
}

.hf-faq__item.is-open .hf-faq__a {
  display: block;
}

/* --- CTA Footer --- */
.hf-cta {
  background: var(--hf-color-accent-light);
  border-radius: 4px;
  padding: 30px;
  text-align: center;
  margin-top: 48px;
}

.hf-cta__title {
  font-size: 18px;
  font-weight: bold;
  color: var(--hf-color-accent);
  margin-bottom: 16px;
}

.hf-cta__buttons {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.hf-btn {
  display: inline-block;
  padding: 14px 32px;
  font-size: 15px;
  font-weight: bold;
  border-radius: 2px;
  transition: 0.3s ease;
  text-decoration: none;
}

.hf-btn:hover {
  opacity: 0.8;
}

.hf-btn--primary {
  background: #1473e6;
  color: #fff;
  border: none;
}

.hf-btn--outline {
  background: #fff;
  color: var(--hf-color-accent);
  border: 1px solid var(--hf-color-accent);
}

.hf-cta__phone {
  font-size: 14px;
  color: #555;
}

.hf-cta__phone-number {
  font-size: 22px;
  font-weight: bold;
  color: var(--hf-color-accent);
}

/* --- Links row --- */
.hf-links {
  display: flex;
  gap: 24px;
  margin-top: 16px;
  justify-content: center;
  font-size: 13px;
}

.hf-links a {
  color: #1473e6;
  text-decoration: underline;
}

/* --- Print --- */
@media print {
  .hf-nav { display: none; }
  .hf-faq__a { display: block !important; }
  .hf-cta { break-inside: avoid; }
}
