@media (max-width: 768px) {
  .sp08-legacy {
    position: relative;
    width: 375px;
    max-width: 100%;
    margin: 0 auto;
    color: #070b1e;
    background: #fff;
    font-family: "Noto Serif JP", serif;
    overflow: hidden;
  }

  .sp08-legacy * { box-sizing: border-box; }
  .sp08-legacy a { color: inherit; text-decoration: none; }
  .sp08-legacy figure, .sp08-legacy p, .sp08-legacy h2 { margin: 0; }

  .philosophy-sp-only header.sp08-legacy__intro {
    height: 400px;
    padding: 80px 24px 0;
  }
  .sp08-legacy__eyebrow {
    font-family: Cinzel, serif;
    font-size: 20px;
    line-height: 20px;
    letter-spacing: 3px;
  }
  .sp08-legacy__eyebrow span { color: #811704; }
  .sp08-legacy__intro h2 {
    margin-top: 12px;
    font-size: 20px;
    line-height: 30px;
    font-weight: 500;
    letter-spacing: 3px;
  }
  .sp08-legacy__lead {
    margin-top: 25px !important;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 3px;
  }

  .sp08-legacy::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 375px;
    height: 1043px;
    --line-mask:
      linear-gradient(41deg, transparent 49.86%, rgba(231,194,75,.42) 50%, transparent 50.14%) -272px 0 / 1168px 658px no-repeat,
      linear-gradient(139deg, transparent 49.88%, rgba(0,0,0,.5) 50%, transparent 50.12%) -160px 78px / 1040px 580px no-repeat;
    background: linear-gradient(135deg, #e7c24b 0, #393424 100%);
    -webkit-mask: var(--line-mask);
    mask: var(--line-mask);
    -webkit-mask: none;
    mask: none;
    clip-path: path("M -272 900.2 L -271.94 899.89 L 342.96 1042.55 L 342.9 1042.87 Z M -185.38 780.03 L -185.28 779.73 L 443.81 1007.93 L 443.72 1008.23 Z M 596.7 900.28 L 41.25 385.4 L 41.69 384.84 L 597.14 899.72 Z M 522.7 926.85 L -151.84 477.82 L -151.57 477.34 L 522.97 926.37 Z M 202.17 1010.12 L 822.31 541.8 L 822.54 542.16 L 202.4 1010.47 Z M 205.06 1000.44 L 204.8 1000.06 L 826.24 509.27 L 826.5 509.65 Z M 304.14 1034.02 L 895.95 777.54 L 896.05 777.83 L 304.25 1034.32 Z");
    /* Figma: group opacity 60% × vector fill opacity 60% */
    opacity: .36;
    pointer-events: none;
  }

  .sp08-generations {
    position: relative;
    z-index: 1;
    display: block;
    width: 333px;
    max-width: 100%;
    height: auto;
    margin: 0 auto 39px;
  }

  .sp08-legacy__building {
    display: block;
    width: 375px;
    height: 251px;
    object-fit: cover;
  }
  .sp08-legacy__statement {
    height: 464px;
    padding: 81px 24px 0;
    font-size: 20px;
    line-height: 30px;
    letter-spacing: 3px;
  }

  .sp08-book {
    height: 703px;
    color: #fff;
    background: #000;
  }
  .sp08-book__copy { height: 468px; padding: 40px 24px 0; }
  .sp08-book h2 {
    font-size: 20px;
    line-height: 30px;
    font-weight: 400;
    letter-spacing: 3px;
  }
  .sp08-book p {
    margin-top: 23px;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 3px;
    text-align: justify;
  }
  .sp08-book a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    width: 271px;
    height: 48px;
    margin: 35px auto 0;
    border: 1px solid #fff;
    font-size: 16px;
    letter-spacing: 3px;
  }
  .sp08-book i, .sp08-related__button i {
    display: block;
    width: 28px;
    height: 8px;
  }
  .sp08-book i {
    height: 9px;
    background: url("../images/sp/legacy-book-arrow-59-306.svg") center / 28.5px 9px no-repeat;
  }
  .sp08-book > img { display: block; width: 374px; height: 234px; object-fit: cover; object-position: center; }

  .sp08-related__item {
    position: relative;
    isolation: isolate;
    height: 800px;
    padding: 41px 24px 0;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
  }
  .sp08-related__item--kunindo {
    background: url("../../images/bg-kunindo_2_sp.jpg") center / cover no-repeat;
  }
  .sp08-related__item--surga {
    background: url("../../images/bg-surga_2_sp.jpg") center / cover no-repeat;
  }
  .sp08-related__item::before {
    position: absolute;
    z-index: -1;
    top: 20px;
    right: 16px;
    bottom: 30px;
    left: 16px;
    background: rgba(0, 0, 0, .6);
    content: "";
  }
  .sp08-related__photo { display: block; width: 278px; height: 278px; margin: 0 auto 16px; object-fit: cover; }
  .sp08-related__item h2 {
    height: 72px;
    padding-top: 12px;
    border-bottom: 1px solid #ccc;
    font-family: Inter, sans-serif;
    font-size: 40px;
    line-height: 40px;
    font-weight: 400;
    letter-spacing: 3px;
  }
  .sp08-related__item h2 small { font-size: 14px; vertical-align: middle; }
  .sp08-related__item > p:not(.sp08-related__label) {
    margin-top: 24px;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 3px;
  }
  .sp08-related__profile {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 16px;
    margin-top: 16px;
    color: #ccc !important;
    font-size: 14px;
    letter-spacing: 2px;
    white-space: nowrap;
  }
  .sp08-related__profile img { width: 16px; height: 16px; object-fit: contain; }
  .sp08-related__button {
    display: flex;
    align-items: center;
    justify-content:center;
    gap: 57px;
    width: 290px;
    height: 30px;
    margin: 24px auto 0;
    padding-right: 8px;
    color: #800000 !important;
    background: #fff;
    font-size: 16px;
    letter-spacing: 3px;
    position: relative;
  }
  .sp08-related__button i { 
    width: 13px; 
    height: 13px; 
    border-right: 1px solid; 
    border-bottom: 1px solid; 
    transform: rotate(-45deg);
    position: absolute;
    right: 8.5px;
  }
  .sp08-related__label { margin-top: 24px !important; text-align: center; font-size: 16px; line-height: 16px; letter-spacing: 3px; }

  .sp08-footer {
    height: 197px;
    padding-top: 41px;
    color: #222;
    background: #fff;
    text-align: center;
    font-family: Inter, sans-serif;
  }
  .sp08-footer img { display: block; width: 74px; height: 74px; margin: 0 auto; }
  .sp08-footer p { margin-top: 20px; font-size: 14px; line-height: 1.6; font-weight: 600; font-family: "Inter", sans-serif;}
}
