@charset "UTF-8";

/* PC（デフォルト） */
.fs-p-productDescription.fs-p-productDescription--full {
  width: 928px;
}

/* タブレット・スマホ */
@media screen and (max-width: 1024px) {
  .fs-p-productDescription.fs-p-productDescription--full {
    width: auto;   /* または 100% */
  }
}

.hover-fade-link {
  text-decoration: none;
  color: #333;
  transition: opacity 0.2s ease;
}

.hover-fade-link:hover {
  text-decoration: none;
  opacity: 0.7;
}






        @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@400;700&display=swap');
        * { box-sizing: border-box; margin: 0; padding: 0; }
        body { font-family: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', sans-serif; line-height: 1.6; color: #333; }
        img { max-width: 100%; height: auto; }

        /* デフォルト（SP・タブレット） */
        .ec-wrapper.ec-wrapper--full {
          width: 100%;
        }

        /* PCのみ */
        @media screen and (min-width: 1025px) {
          .ec-wrapper.ec-wrapper--full {
            width: 928px;
          }
        }

        /* Text Styles */
  .ec-heading-l { font-size: 24px; font-weight: bold; margin-bottom: 16px; }
  .ec-heading-m { font-size: 20px; font-weight: bold; margin-bottom: 12px; }
  .ec-heading-s { font-size: 16px; font-weight: bold; margin-bottom: 8px; }
  .ec-lead { font-size: 16px; color: #555; line-height: 1.8; }
  .ec-notice-red { color: #dc2626; font-size: 14px; }
  .ec-notice-gray { color: #6b7280; font-size: 14px; }
  .ec-emphasis { font-weight: bold; color: #1e40af; }
  .ec-bold { font-weight: bold; }
  .ec-normal { font-size: 14px; }
  
  /* Layout Blocks */
  .ec-block { padding: 24px 16px; }
  .ec-two-col { display: flex; gap: 24px; align-items: center; }
  .ec-two-col > * { flex: 1; }
  .ec-center { text-align: center; }
  .ec-image-full img { width: 100%; }
  
  .ec-notice-box {
    background: #fef3c7;
    border: 2px solid #f59e0b;
    border-radius: 8px;
    padding: 16px;
  }
  .ec-notice-box-title { font-weight: bold; color: #92400e; margin-bottom: 8px; }
  
  .ec-spec-table { width: 100%; border-collapse: collapse; }
  .ec-spec-table th, .ec-spec-table td { 
    border: 1px solid #e5e7eb; 
    padding: 12px; 
    text-align: left;
  }
  .ec-spec-table th { background: #f9fafb; font-weight: bold; width: 30%; }

  @media (max-width: 600px) {
    .ec-two-col { flex-direction: column; }
    .ec-heading-l { font-size: 20px; }
    .ec-heading-m { font-size: 18px; }

    .ec-spec-table, .ec-spec-table tbody, .ec-spec-table tr, .ec-spec-table th, .ec-spec-table td {
      display: block;
      width: 100%;
    }
    .ec-spec-table tr {
      margin-bottom: 16px;
      border: 1px solid #e5e7eb;
    }
    .ec-spec-table th {
      border-bottom: none;
      padding-bottom: 8px;
    }
    .ec-spec-table td {
      border-top: none;
      padding-top: 8px;
    }
  }

.ec-bordered-title-block { padding: 40px 20px; } .ec-bordered-title-container { border-top: 1px solid #333; border-bottom: 1px solid #333; padding: 20px 0; text-align: center; } .ec-main-title { font-size: 18px; font-weight: bold; line-height: 1.8; margin-bottom: 8px; } .ec-sub-title { font-size: 14px; line-height: 1.6; }
.ec-set-nav-block { padding: 0; margin: 20px 0; } .ec-set-nav-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; } .ec-set-nav-item { display: block; border: 2px solid #000; padding: 20px; text-align: center; text-decoration: none; color: #000; transition: all 0.3s; min-height: 100px; display: flex; flex-direction: column; justify-content: center; align-items: center; } .ec-set-nav-item:hover { background: #f5f5f5; } .ec-set-nav-title { font-size: 14px; line-height: 1.6; margin-bottom: 12px; font-weight: normal; } .ec-set-nav-arrow { font-size: 20px; color: #000; } @media (max-width: 640px) { .ec-set-nav-grid { grid-template-columns: 1fr; } }
.ec-black-title-block { padding: 0; margin: 20px 0; } .ec-black-title { background: #000; color: #fff; padding: 16px 20px; text-align: left; font-size: 16px; font-weight: normal; line-height: 1.6; }
.ec-title-bilingual { display: flex; align-items: center; gap: 16px; padding: 24px 0; }
.ec-title-eng { font-size: 32px; font-weight: bold; color: #000; letter-spacing: 0.1em; text-transform: uppercase; }
.ec-title-jp { font-size: 16px; color: #333; font-weight: normal; }
.ec-title-with-line { text-align: center; padding: 32px 16px; }
.ec-title-center { font-size: 18px; color: #333; line-height: 1.8; margin-bottom: 24px; }
.ec-decorative-line { width: 120px; height: 2px; background: #333; margin: 0 auto; }
.ec-notice-list-box { background: #f9fafb; border: 2px solid #e5e7eb; border-radius: 8px; padding: 24px; }
.ec-notice-list-title { font-size: 16px; font-weight: bold; text-align: center; color: #1f2937; margin-bottom: 20px; padding-bottom: 12px; border-bottom: 1px solid #e5e7eb; }
.ec-notice-list-items { font-size: 14px; line-height: 2; color: #374151; white-space: pre-line; }
.ec-notice-list-box { background: #f9fafb; border: 2px solid #e5e7eb; border-radius: 8px; padding: 24px; }
.ec-notice-list-title { font-size: 16px; font-weight: bold; text-align: center; color: #1f2937; margin-bottom: 20px; padding-bottom: 12px; border-bottom: 1px solid #e5e7eb; }
.ec-notice-list-items { font-size: 14px; line-height: 2; color: #374151; white-space: pre-line; }
.ec-title-underline { display: inline-block; font-size: 16px; color: #333; padding-bottom: 8px; border-bottom: 2px solid #333; }
.ec-title-underline { display: inline-block; font-size: 16px; color: #333; padding-bottom: 8px; border-bottom: 2px solid #333; }
.ec-title-underline { display: inline-block; font-size: 16px; color: #333; padding-bottom: 8px; border-bottom: 2px solid #333; }
.ec-title-underline { display: inline-block; font-size: 16px; color: #333; padding-bottom: 8px; border-bottom: 2px solid #333; }
.ec-title-underline { display: inline-block; font-size: 16px; color: #333; padding-bottom: 8px; border-bottom: 2px solid #333; }
.ec-title-underline { display: inline-block; font-size: 16px; color: #333; padding-bottom: 8px; border-bottom: 2px solid #333; }
.ec-black-title-block { padding: 0; margin: 20px 0; } .ec-black-title { background: #000; color: #fff; padding: 16px 20px; text-align: left; font-size: 16px; font-weight: normal; line-height: 1.6; }
.ec-title-bilingual { display: flex; align-items: center; gap: 16px; padding: 24px 0; }
.ec-title-eng { font-size: 32px; font-weight: bold; color: #000; letter-spacing: 0.1em; text-transform: uppercase; }
.ec-title-jp { font-size: 16px; color: #333; font-weight: normal; }