@charset "UTF-8";

@media screen and (max-width: 960px) {

  .bom-page .pc { display: none; }
  .bom-page .sp { display: block; }

  /* LEAD */
  .p-lead { padding: 40px 20px 44px; }
  .p-lead__title { font-size: 18px; margin-bottom: 24px; }
  .p-lead__text { font-size: 12px; }

  /* CATEGORY TITLE */
  .p-catTitle { padding: 32px 16px 40px; gap: 12px; }
  .p-catTitle__laurel { width: 52px; }
  .p-catTitle__en { font-size: 25px; }
  .p-lead__note {
    font-size: 10px;
  }
  .p-catTitle__ja {
    font-size: 10px;
  }

  /* FEATURE ITEM → stacked on SP */
  .p-featureItem {
    flex-direction: column;
    max-width: 100%;
    margin-bottom: 0;
  }
  .p-featureItem__img {
    flex: none;
    max-width: 100%;
    width: 100%;
  }
  .p-featureItem__body {
    padding: 20px 20px 24px;
  }
  .p-featureItem__name { font-size: 15px; }

  /* SUB ITEMS → slick slider on SP（BEST SELLERと同様のプログレスバー） */
  .p-subItems__wrap {
    max-width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
  }
  .p-subItems {
    display: block;
    max-width: 100%;
    margin: 0;
  }
  .p-subItems.slick-slider { margin: 0; }
  .p-subItems .slick-list {
    overflow: hidden;
  }
  .p-subItems .slick-track {
    display: flex !important;
    align-items: stretch;
  }
  .p-subItems .slick-slide {
    height: auto !important;
    display: flex !important;
    flex-direction: column;
    float: none;
    padding: 0 10px;
    box-sizing: border-box;
  }
  .p-subItems .slick-slide > div {
    display: flex;
    flex-direction: column;
    flex: 1;
    height: auto;
  }
  .p-subItem {
    display: flex;
    flex-direction: column;
    flex: 1;
    width: 100%;
    height: auto;
  }
  .p-subItem--feature {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
  }
  .p-subItem--feature .p-subItem__img {
    flex: none;
    max-width: 100%;
    width: 100%;
  }
  .p-subItem--feature .p-subItem__body,
  .p-subItem__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    text-align: left;
    padding: 16px 0 8px;
  }
  .p-subItem--feature .p-subItem__body .p-btn,
  .p-subItem__body .p-btn {
    margin-top: auto;
    flex-shrink: 0;
  }
  .p-subItem--feature .p-subItem__name,
  .p-subItem__name {
    font-size: 16px;
    margin-bottom: 8px;
  }
  .p-subItem--feature .p-subItem__desc,
  .p-subItem__desc {
    font-size: 13px;
    text-align: left;
    margin-bottom: 20px;
  }
  .p-subItem--feature .p-subItem__price,
  .p-subItem__price {
    margin-bottom: 12px;
  }

  /* BEST SELLER SECTION */
  .p-bestSeller { padding: 0 0 48px; }
  .p-bestSeller__laurelWrap { padding: 40px 0 20px; }
  .p-bestSeller__laurelWrap img { width: 110px; }
  .p-bestSeller__title { font-size: 30px; }
  .p-bestSeller__sub { font-size: 12px; padding: 0 20px; }
  .p-bestSeller__heading { margin-bottom: 24px; }

  /* Progress bar */
  .p-sliderBar {
    display: block;
    margin: 28px 0 0;
    padding: 0;
  }
  .p-sliderBar__track {
    position: relative;
    width: 100%;
    height: 6px;
    background: #d8d8d8;
  }
  .p-sliderBar__thumb {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 25%;
    background: #555;
    transition: left 0.3s ease;
  }

  /* RANKING SECTION */
  .p-ranking { padding: 0 0 40px; }
  .p-ranking__header { padding: 40px 20px 28px; }
  .p-ranking__title { font-size: 30px; }
  .p-ranking__sub { font-size: 12px; }
  .p-rankCard {
    max-width: 100%;
    margin-bottom: 60px;
    margin-left: 20px;
    margin-right: 20px;
  }

  .p-rank__label {
    font-size: 21px;
  }
  .p-rank__num {
    font-size: 59px;
  }

  /* BEST 1 → stacked on SP */
  .p-rankItem1 {
    flex-direction: column;
    align-items: stretch;
    padding: 0 0 28px;
  }
  .p-rankItem1__badge {
    width: auto;
    padding: 0 0 8px 16px;
    align-self: flex-start;
    justify-content: flex-start;
  }
  .p-rankItem1__img {
    flex: none;
    max-width: 80%;
    width: 100%;
    margin: auto;
  }
  .p-rankItem1__body {
    padding: 16px 20px 0;
    max-width: 100%;
  }
  .p-rankItem1__name { font-size: 16px; }
  .p-rankItem1__catch {
    font-size: 16px;
    padding-bottom: 10px;
    margin-bottom: 14px;
  }
  .p-rankItem1__color,
  .p-rankItem1__price,
  .p-rankItem1__desc {
    font-size: 13px;
  }

  .p-rankItem1__price {
    margin-bottom: 24px;
  }

  /* BEST 2&3 → stacked 1 column on SP */
  .p-rankSub {
    grid-template-columns: 1fr;
    border-top: 0;
    gap: 24px;
  }
  .p-rankSubItem {
    border-right: none;
    border-top: 0;
    padding: 28px 20px 32px;
  }
  .p-rankSubItem:first-child { border-top: 0; }
  .p-rankSubItem__badgeWrap {
    position: static;
    display: flex;
    justify-content: flex-start;
    margin-bottom: 0;
  }
  .p-rankSubItem__img {
    min-height: 0;
    padding: 0;
    margin-bottom: 16px;
  }
  .p-rankSubItem__img img { max-height: 260px; margin: 0 auto; }

  /* SEASONAL PICK */
  .p-seasonal { padding: 0 0 48px; }
  .p-seasonal__header { padding: 40px 20px 24px; }
  .p-seasonal__laurelWrap img { width: 52px; }
  .p-seasonal__title { font-size: 30px; }
  .p-seasonal__sub { font-size: 12px; }

  /* FOOTNOTES */
  .p-footnotes { padding: 24px 20px 48px; max-width: 100%; }

  .p-subItem--feature .p-subItem__color,
  .p-subItem--feature .p-subItem__price, .p-subItem__price {
    margin-bottom: 0;
    font-size: 13px;
  }

  .p-subItem--feature .p-subItem__price, .p-subItem__price {
    margin-bottom: 8px;
  }

}
