.section-program {
  .program-contents {
    .program-bg {
      position: relative;
      &::before {
        content: "";
        position: absolute;
        top: 100px;
        left: 0;
        width: 100%;
        height: 86vw;
        z-index: -3;
        @media screen and (max-width: 768px) {
          top: 400px;
          height: 60%;
        }
      }
      &.blue {
        &::before {
          background: url("/facetofes/2026/img/bg/bg-gradation-blue02.png") repeat-y top center / cover;
          @media screen and (max-width: 768px) {
             background: url("/facetofes/2026/img/bg/bg-gradation-blue02_sp.png") repeat-y top center / cover;
          }
        }
      }
      &.yellow {
        &::before {
          background: url("/facetofes/2026/img/bg/bg-gradation-yellow02.png") repeat-y top center / cover;
          @media screen and (max-width: 768px) {
             background: url("/facetofes/2026/img/bg/bg-gradation-yellow02_sp.png") repeat-y top center / cover;
          }
        }
      }
      &.green {
        &::before {
          background: url("/facetofes/2026/img/bg/bg-gradation-green02.png") repeat-y top center / cover;
          @media screen and (max-width: 768px) {
             background: url("/facetofes/2026/img/bg/bg-gradation-green02_sp.png") repeat-y top center / cover;
          }
        }
      }
    }
    h2 {
      text-align: left;
      display: inline-block;
      padding: 20px 40px 20px 136px;
      border-radius: 0 100px 100px 0;
      font-family: var(--sansation);
      font-size: 60px;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      width: 570px;
      height: 105px;
      white-space: nowrap;
      @media screen and (max-width: 768px) {
        width: 320px;
        font-size: 44px;
        padding: 16px 32px 16px 16px;
        height: 80px;
      }
      &.blue {
        background-color: var(--blue-primary);
        color: var(--white);
      }
      &.yellow {
        background-color: var(--yellow-primary);
        color: var(--brown);
      }
      &.green {
        background-color: var(--green-primary);
        color: var(--white);
      }
      &.noto {
        font-size: 48px;
        @media screen and (max-width: 768px) {
          font-size: 36px;
        }
      }
    }
    .program-contents-title {
      gap: 48px;
      @media screen and (max-width: 768px) {
        gap: 24px;
      }
      .program-contents-title__image {
        width: 40%;
        @media screen and (max-width: 768px) {
          max-width: 500px;
          width: 100%;
          margin: 0 auto;
        }
      }
      .program-contents-title__text {
        width: 450px;
        text-align: left;
        @media screen and (max-width: 768px) {
          width: 100%;
        }
        h3 {
          font-size: 34px;
          @media screen and (max-width: 768px) {
            font-size: 28px;
          }
        }
        p {
          margin-top: 16px;
          @media screen and (max-width: 768px) {
            margin-top: 12px;
          }
        }
      }
    }
    .session-list {
      &.illust01 {
        position: relative;
        &::before, &::after {
          content: "";
          position: absolute;
        }
        &::before {
          top: -90px;
          left: -25vw;
          width: 495px;
          height: 166px;
          background: url("/facetofes/2026/img/illust/illust06.png") no-repeat center / contain;
          z-index: -2;
          @media screen and (max-width: 768px) {
            width: 200px;
            top: -74px;
            right: -97px;
            left: auto;
            transform: scale(-1, 1);
          }
        }
        &::after {
          bottom: -245px;
          right: -3vw;
          width: 124px;
          height: 178px;
          background: url("/facetofes/2026/img/illust/chiemaru02.png") no-repeat center / contain;
          z-index: -2;
          @media screen and (max-width: 768px) {
            width: 80px;
            bottom: -260px;
            right: 0;
          }
        }
      }
      &.illust02 {
        position: relative;
        &::before, &::after {
          content: "";
          position: absolute;
        }
        &::before {
          top: -120px;
          left: -7vw;
          width: 100px;
          height: 164px;
          background: url("/facetofes/2026/img/illust/illust07.png") no-repeat center / contain;
          z-index: -2;
          @media screen and (max-width: 768px) {
            width: 70px;
            top: -150px;
            right: -10px;
            left: auto;
            transform: rotate(-50deg);
          }
        }
        &::after {
          bottom: -245px;
          right: -11vw;
          width: 151px;
          height: 140px;
          background: url("/facetofes/2026/img/illust/illust08.png") no-repeat center / contain;
          z-index: -2;
          @media screen and (max-width: 768px) {
            width: 100px;
            bottom: -230px;
            right: -30px;
          }
        }
      }
      .session-list-item {
        a {
          transition: all 0.3s;
          &:hover {
            opacity: 0.7;
          }
        }
        span {
          cursor: not-allowed;
        }
        img {
          border-radius: 20px;
          box-shadow: var(--ftf-shadow);
        }
        &.center {
          grid-column: 1 / -1;
          justify-content: center;
        }
      }
    }
    .bg-bottom {
      padding-bottom: 100px;
      @media screen and (max-width: 768px) {
        padding-bottom: 60px;
      }
      &.green {
        &::after {
          background: linear-gradient(180deg, #FFF 6.68%, var(--green-accent, #E7FFF1) 100%);
        }
      }
    }
  }
}
