@media (max-width: 953px) {
  nav.header-nav {
    display: none;
  }

  .nav-toggle {
    display: block;
  }
}

@media (max-width: 768px) {
  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }

  body {
    font-size: 14px;
  }

  p {
    font-size: 14px;
  }

  header {
    height: var(--header-sp);
    padding: 0 var(--gap-sp);
  }

  .header-logo {
    height: var(--logo-sp);
  }

  .rockonpro {
    top: var(--header-sp);
    height: 44px;
    padding: 0 var(--gap-sp);
  }

  .rockonpro-inner {
    height: 44px;
  }

  .rockonpro-logo {
    font-size: 11px;
  }

  .sidebar {
    top: var(--header-sp);
    height: calc(100vh - var(--header-sp));
  }

  .sidebar-inner {
    height: calc(100vh - var(--header-sp));
  }

  .sidebar-content {
    min-height: calc(100vh - var(--header-sp));
  }

  .global-nav-wrapper ul.header-nav__list li {
    font-size: 14px;
  }

  .global-nav-wrapper ul.header-nav__list li>a {
    padding: 0 var(--gap-sp);
    height: 44px;
    line-height: 44px;
  }

  .global-nav-wrapper ul.header-nav__list li .megamenu-item {
    height: 44px;
    line-height: 44px;
    padding-left: 44px;
    font-size: 14px;
  }

  .global-nav-wrapper ul.header-nav__list li .megamenu-item a {
    padding-left: 38px;
  }

  .company img {
    height: 18.5px;
    margin-bottom: 18.5px;
  }

  .company p {
    font-size: 12px;
  }

  main {
    margin-top: 110px;
  }

  .container {
    padding: 0 var(--gap-sp);
  }

  .key-visual-inner {
    width: 100%;
    height: auto;
    max-height: 100% !important;
    padding: 55px 0;
    flex-direction: column;
    gap: 33px;
  }

  .key-visual-content {
    width: 100%;
    max-width: 100%;
    padding-right: 0;
    text-align: center;
  }

  .key-visual-content h2 {
    font-size: 42px;
  }

  .key-visual-content p {
    font-size: 17.5px;
  }

  .key-visual-image {
    width: 100%;
    height: auto;
    max-width: 331px;
  }

  section.storage-products {
    padding: 55px 0 33px 0;
  }

  ul.storage-products-list {
    max-width: 331px;
    margin: 0 auto;
    justify-content: center;
    gap: 33px;
    padding-bottom: 22px;
    flex-direction: column;
  }

  ul.storage-products-list li {
    width: 100%;
    max-width: 331px;
    margin: 0 auto;
  }

  .storage-products-list .product-description {
    padding-top: 1em;
  }

  .product-description p {
    font-size: 14px;
  }

  button.read-more.detail {
    margin-top: 22px;
  }

  button.read-more {
    width: 100%;
    max-width: 331px;
    height: 55px;
    font-size: 16px;
    line-height: 52px;
    padding: 0 22px;
    margin: 22px auto;
    margin-top: 22px;
  }

  ul.features-list li {
    width: calc(50% - 11px);
  }

  section.features {
    padding: 55px 0 33px 0;
  }

  section.storage-products h3,
  section.features h3,
  section.solutions h3,
  section.cases h3,
  section.contact-us h3,
  section.solutions-merit h3 {
    font-size: 28px;
    margin-bottom: 33px;
  }

  .features-description h4 {
    font-size: 17.5px;
  }

  .features-description p {
    font-size: 14px;
  }

  section.media-library {
    flex-direction: column;
    padding-bottom: 55px;
  }

  .media-library-image {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    max-width: 331px;
  }

  .media-library-description {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding: 0 var(--gap-sp);
    text-align: center;
  }

  .media-library-description .container {
    padding-left: 0;
    padding-right: 0;
    margin: 0 auto;
    text-align: left;
    max-width: 331px;
  }

  section.solutions {
    padding: 55px 0;
  }

  .solutions-item {
    width: 331px;
    padding: 0 11px;
  }

  .solutions-image {
    margin-bottom: 11px;
  }

  .solutions-title h4 {
    font-size: 17.5px;
  }

  ul.slick-dots {
    margin-top: 14px;
  }

  .wp-singular section.cases {
    padding: 33px 0 0 0;
  }

  .cases-title label {
    font-size: 12px;
    padding: 0 5.5px;
  }

  .cases-title h4 {
    font-size: 21px;
    font-weight: 700;
    line-height: 1.75;
    color: #fff;
  }

  section.contact-us {
    padding: 55px 0 33px;
  }

  footer {
    padding: 0 var(--gap-sp);
    text-align: center;
  }

  .copyright {
    font-size: 11px;
  }

  section.archive-products:first-child .archive-products-header {
    padding-top: 33px;
    height: auto;
  }

  .archive-products-title {
    width: 100%;
    height: auto;
    gap: 11px;
    margin-bottom: 11px;
  }

  .archive-products-logo {
    width: 44px;
    height: 44px;
  }

  .archive-products-name {
    width: auto;
    height: 22px;
  }

  .archive-products-image {
    width: 100%;
    height: 154px;
    max-width: 375px;
    margin: 0 auto;
  }

  section#cube .archive-products-image img {
    max-width: 331px;
    height: 220px;
    object-fit: contain;
  }

  .archive-products-header {
    width: 100%;
    height: auto;
    padding: 33px 0;
  }

  .archive-products-content {
    padding: 42px 0;
  }

  section.archive-products h1 {
    font-size: 21px;
  }

  section.archive-products h2 {
    font-size: 17.5px;
    margin-top: 42px;
    margin-bottom: 14px;
  }

  .archive-products-specs {
    padding: 15px 22px 22px 22px;
    margin-top: 42px;
    margin-bottom: 0;
  }

  section.archive-products h4,
  section.archive-features h4 {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.75;
    margin-top: 7px;
  }

  .archive-products-specs-details p {
    font-size: 13px;
    padding-left: 13px;
  }

  section.archive-features h1 {
    font-size: 21px;
    margin-bottom: 21px;
  }

  section.archive-media-library .archive-media-library-image img {
    height: auto;
    aspect-ratio: 2/1;
  }

  .archive-media-library-content {
    padding: 42px 0;
  }

  section.archive-media-library h1 {
    font-size: 21px;
    margin-bottom: 21px;
  }

  section.archive-media-library h4 {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.75;
    margin-top: 7px;
  }

  .archive-media-library-specs {
    padding: 15px 22px 22px 22px;
    margin-top: 42px;
    margin-bottom: 0;
  }

  section.visual {
    width: 100%;
    height: 330px;
    padding-top: 0;
  }

  section.visual label {
    overflow: hidden;
    position: relative;
    width: max-content;
    height: 22px;
    line-height: 22px;
    font-size: 16px;
    font-weight: 700;
    color: var(--color-font);
    background-color: var(--color-primary);
    padding: 0 5.5px;
    margin-bottom: 11px;
  }

  section.visual strong {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 28px;
    font-weight: 500;
    color: #fff;
    margin-bottom: 0;
    display: block;
  }

  .solutions-single-inner {
    width: 100%;
    height: auto;
    gap: 33px;
    flex-direction: column;
  }

  .solutions-single-title {
    width: 100%;
    height: auto;
  }

  .solutions-single-title h2 {
    font-size: 21px;
    text-align: center;
  }

  .solutions-single-description {
    width: 100%;
  }

  section.solutions-section {
    width: 100%;
    height: auto;
    padding: 55px 0 0 0;
    gap: 33px;
  }

  .solutions-section-item {
    flex-direction: column;
    gap: 33px;
    margin-bottom: 55px;
  }

  .solutions-section-item-image {
    width: 100%;
    height: auto;
    max-width: 331px;
    margin: 0 auto;
    order: 2;
  }

  .solutions-section-item-content {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    order: 1;
  }

  .solutions-section-item-content label {
    overflow: hidden;
    position: relative;
    width: max-content;
    height: 22px;
    display: inline-block;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.75;
    margin-bottom: 11px;
    background-color: var(--color-primary);
    color: var(--color-font);
    padding: 0 11px;
    line-height: 22px;
  }

  .solutions-section-item h3 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 22px;
  }

  .solutions-section-item p {
    font-size: 14px;
    font-weight: 400;
    line-height: 2;
    margin-bottom: 0;
  }

  section.cases-overview {
    padding: 55px 0;
  }

  .cases-overview-inner {
    flex-direction: column;
    gap: 22px;
  }

  .cases-logo {
    width: 100%;
  }

  section.cases-overview h1 {
    overflow: visible;
    position: relative;
    width: 100%;
    height: auto;
    font-size: 21px;
    font-weight: 900;
    line-height: 1.25;
    margin-bottom: 55px;
    text-align: center;
  }

  .cases-logo h1,
  .cases-logo img {
    width: 100%;
    max-width: 165px;
    height: auto;
    max-height: 110px;
    object-fit: contain;
    margin-bottom: 0 !important;
  }

  .cases-description {
    width: 100%;
    height: auto;
    text-align: center;
  }

  article {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding: 55px 0;
  }

  article p {
    font-size: 14px;
    font-weight: 400;
    line-height: 2;
    margin-bottom: 1em;
  }

  article h2 {
    font-size: 21px;
    font-weight: 700;
    line-height: 1.75;
    margin-top: 28px;
    margin-bottom: 14px;
  }

  article img {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    margin: 2em auto;
  }

  article h3 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-style: italic;
    font-size: 17.5px;
    font-weight: 600;
    line-height: 1.75;
    padding: 22px;
    background-color: var(--color-darkgray);
    color: #fff;
    margin: 14px 0 0 0;
    text-align: center;
    display: inline-block;
  }

  article h4 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    font-style: italic;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.75;
    padding: 22px;
    padding-top: 22px;
    background-color: var(--color-darkgray);
    color: var(--color-primary);
    margin: 44px 0;
    margin-top: 44px;
    text-align: center;
  }

  article h3+h4 {
    margin-top: -28px;
    padding-top: 14px;
  }
}

@media (max-width: 539px) {
  .cases-slideshow {
    flex-direction: column;
  }

  .cases-item {
    width: 100%;
  }
}