/* Price Page CSS - 料金詳細ページ専用スタイル */

/* ========================================
   料金表コンテナ
   ======================================== */
.price-table-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
  position: relative;
}

/* 料金表画像ラッパー */
.price-table-wrapper {
  width: 100%;
  position: relative;
}

/* 料金表画像 */
.price-table-image {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* ========================================
   レスポンシブ対応
   ======================================== */

/* タブレット (768px〜1024px) */
@media (max-width: 1024px) {
  .price-table-container {
    padding: 30px 15px;
  }
}

/* スマホ (768px以下) - 横スクロール機能 */
@media (max-width: 768px) {
  .price-table-container {
    padding: 20px 10px;
  }
  
  /* 横スクロールラッパー */
  .price-table-wrapper {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--color-primary) #f0f0f0;
    position: relative;
  }
  
  /* Webkitブラウザ用スクロールバー */
  .price-table-wrapper::-webkit-scrollbar {
    height: 8px;
  }
  
  .price-table-wrapper::-webkit-scrollbar-track {
    background: #f0f0f0;
    border-radius: 4px;
  }
  
  .price-table-wrapper::-webkit-scrollbar-thumb {
    background: var(--color-primary);
    border-radius: 4px;
  }
  
  .price-table-wrapper::-webkit-scrollbar-thumb:hover {
    background: #008B88;
  }
  
  /* 画像の最小幅を設定（可読性確保） */
  .price-table-image {
    min-width: 900px;
    width: 900px;
    border-radius: 6px;
  }
  
  /* スクロールヒント（右向き矢印） */
  .price-table-wrapper::after {
    content: '→';
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: var(--color-accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: bold;
    color: var(--color-primary);
    box-shadow: 0 4px 12px rgba(0, 173, 169, 0.3);
    pointer-events: none;
    animation: scrollHintBounce 2s ease-in-out infinite;
    opacity: 1;
    transition: opacity 0.3s ease;
    z-index: 10;
  }
  
  /* スクロール開始で非表示 */
  .price-table-wrapper.scrolled::after {
    opacity: 0;
  }
  
  /* バウンスアニメーション */
  @keyframes scrollHintBounce {
    0%, 100% {
      transform: translateY(-50%) translateX(0);
    }
    50% {
      transform: translateY(-50%) translateX(8px);
    }
  }
}

/* スマホ小 (480px以下) */
@media (max-width: 480px) {
  .price-table-container {
    padding: 15px 5px;
  }
  
  .price-table-image {
    min-width: 800px;
    width: 800px;
  }
  
  .price-table-wrapper::after {
    width: 45px;
    height: 45px;
    font-size: 20px;
    right: 10px;
  }
}

/* スマホ極小 (320px以下) */
@media (max-width: 320px) {
  .price-table-image {
    min-width: 750px;
    width: 750px;
  }
  
  .price-table-wrapper::after {
    width: 40px;
    height: 40px;
    font-size: 18px;
    right: 8px;
  }
}
