      /* =========================================
           Base Styles & Reset
           ========================================= */
      body {
        margin: 0;
        padding: 0;
        font-family: "Noto Sans JP", sans-serif;
        color: #333;
        background-color: #fff;
        line-height: 1.6;
        -webkit-font-smoothing: antialiased;
        overflow-x: hidden; /* 横スクロール防止の保険 */
        width: 100%;
      }

      img {
        max-width: 100%;
        height: auto;
        vertical-align: bottom;
      }

      /* =========================================
           First View (Header)
           ========================================= */
      .pal_tablet__fv {
        position: relative;
        width: 100%;
        height: 100vh;
        overflow: hidden;
        background-color: #000;
      }

      .pal_tablet__logo-area {
        position: absolute;
        top: 30px;
        left: 0;
        width: 100%;
        text-align: center;
        z-index: 20;
      }

      .pal_tablet__logo-img {
        width: 120px;
        height: auto;
        filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.3));
      }

      .pal_tablet__swiper {
        width: 100%;
        height: 100%;
      }

      .pal_tablet__slide {
        position: relative;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }

      .pal_tablet__bg-picture {
        width: 100%;
        height: 100%;
        display: block;
      }

      .pal_tablet__bg-img {
        width: 100%;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
      }

      .pal_tablet__overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.2);
        z-index: 1;
      }

      .pal_tablet__content {
        position: absolute;
        bottom: 15%;
        left: 5%;
        width: 90%;
        max-width: 700px;
        z-index: 10;
        color: #fff;
        text-align: left;
      }

      .pal_tablet__catch-copy {
        font-family: "Noto Serif JP", serif;
        font-size: 3.5rem;
        line-height: 1.1;
        font-weight: 600;
        margin: 0 0 20px 0;
        text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
        letter-spacing: 0.05em;
      }

      .pal_tablet__description {
        font-size: 1.1rem;
        font-weight: 500;
        margin: 0 0 40px 0;
        text-shadow: 0 1px 5px rgba(0, 0, 0, 0.3);
        letter-spacing: 0.1em;
      }

      .pal_tablet__btn {
        display: inline-flex;
        align-items: center;
        justify-content: space-between;
        background-color: #555;
        color: #fff;
        text-decoration: none;
        padding: 12px 30px;
        border-radius: 50px;
        font-size: 1rem;
        font-weight: 700;
        width: 240px;
        transition: background-color 0.3s ease, transform 0.2s ease;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
        position: relative;
      }

      .pal_tablet__btn:hover {
        background-color: #333;
        transform: translateY(-2px);
      }

      .pal_tablet__btn-text {
        z-index: 1;
        letter-spacing: 0.1em;
      }

      .pal_tablet__btn-arrow {
        position: relative;
        width: 80px;
        height: 1px;
        background-color: #fff;
        display: block;
      }

      .pal_tablet__btn-arrow::after {
        content: "";
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%) rotate(-45deg);
        width: 8px;
        height: 1px;
        background-color: #fff;
        transform-origin: right center;
      }

      .pal_tablet__btn-arrow::before {
        content: "";
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
        width: 8px;
        height: 1px;
        background-color: #fff;
        transform-origin: right center;
      }

      /* FV Responsive (SP) */
      @media (max-width: 768px) {
        .pal_tablet__catch-copy {
          font-size: 1.8rem;
          margin-bottom: 15px;
        }
        .pal_tablet__description {
          font-size: 0.9rem;
          margin-bottom: 30px;
        }
        .pal_tablet__content {
          bottom: 10%;
          left: 20px;
          width: calc(100% - 40px);
        }
        .pal_tablet__logo-img {
          width: 100px;
        }
        .pal_tablet__btn {
          width: 200px;
          padding: 10px 20px;
          font-size: 0.9rem;
        }
        .pal_tablet__btn-arrow {
          width: 50px;
        }
      }

      /* =========================================
           LP Body Styles
           ========================================= */

      .pal_tablet__container {
        max-width: 800px;
        margin: 0 auto;
        padding: 0 20px;
        position: relative;
        /* box-sizingを明示してパディングによる拡大防止 */
        box-sizing: border-box;
      }

      /* Intro */
      .pal_tablet__intro {
        padding: 100px 0 140px;
        background-color: #fff;
        text-align: center;
        position: relative;
        z-index: 1;
      }
      .pal_tablet__intro-date {
        font-family: "Noto Serif JP", serif;
        font-size: 1.8rem;
        letter-spacing: 0.1em;
        margin-bottom: 20px;
        color: #333;
      }
      .pal_tablet__intro-title {
        font-family: "Noto Sans JP", sans-serif;
        font-size: 1.6rem;
        font-weight: 700;
        letter-spacing: 0.2em;
        margin-bottom: 60px;
        color: #000;
      }
      .pal_tablet__intro-text {
        font-size: 1rem;
        line-height: 2.5;
        font-weight: 500;
        color: #333;
        letter-spacing: 0.05em;
      }

      /* Problem */
      .pal_tablet__problem {
        padding: 0 0 120px;
        background-image: repeating-linear-gradient(
          -45deg,
          #f2f2f2,
          #f2f2f2 20px,
          #ffffff 20px,
          #ffffff 40px
        );
        text-align: center;
        position: relative;
        z-index: 10;
      }
      .pal_tablet__sticky-box {
        background: linear-gradient(
          135deg,
          #ffcc00 calc(100% - 30px),
          transparent calc(100% - 30px)
        );
        width: 100%;
        max-width: 600px;
        margin: -100px auto 80px;
        padding: 50px 30px;
        position: relative;
        filter: drop-shadow(0 5px 15px rgba(0, 0, 0, 0.1));
        z-index: 20;
        box-sizing: border-box;
      }
      .pal_tablet__sticky-pin {
        position: absolute;
        top: -25px;
        left: 50%;
        transform: translateX(-50%) rotate(15deg);
        width: 2px;
        height: 40px;
        background-color: #333;
        z-index: 2;
      }
      .pal_tablet__sticky-pin::before {
        content: "";
        position: absolute;
        top: -6px;
        left: -5px;
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background-color: #333;
      }
      .pal_tablet__sticky-fold-shadow {
        position: absolute;
        bottom: 0;
        right: 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 30px 30px 0 0;
        border-color: #333 transparent transparent transparent;
        opacity: 0.8;
      }
      .pal_tablet__sticky-text-sm {
        font-size: 1rem;
        font-weight: 700;
        margin-bottom: 15px;
        letter-spacing: 0.05em;
      }
      .pal_tablet__sticky-text-lg {
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 1.4;
        display: inline-block;
        border-bottom: 3px solid #333;
        padding-bottom: 5px;
        letter-spacing: 0.1em;
      }

      /* Chat */
      .pal_tablet__chat-area {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 30px;
        max-width: 600px;
        margin: 0 auto;
        padding-top: 20px;
      }
      .pal_tablet__bubble {
        background-color: #4a4a4a;
        color: #fff;
        padding: 20px 40px;
        border-radius: 10px;
        position: relative;
        font-weight: 700;
        font-size: 1.1rem;
        letter-spacing: 0.05em;
        width: fit-content;
        max-width: 90%; /* SPではみ出し防止 */
        box-sizing: border-box;
        opacity: 0;
        transform: translateY(20px);
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
      }
      .pal_tablet__bubble::after {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        border-style: solid;
      }
      .pal_tablet__bubble--right {
        align-self: flex-end;
        margin-right: 20px;
      }
      .pal_tablet__bubble--right::after {
        right: -10px;
        border-width: 8px 0 8px 12px;
        border-color: transparent transparent transparent #4a4a4a;
      }
      .pal_tablet__bubble--left {
        align-self: flex-start;
        margin-left: 20px;
      }
      .pal_tablet__bubble--left::after {
        left: -10px;
        border-width: 8px 12px 8px 0;
        border-color: transparent #4a4a4a transparent transparent;
      }

      /* Solution Box (Bracket Area) */
      .pal_tablet__pin-wrapper {
        width: 100%;
        background-color: #fff;
        position: relative;
        overflow: hidden;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        padding-top: 40px;
      }

      .pal_tablet__solution {
        padding: 20px 0;
        text-align: center;
        position: relative;
        z-index: 20;
        background: #fff;
      }

      .pal_tablet__sol-box {
        position: relative;
        display: inline-block;
        padding: 20px 40px;
        max-width: 100%;
        box-sizing: border-box;
      }
      .pal_tablet__sol-box::before,
      .pal_tablet__sol-box::after {
        content: "";
        position: absolute;
        top: 0;
        width: 30px;
        height: 100%;
        border-top: 4px solid #333;
        border-bottom: 4px solid #333;
      }
      .pal_tablet__sol-box::before {
        left: 0;
        border-left: 4px solid #333;
      }
      .pal_tablet__sol-box::after {
        right: 0;
        border-right: 4px solid #333;
      }

      .pal_tablet__sol-sub {
        display: inline-block;
        position: relative;
        transform: translateY(-50%);
        background-color: #fff;
        padding: 0 10px;
        margin-top: -10px;
      }
      .pal_tablet__sol-sub img {
        max-width: 150px;
        height: auto;
      }
      .pal_tablet__sol-main {
        font-size: 1.8rem;
        font-weight: 700;
        line-height: 1.5;
        margin: 0;
        letter-spacing: 0.05em;
      }

      /* Collage */
      .pal_tablet__collage {
        position: relative;
        width: 100%;
        flex-grow: 1;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      .pal_tablet__collage-area {
        position: relative;
        width: 100%;
        max-width: 1200px;
        height: 100%;
      }
      .pal_tablet__collage-item {
        position: absolute;
        opacity: 0;
      }
      .pal_tablet__collage-frame {
        background: #fff;
        padding: 10px;
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
        transition: transform 0.3s ease;
        position: relative;
        z-index: 1;
      }
      .pal_tablet__collage-tape {
        font-family: "Yomogi", cursive;

        background-color: #eab308;
        background-image: url("./img/p0445_m.jpg");
        color: #333;
        padding: 6px 16px;
        font-size: 1.1rem;
        font-weight: 700;
        box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
        position: absolute;
        z-index: 10;
        white-space: nowrap;
        clip-path: polygon(2% 0%, 98% 0%, 100% 100%, 0% 100%);
      }

      /* Benefit Section */
      .pal_tablet__benefit {
        padding: 0;
        background-color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      .pal_tablet__benefit .pal_tablet__container {
        width: 100%;
      }

      .pal_tablet__benefit-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px;
        max-width: 800px;
        width: 100%;
        margin: 0 auto;
      }
      .pal_tablet__benefit-item {
        text-align: center;
      }

      /* 画像枠の基本スタイル */
      .pal_tablet__benefit-img-wrap {
        width: 240px;
        height: 240px;
        margin: 0 auto;
        position: relative;
      }
      .pal_tablet__benefit-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }

      /* --- PC Styles (768px以上) --- */
      @media (min-width: 768px) {
        .pal_tablet__pin-wrapper {
          padding-top: 0;
          justify-content: center;
        }
        .pal_tablet__collage {
          padding-bottom: 0;
          overflow: visible;
        }
        .pal_tablet__collage-area {
          height: 800px;
          margin: 0 auto;
        }
        .pal_tablet__collage-item {
          opacity: 1;
        }
        .pal_tablet__sol-main {
          font-size: 2.2rem;
          padding: 10px 20px;
        }

        .pal_tablet__item-1 {
          width: 340px;
          top: 50px;
          left: 2%;
          z-index: 10;
        }
        .pal_tablet__item-1 .pal_tablet__collage-frame {
          transform: rotate(-4deg);
        }
        .pal_tablet__item-1 .pal_tablet__collage-tape {
          top: -15px;
          left: -10px;
          transform: rotate(-4deg);
        }

        .pal_tablet__item-2 {
          width: 380px;
          top: 0;
          left: 32%;
          z-index: 20;
        }
        .pal_tablet__item-2 .pal_tablet__collage-frame {
          transform: rotate(3deg);
        }
        .pal_tablet__item-2 .pal_tablet__collage-tape {
          top: -20px;
          right: 10px;
          transform: rotate(3deg);
        }

        .pal_tablet__item-3 {
          width: 420px;
          top: 300px;
          left: 10%;
          z-index: 30;
        }
        .pal_tablet__item-3 .pal_tablet__collage-frame {
          transform: rotate(-2deg);
        }
        .pal_tablet__item-3 .pal_tablet__collage-tape {
          top: -20px;
          left: 20px;
          transform: rotate(-2deg);
        }

        .pal_tablet__item-4 {
          width: 340px;
          top: 80px;
          right: 2%;
          z-index: 10;
        }
        .pal_tablet__item-4 .pal_tablet__collage-frame {
          transform: rotate(4deg);
        }
        .pal_tablet__item-4 .pal_tablet__collage-tape {
          bottom: -15px;
          right: -5px;
          transform: rotate(4deg);
        }

        .pal_tablet__item-5 {
          width: 380px;
          bottom: 10px;
          left: 5%;
          top: auto;
          z-index: 20;
        }
        .pal_tablet__item-5 .pal_tablet__collage-frame {
          transform: rotate(-5deg);
        }
        .pal_tablet__item-5 .pal_tablet__collage-tape {
          top: 50%;
          left: -25px;
          transform: rotate(-6deg);
        }

        .pal_tablet__item-6 {
          width: 400px;
          top: 320px;
          right: 8%;
          z-index: 30;
        }
        .pal_tablet__item-6 .pal_tablet__collage-frame {
          transform: rotate(2deg);
        }
        .pal_tablet__item-6 .pal_tablet__collage-tape {
          top: -15px;
          left: 0;
          transform: rotate(1deg);
        }

        .pal_tablet__item-7 {
          width: 340px;
          bottom: 20px;
          left: 40%;
          z-index: 40;
        }
        .pal_tablet__item-7 .pal_tablet__collage-frame {
          transform: rotate(-3deg);
        }
        .pal_tablet__item-7 .pal_tablet__collage-tape {
          top: -20px;
          right: -20px;
          transform: rotate(-3deg);
        }
      }

      /* --- SP Styles (768px以下) --- */
      @media (max-width: 768px) {
        .pal_tablet__intro {
          padding: 80px 0 120px;
        }
        .pal_tablet__problem {
          padding: 0 0 80px;
        }
        .pal_tablet__sticky-box {
          max-width: 85%;
          margin-top: -80px;
          padding: 30px 15px;
        }

        .pal_tablet__sol-box {
          padding: 20px 20px;
          margin: 0 10px;
        }
        .pal_tablet__sol-main {
          font-size: 1.3rem;
        }

        .pal_tablet__collage-item {
          width: 85%;
          max-width: 360px;
          margin: 0;
          top: 50%;
          left: 50%;
        }

        .pal_tablet__collage-tape {
          top: -12px !important;
          left: 50% !important;
          right: auto !important;
          bottom: auto !important;
          transform: translateX(-50%) rotate(0) !important;
          width: auto;
          white-space: nowrap;
          z-index: 20;
          font-size: 0.9rem;
          padding: 4px 12px;
        }

        /* -------------------------------------
               【修正】Benefitセクションの調整
               ------------------------------------- */
        .pal_tablet__benefit {
          padding: 0;
        }

        .pal_tablet__benefit-grid {
          grid-template-columns: 1fr 1fr; /* 2カラムを強制 */
          gap: 15px; /* 隙間を狭くする（40px→15px） */
        }

        .pal_tablet__benefit-img-wrap {
          /* 固定幅(200px)を廃止し、親要素(gridセル)に合わせて伸縮させる */
          width: 100%;
          max-width: 200px; /* PC以上に大きくならないように制限 */
          height: auto;
          aspect-ratio: 1 / 1; /* 正方形を維持 */
        }
      }

      /* --- iPhone SE (～430px以下) 対応 --- */
      @media (max-width: 430px) {
        /* FVの文字サイズ調整 */
        .pal_tablet__catch-copy {
          font-size: 1.4rem;
          margin-bottom: 10px;
        }
        .pal_tablet__description {
          font-size: 0.8rem;
          margin-bottom: 20px;
        }
        .pal_tablet__btn {
          width: 180px;
          font-size: 0.85rem;
          padding: 10px 15px;
        }

        /* Solutionボックスの調整 */
        .pal_tablet__sol-box {
          padding: 20px 10px;
          width: 100%;
        }
        .pal_tablet__sol-main {
          font-size: 1.1rem;
        }

        .pal_tablet__solution {
          margin-bottom: 10vh;
        }
      }

      /* =========================================
   添付画像のデザイン再現 (Feature Section)
   ========================================= */
      .pal_tablet__feature-section {
        padding: 80px 0;
        background-color: #fff;
        text-align: center;
        color: #333;
      }

      /* 見出し */
      .pal_tablet__feature-title {
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 700;
        font-size: 2rem;
        line-height: 1.5;
        margin-bottom: 40px;
        letter-spacing: 0.05em;
      }

      /* 画像エリア */
      .pal_tablet__feature-img-wrap {
        width: 100%;
        max-width: 600px;
        margin: 0 auto 60px;
      }
      .pal_tablet__feature-img {
        width: 100%;
        height: auto;
        display: block;
      }

      /* 3つのポイントエリア（PC設定：Gridで3カラム強制） */
      .pal_tablet__feature-points {
        display: grid; /* Gridレイアウトに変更 */
        grid-template-columns: repeat(3, 1fr); /* 横に3つ均等に並べる */
        gap: 20px; /* 間の余白 */
        width: 100%;
        max-width: 900px; /* 全体の最大幅 */
        margin: 0 auto;
      }

      /* 個別の黒いボックス */
      .pal_tablet__point-box {
        background-color: #000;
        color: #fff;
        border-radius: 12px;
        padding: 25px 15px;
        width: 100%; /* Gridセルいっぱいに広げる */
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        /* 高さ揃え：Gridなら自動で揃いますが、念のため最小高さを指定 */
        min-height: 260px;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
      }

      /* テキストスタイル */
      .pal_tablet__point-head {
        font-size: 1.4rem;
        font-weight: 700;
        margin-bottom: 10px;
      }
      .pal_tablet__point-head-sm {
        font-size: 1rem;
        font-weight: 500;
        line-height: 1.4;
        margin-bottom: 15px;
      }
      .pal_tablet__point-body {
        font-size: 1.8rem;
        font-weight: 700;
        line-height: 1.2;
      }
      .pal_tablet__point-body-sm {
        font-size: 1.4rem;
        font-weight: 700;
        line-height: 1.4;
      }
      .pal_tablet__point-body-md {
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 1.6;
      }
      .pal_tablet__point-note {
        font-size: 0.6rem;
        margin-top: 15px;
        opacity: 0.8;
        text-align: left;
        width: 100%;
      }

      /* 文字サイズ補助 */
      .pal_tablet__point-box .text-lg {
        font-size: 2.2rem;
      }
      .pal_tablet__point-box .text-xs {
        font-size: 1rem;
        vertical-align: top;
      }

      /* --- SP Styles (スマホ対応: 768px以下) --- */
      @media (max-width: 768px) {
        .pal_tablet__feature-section {
          padding: 60px 0;
        }
        .pal_tablet__feature-title {
          font-size: 1.5rem;
          margin-bottom: 30px;
        }

        /* スマホでは1列にする */
        .pal_tablet__feature-points {
          grid-template-columns: 1fr; /* 1カラムに変更 */
          gap: 20px;
          max-width: 320px; /* スマホでのボックス幅制限 */
        }

        .pal_tablet__point-box {
          min-height: auto;
          padding: 30px 20px;
        }

        .pal_tablet__point-body {
          font-size: 1.6rem;
        }
        .pal_tablet__point-box .text-lg {
          font-size: 2rem;
        }
      }

      /* =========================================
   Spec & Feature Section (スマホデザイン強化)
   ========================================= */
      
      .pal_tablet__spec-feature01 {
        width: 100%;
        padding: 80px 0;
        background-color: #ffffff; /* 背景色：画像のような落ち着いたグレー */
        text-align: center;
        color: #333;
        font-family: "Noto Sans JP", sans-serif;
        z-index: 1;
      }

      /* キャッチコピー */
      .pal_tablet__spec-copy {
        font-size: 2rem;
        font-weight: 700;
        line-height: 1.6;
        margin-bottom: 40px;
        letter-spacing: 0.05em;
      }



      .pal_tablet__spec-feature {
        padding: 0 0 80px;
        background-color: #e3e8ed; /* 背景色：画像のような落ち着いたグレー */
        text-align: center;
        color: #333;
        font-family: "Noto Sans JP", sans-serif;
        z-index: 1;
      }

      /* 商品画像 */
      .pal_tablet__spec-visual {
        width: 100%;
        max-width: 600px;
        margin: 0 auto 30px;
      }
      .pal_tablet__spec-visual img {
        width: 100%;
        height: auto;
        display: block;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); /* 画像にリッチな影を追加 */
        border-radius: 8px;
        transform:translateY(-60px);
      }

      /* 商品名・価格 */
      .pal_tablet__product-name {
        font-size: 2.2rem;
        font-weight: 700;
        margin: 0 0 10px;
        letter-spacing: 0.05em;
      }
      .pal_tablet__product-price {
        font-size: 2rem;
        font-weight: 700;
        margin: 0 0 50px;
      }
      .pal_tablet__product-price .tax {
        font-size: 1rem;
        font-weight: 500;
        margin-left: 5px;
      }

      /* -------------------------------------
   3つの特徴ボックス（黒い四角）
   ------------------------------------- */
      .pal_tablet__spec-points {
        display: flex;
        justify-content: center;
        gap: 20px;
        margin-bottom: 60px;
        flex-wrap: wrap; /* スマホで折り返しを許可 */
      }

      .pal_tablet__spec-box {
        background-color: #000;
        color: #fff;
        width: 240px;
        height: 240px; /* 正方形を維持 */
        border-radius: 16px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 20px;
        box-sizing: border-box;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
        /* Flexアイテムとして縮小させない */
        flex-shrink: 0;
      }

      .pal_tablet__spec-box .spec-sub-title {
        font-size: 1.1rem;
        font-weight: 700;
        margin-bottom: 10px;
        line-height: 1.4;
      }
      .pal_tablet__spec-box .spec-main-text {
        font-size: 2.8rem;
        font-weight: 700;
        line-height: 1;
        margin-bottom: 5px;
      }
      .pal_tablet__spec-box .spec-note {
        font-size: 0.7rem;
        margin-top: 8px;
        opacity: 0.8;
      }

      /* 購入ボタン */
      .pal_tablet__buy-area {
        margin-bottom: 80px;
      }
      .pal_tablet__buy-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background-color: #000;
        color: #fff;
        text-decoration: none;
        font-size: 1.5rem;
        font-weight: 700;
        padding: 20px 80px;
        border-radius: 50px;
        transition: transform 0.2s, background-color 0.3s;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
      }
      .pal_tablet__buy-btn:hover {
        transform: translateY(-3px);
        background-color: #333;
      }
      .pal_tablet__buy-btn .arrow {
        margin-right: 15px;
        font-size: 1.2rem;
      }

      /* -------------------------------------
   スペック表（画像のデザイン再現）
   ------------------------------------- */
      .pal_tablet__spec-table-container {
        width: 100%;
        max-width: 800px;
        margin: 0 auto;
      }

      .pal_tablet__spec-scroll-hint {
        display: none; /* PCでは非表示 */
        font-size: 0.8rem;
        color: #666;
        text-align: right;
        margin-bottom: 5px;
      }

      /* テーブルを囲むスクロールエリア */
      .pal_tablet__spec-table-scroll {
        width: 100%;
        overflow-x: auto; /* 横スクロール許可 */
        -webkit-overflow-scrolling: touch;
        border: 2px solid #333; /* 外枠をしっかり黒く */
      }

      .pal_tablet__spec-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 0.95rem;
        text-align: left;
        white-space: normal; /* 文字折り返し */
        min-width: 600px; /* ★重要：スマホでも表が縮まないように最小幅を確保 */
      }

      .pal_tablet__spec-table th,
      .pal_tablet__spec-table td {
        border: 1px solid #333; /* 罫線は黒 */
        padding: 10px 15px;
        vertical-align: middle;
        line-height: 1.5;
      }

      /* 左列（項目名） */
      .pal_tablet__spec-table th {
        background-color: #f5f5f5; /* 薄いグレー */
        font-weight: 700;
        width: 25%;
      }

      /* 右列（内容） */
      .pal_tablet__spec-table td {
        background-color: #fff;
      }

      /* カテゴリ見出し行（青色） */
      .pal_tablet__spec-table tr.table-group-head th {
        background-color: #dce6f1; /* 画像に近い淡い青 */
        color: #000;
        font-weight: 700;
        text-align: left;
        padding: 8px 15px;
      }

      /* =========================================
   Responsive (SP Styles) - スマホ調整
   ========================================= */
      @media (max-width: 768px) {
        .pal_tablet__spec-feature {
          padding: 0 0 60px;
        }

        .pal_tablet__spec-copy {
          font-size: 1.2rem;
          padding: 0 15px;
        }

        .pal_tablet__spec-visual {
          margin: 0 auto 10px;
        }

        .pal_tablet__spec-visual img {
        transform:translateY(-60px);
      }

        .pal_tablet__product-name {
          font-size: 1.8rem;
        }
        .pal_tablet__product-price {
          font-size: 1.6rem;
        }

        /* 黒ボックス：スマホでもデザインを維持 */
        .pal_tablet__spec-points {
          gap: 15px;
        }
        .pal_tablet__spec-box {
          /* スマホでは2列配置にするか、少し小さくして表示 */
          width: 160px;
          height: 160px;
          padding: 15px;
          border-radius: 12px;
        }
        .pal_tablet__spec-box .spec-main-text {
          font-size: 2rem; /* 文字サイズ調整 */
        }
        .pal_tablet__spec-box .spec-sub-title {
          font-size: 0.9rem;
        }
        .pal_tablet__spec-box .spec-note {
          font-size: 0.6rem;
          line-height: 1.2;
        }

        /* 購入ボタン */
        .pal_tablet__buy-btn {
          width: 80%;
          max-width: 300px;
          padding: 15px 0;
          font-size: 1.2rem;
        }

        /* スペック表：横スクロールを促す */
        .pal_tablet__spec-scroll-hint {
          display: block; /* ヒントを表示 */
        }
        /* テーブルは min-width: 600px が効いているので、
       縮こまらずに綺麗なレイアウトのままスクロールできる */
      }

      /* =========================================
   Recommend Section (同時購入)
   ========================================= */
      .pal_tablet__recommend-section {
        padding: 80px 0 100px;
        background-color: #fff;
        text-align: center;
        color: #333;
        font-family: "Noto Sans JP", sans-serif;
      }

      /* タイトル (明朝体で上品に) */
      .pal_tablet__recommend-title {
        font-family: "Noto Serif JP", serif;
        font-size: 2.4rem;
        font-weight: 600;
        line-height: 1.4;
        margin-bottom: 60px;
        letter-spacing: 0.1em;
      }

      /* グリッドレイアウト */
      .pal_tablet__recommend-grid {
        display: grid;
        /* PC・SP共に2カラム */
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 30px; /* 縦の隙間40px, 横の隙間30px */
        max-width: 900px;
        margin: 0 auto 50px;
        width: 100%;
      }

      /* 個別アイテムカード */
      .pal_tablet__item-card {
        display: flex;
        flex-direction: column;
        text-align: left; /* 商品情報は左揃え */
        transition: opacity 0.4s ease;
      }

      /* 非表示アイテム用クラス */
      .pal_tablet__item-card.js-hidden-item {
        display: none;
        opacity: 0;
      }
      /* フェードイン表示用クラス */
      .pal_tablet__item-card.js-fade-in {
        opacity: 1;
      }

      /* 画像ボックス */
      .item-img-box {
        width: 100%;
        aspect-ratio: 515 / 618; /* 正方形 */
        background-color: #f4f4f4;
        margin-bottom: 15px;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      .item-img-box img {
        width: 100%;
        height: 100%;
        object-fit: cover; /* 枠いっぱいに表示 */
      }

      /* 商品情報 */
      .item-info {
        display: flex;
        flex-direction: column;
        flex-grow: 1;
      }

      .item-name {
        font-size: 1rem;
        font-weight: 700;
        margin: 0 0 5px;
        line-height: 1.5;
      }

      .item-price {
        font-size: 1.1rem;
        font-weight: 700;
        margin: 0 0 15px;
      }
      .item-price .tax {
        font-size: 0.8rem;
        font-weight: 400;
        margin-left: 5px;
      }

      /* 商品ページボタン (白背景・黒枠) */
      .item-link-btn {
        display: inline-block;
        padding: 10px 0;
        width: 100%;
        max-width: 200px; /* PCでのボタン幅制限 */
        text-align: center;
        background-color: #fff;
        color: #333;
        border: 1px solid #333;
        text-decoration: none;
        font-size: 0.9rem;
        transition: all 0.3s;
        margin-top: auto; /* 下揃え */
        position: relative;
      }
      .item-link-btn:hover {
        background-color: #333;
        color: #fff;
      }
      .item-link-btn .arrow {
        margin-right: 5px;
        font-size: 0.8rem;
      }

      /* もっと見るボタンエリア */
      .pal_tablet__more-btn-area {
        margin-top: 40px;
      }

      .pal_tablet__more-btn {
        background-color: #333;
        color: #fff;
        border: none;
        padding: 15px 60px;
        font-size: 1.1rem;
        font-weight: 700;
        border-radius: 50px;
        cursor: pointer;
        transition: background-color 0.3s, transform 0.2s;
        display: inline-flex;
        align-items: center;
        gap: 10px;
      }
      .pal_tablet__more-btn:hover {
        background-color: #555;
        transform: translateY(-2px);
      }
      .pal_tablet__more-btn .plus-icon {
        font-size: 1.2rem;
      }

      /* --- Responsive (SP Styles) --- */
      @media (max-width: 768px) {
        .pal_tablet__recommend-section {
          padding: 60px 0 80px;
        }

        .pal_tablet__recommend-title {
          font-size: 1.8rem;
          margin-bottom: 40px;
        }

        .pal_tablet__recommend-grid {
          gap: 30px 15px; /* 横の隙間を狭くする */
        }

        .item-name {
          font-size: 0.9rem;
        }
        .item-price {
          font-size: 1rem;
        }

        .item-link-btn {
          font-size: 0.8rem;
          padding: 8px 0;
          width: 100%; /* スマホでは幅いっぱい */
          max-width: none;
        }

        .pal_tablet__more-btn {
          padding: 12px 40px;
          font-size: 1rem;
        }
      }

      /* =========================================
           Concept Section (Premium Line)
========================================= */
      .pal_tablet__concept {
        padding: 100px 0; /* 前後の余白は他セクションに合わせ調整 */
        background-color: #fff;
        text-align: center;
        color: #333;
        font-family: "Noto Sans JP", sans-serif; /* 全体のフォントに合わせる */
      }

      /* タイトル */
      .pal_tablet__concept-title {
        font-size: 3rem;
        font-weight: 700;
        margin: 0 0 20px;
        line-height: 1.2;
        letter-spacing: 0.05em;
      }

      /* サブタイトル */
      .pal_tablet__concept-sub {
        font-size: 2rem;
        font-weight: 700;
        margin-bottom: 80px; /* ご指定の大きめの余白 */
        letter-spacing: 0.05em;
      }

      /* 本文エリア */
      .pal_tablet__concept-body {
        width: 100%;
        max-width: 750px; /* 読みやすいように幅を制限 */
        margin: 0 auto;
      }

      .pal_tablet__concept-body p {
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 2; /* ゆったりとした行間 */
        letter-spacing: 0.05em;
        margin-bottom: 60px; /* 段落ごとの余白 */
      }
      .pal_tablet__concept-body p:last-child {
        margin-bottom: 0;
      }

      /* --- SP Styles (スマホ対応: 768px以下) --- */
      @media (max-width: 768px) {
        .pal_tablet__concept {
          padding: 80px 0;
        }

        .pal_tablet__concept-title {
          font-size: 1.6rem;
        }

        .pal_tablet__concept-sub {
          font-size: 1.3rem;
          margin-bottom: 50px;
        }

        .pal_tablet__concept-body p {
          font-size: 0.85rem;
          margin-bottom: 40px;
        }
      }

      /* =========================================
           Footer
           ========================================= */
      .pal_tablet__footer {
        background-color: #dce1e6; /* 画像に近い少し青みがかったグレー */
        padding: 60px 0;
        text-align: center;
        color: #000;
        font-family: "Noto Sans JP", sans-serif;
      }

      /* "3COINS" ロゴテキスト */
      .pal_tablet__footer-title {
        font-size: 3rem;
        font-weight: 700;
        line-height: 1;
        margin-bottom: 15px;
        letter-spacing: 0.02em;
        font-family: "Noto Sans JP", sans-serif; /* 必要に応じて英語フォントへ変更可 */
      }

      /* SNSリンクエリア */
      .pal_tablet__footer-sns {
        font-size: 1.1rem;
        font-weight: 700;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 5px; /* 項目間の微調整 */
        letter-spacing: 0.05em;
      }

      /* リンク本体 */
      .pal_tablet__footer-link {
        text-decoration: none;
        color: #000;
        padding: 5px; /* クリックしやすいように少し余白 */
        transition: opacity 0.3s;
      }
      .pal_tablet__footer-link:hover {
        opacity: 0.6;
      }

      /* 区切り線 "|" */
      .pal_tablet__footer-pipe {
        font-weight: 400;
        margin: 0 5px;
        opacity: 0.6;
      }

      /* --- SP Styles (スマホ対応) --- */
      @media (max-width: 768px) {
        .pal_tablet__footer {
          padding: 50px 0;
        }
        .pal_tablet__footer-title {
          font-size: 2.2rem;
          margin-bottom: 15px;
        }
        .pal_tablet__footer-sns {
          font-size: 0.95rem;
        }
      }