/* ===== Display Toggle Overrides ===== */

/* PC story text containers — keep visible above 480px
   ch2,4,6,7 parent containers + ch1,3,4 individual paragraphs */
@media screen and (min-width: 481px) {
  .sd[data-s-e5c58f3b-d1ff-44ac-b15a-3a7ac1f507e9],
  .sd[data-s-8ce65e91-7226-4938-9a43-c97f71610cf9],
  .sd[data-s-c14a296d-70ed-4dce-8c04-05de597cd7cd],
  .sd[data-s-a761da8e-d949-476a-b280-e35769c3f0d0],
  .sd[data-s-2fd0c46c-45af-448a-bfc3-e94ba61b7f18],
  .sd[data-s-01fc9dae-0bb1-42ee-9fc5-13fdf248711d],
  .sd[data-s-265e41b6-2b9e-4fb9-825f-b05a7be15472],
  .sd[data-s-ad76ad7e-1760-4833-8916-00147debc287] {
    display: flex !important;
    /* 文字太くしたい? */
    /* font-weight: 600;  */
  }
}

/* SP chapter image blocks — visible at ≤480px */
@media screen and (max-width: 480px) {
  .sd[data-s-9cc9aa7a-90af-437b-8afe-031aec51ef87],
  .sd[data-s-a7f6a839-f87e-4da4-9692-d9f5f9c162a4],
  .sd[data-s-6b902c64-9f25-422a-90c3-4868f8ad61e4],
  .sd[data-s-06001ece-7598-4c61-a055-1735eb3f4c30],
  .sd[data-s-a7870d57-ecc6-480e-877b-3b22c21bda9b],
  .sd[data-s-4a733b37-72ae-419b-bff3-d8039e385622],
  .sd[data-s-954276d0-a8c6-47e2-b0e5-287cbb1bd403] {
    display: flex !important;
  }
}

/* Tablet related info — visible at 481–768px */
@media screen and (max-width: 768px) {
  .sd[data-s-9e6187c6-47e3-4d8d-9030-f4f6f2467370] {
    display: flex !important;
    background: #757879;
    padding: 80px 30px;
    gap: 40px;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* SP related info — visible at ≤480px */
@media screen and (max-width: 480px) {
  .sd[data-s-9e6187c6-47e3-4d8d-9030-f4f6f2467370] {
    display: none !important;
  }
  .sd[data-s-a25d0b28-8052-46b1-abea-5d3b1e156463] {
    display: flex !important;
    background: #757879;
    padding: 80px 20px;
    gap: 40px;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* ===== SP Chapter Blocks (BEM) ===== */

.policy-sp-chapter {
  position: relative;
  width: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  flex-direction: column;
}

.policy-sp-chapter__badge {
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  background: #EA3323;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.0;
  z-index: 1;
}

.policy-sp-chapter__content {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 80px 20px;
}

.policy-sp-chapter__title {
  margin: 0;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.4;
}

.policy-sp-chapter__body {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
}

.policy-sp-chapter__text {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.policy-sp-chapter__text p {
  margin: 0;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 2.0;
}

.policy-sp-chapter__img {
  width: 100%;
  height: auto;
}

/* Dark variant (chapters 2, 4, 6 — light backgrounds) */
.policy-sp-chapter--dark .policy-sp-chapter__title {
  color: #000;
}

.policy-sp-chapter--dark .policy-sp-chapter__text p {
  color: #000;
}

/* ===== SP/Tablet Related Info (BEM) ===== */

.policy-sp-related {
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 100%;
  max-width: 1320px;
}

.policy-sp-related__title {
  margin: 0;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.5;
}

.policy-sp-related__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 20px;
  width: 100%;
}

.policy-sp-related__card {
  display: block;
  position: relative;
  width: calc(50% - 10px);
  text-decoration: none;
  overflow: hidden;
}

.policy-sp-related__card-bg {
  width: 100%;
  height: auto;
  display: block;
}

.policy-sp-related__card-panel {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 20px;
  background: #757879;
}

.policy-sp-related__card-label {
  margin: 0;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.policy-sp-related__card-arrow {
  width: 13px;
  height: auto;
  flex-shrink: 0;
}

@media screen and (max-width: 480px) {
  .policy-sp-related__grid {
    flex-direction: column;
    gap: 40px;
  }
  .policy-sp-related__card {
    width: 100%;
  }
  .policy-sp-related__card-label {
    font-size: 14px;
  }
  .policy-sp-related__card-arrow {
    width: 14px;
  }
  .policy-sp-related__card-panel {
    gap: 16px;
    padding: 16px 40px 0px 0px;
  }
}