#time11-40 {
  padding: 80px 0 0 0;
  margin-top: -80px;
  display: grid;
  gap: 30px; }
  @media (min-width: 768px) {
    #time11-40 {
      padding: 120px 0 0 0;
      grid-template-columns: 300px 1fr;
      gap: 20px;
      align-items: start; } }
  @media (min-width: 1200px) {
    #time11-40 {
      grid-template-columns: 400px 1fr;
      gap: 40px; } }
  #time11-40 .common-button {
    justify-content: flex-end; }

#time11-50 {
  position: relative;
  padding: 200px 0 0 0;
  margin-top: -40px;
  display: grid;
  gap: 30px; }
  @media (min-width: 768px) {
    #time11-50 {
      grid-template-columns: 100px 40% 1fr;
      gap: 20px;
      align-items: start;
      padding: 120px 0 0 0; } }
  @media (min-width: 1200px) {
    #time11-50 {
      grid-template-columns: 200px 400px 1fr;
      gap: 40px; } }
  #time11-50 .movie-thumbnail {
    margin-top: auto; }
    @media (min-width: 1200px) {
      #time11-50 .movie-thumbnail {
        margin: 0; } }
  #time11-50 .people-ph {
    position: absolute;
    top: -20px;
    left: -10%;
    width: 50%; }
    @media (min-width: 768px) {
      #time11-50 .people-ph {
        position: relative;
        top: -100px;
        left: -50%;
        width: 150%; } }
    #time11-50 .people-ph .comment {
      position: absolute;
      top: 50%;
      left: 100%;
      width: 180px; }
      @media (min-width: 768px) {
        #time11-50 .people-ph .comment {
          top: 50px;
          width: 220px; } }
      @media (min-width: 1200px) {
        #time11-50 .people-ph .comment {
          top: 0; } }

.producer-box {
  padding: 40px 0; }
  @media (min-width: 768px) {
    .producer-box {
      padding: 40px 0; } }
  .producer-box__inner {
    position: relative;
    background-color: #7341AA;
    border-radius: 20px;
    padding: 40px 20px 0;
    color: #fff;
    overflow: hidden; }
    @media (min-width: 768px) {
      .producer-box__inner {
        max-width: 970px;
        margin: 0 auto;
        border-radius: 24px;
        padding: 40px 40px 0 80px; } }
    @media (min-width: 1024px) {
      .producer-box__inner {
        padding: 60px 80px 0 150px; } }
  .producer-box__mark {
    position: absolute;
    top: 40px;
    right: 30px;
    font-size: 4.0em;
    font-weight: 700;
    line-height: 0.8; }
    @media (min-width: 768px) {
      .producer-box__mark {
        left: 20px;
        top: 40px;
        font-size: 6.0em; } }
    @media (min-width: 1024px) {
      .producer-box__mark {
        left: 60px; } }
  .producer-box__content {
    position: relative;
    z-index: 2; }
    @media (min-width: 1024px) {
      .producer-box__content {
        width: 460px; } }
  .producer-box__title {
    font-size: 1.35em;
    font-weight: 700;
    line-height: 1.4em;
    margin: 0 0 32px; }
    @media (min-width: 768px) {
      .producer-box__title {
        margin-bottom: 30px;
        font-size: 1.375em; } }
  .producer-box__text {
    font-size: 0.9em;
    font-weight: 500;
    line-height: 1.8em;
    margin: 0 0 20px 0; }
    @media (min-width: 768px) {
      .producer-box__text {
        font-size: 1.0em;
        margin: 0 0 40px 0; } }
  .producer-box__image {
    position: relative;
    z-index: 1;
    width: 200px;
    margin: auto; }
    @media (min-width: 768px) {
      .producer-box__image {
        position: absolute;
        right: 20px;
        bottom: 0;
        width: 240px;
        margin: 0; } }
    @media (min-width: 1024px) {
      .producer-box__image {
        right: 90px;
        width: 280px; } }
    .producer-box__image img {
      display: block; }
  .producer-box__comment {
    position: absolute;
    right: 24px;
    bottom: 100px;
    z-index: 3;
    margin: 0;
    background: #fff;
    border-radius: 10px;
    padding: 12px 10px;
    color: #7341AA;
    font-size: 0.85em;
    font-weight: 700;
    line-height: 1.4em;
    writing-mode: vertical-rl; }
    @media (min-width: 768px) {
      .producer-box__comment {
        top: 100px;
        bottom: inherit;
        right: 20px; } }
    @media (min-width: 1024px) {
      .producer-box__comment {
        top: 60px;
        right: 80px;
        font-size: 1.0em; } }

#time11-50b {
  position: relative;
  margin-top: 40px;
  display: grid;
  gap: 20px; }
  @media (min-width: 768px) {
    #time11-50b {
      grid-template-columns: 55% 1fr;
      align-items: start; } }
  @media (min-width: 1200px) {
    #time11-50b {
      grid-template-columns: 60% 1fr;
      gap: 40px; } }
  #time11-50b h2.scene-title {
    margin: 0 0 10px; }
  #time11-50b .people-ph {
    position: relative;
    bottom: 0;
    right: 0;
    width: 50%;
    margin: 40px 0 0 50%; }
    @media (min-width: 768px) {
      #time11-50b .people-ph {
        position: absolute;
        bottom: -20px;
        width: 16%;
        margin: 0; } }
    #time11-50b .people-ph .comment {
      position: absolute;
      top: 0;
      right: 90%;
      width: 160px; }
      @media (min-width: 768px) {
        #time11-50b .people-ph .comment {
          width: 190px; } }

#time12-45 {
  padding: 80px 0 0 0;
  margin-top: -40px;
  display: grid;
  gap: 30px; }
  @media (min-width: 768px) {
    #time12-45 {
      padding: 120px 0 0 0;
      grid-template-columns: 45% 1fr;
      gap: 20px;
      align-items: start; } }
  @media (min-width: 1200px) {
    #time12-45 {
      gap: 40px; } }

#time12-45b {
  position: relative;
  margin-top: 20px; }
  @media (min-width: 768px) {
    #time12-45b {
      margin-top: 40px; } }
  #time12-45b .comment {
    position: absolute;
    bottom: 30px;
    left: 0;
    width: 160px; }
    @media (min-width: 768px) {
      #time12-45b .comment {
        bottom: 10%; } }
  #time12-45b .movie-thumbnail {
    width: 80%;
    margin-left: 10px; }
    @media (min-width: 768px) {
      #time12-45b .movie-thumbnail {
        width: 50%;
        margin-left: 100px; } }
  #time12-45b .comment.rouge {
    position: absolute;
    top: -50px;
    bottom: inherit;
    left: calc(50% + 50px);
    width: auto; }
    @media (min-width: 768px) {
      #time12-45b .comment.rouge {
        top: 10%; } }
  #time12-45b .scene-text {
    margin: 50px 0 0 15%; }
    @media (min-width: 768px) {
      #time12-45b .scene-text {
        margin: 20px 0 0 15%;
        position: relative;
        top: 10px; } }

#time13-40 {
  padding: 60px 0 0 0;
  margin-top: -40px;
  display: grid;
  gap: 30px; }
  @media (min-width: 768px) {
    #time13-40 {
      padding: 120px 0 0 0;
      grid-template-columns: 50% 1fr;
      gap: 20px;
      align-items: start; } }
  @media (min-width: 1200px) {
    #time13-40 {
      grid-template-columns: 55% 1fr;
      gap: 40px; } }
  #time13-40 .scene-time.t1340 {
    display: inline-block;
    position: relative;
    top: -5px; }

#time14-30 {
  padding: 80px 0 0 0;
  margin-top: -40px;
  display: grid;
  gap: 30px; }
  @media (min-width: 768px) {
    #time14-30 {
      grid-template-columns: 45% 1fr;
      gap: 20px;
      align-items: start;
      padding: 120px 0 0 0; } }
  @media (min-width: 1200px) {
    #time14-30 {
      gap: 40px; } }
  #time14-30 .day-content .day-content-in {
    margin-top: 20px; }
    @media (min-width: 768px) {
      #time14-30 .day-content .day-content-in {
        margin-top: 0; } }
  #time14-30 .day-content .movie-thumbnail {
    margin-top: 40px;
    position: relative; }
    #time14-30 .day-content .movie-thumbnail .comment {
      position: absolute;
      top: 30%;
      left: 20%;
      width: 130px; }
      @media (min-width: 768px) {
        #time14-30 .day-content .movie-thumbnail .comment {
          left: 35%; } }

.impression {
  background-color: #E12D82;
  border-radius: 15px;
  padding: 20px 20px;
  color: #fff; }
  @media (min-width: 1200px) {
    .impression {
      padding: 50px 30px;
      border-radius: 30px; } }
  .impression__image {
    position: relative;
    margin-bottom: 10px; }
    @media (min-width: 768px) {
      .impression__image {
        margin-bottom: 20px; } }
    .impression__image img {
      border-radius: 10px; }
  .impression__comment {
    position: absolute;
    left: 15%;
    top: 5%;
    background-color: #fff;
    border-radius: 10px;
    padding: 10px 10px;
    color: #e12d82;
    font-size: 0.9em;
    font-weight: 700;
    line-height: 1.4em;
    writing-mode: vertical-rl;
    margin: 0; }
    @media (min-width: 1200px) {
      .impression__comment {
        left: 20%;
        top: 10%;
        font-size: 1em;
        padding: 20px 10px; } }
  .impression__text {
    font-size: 0.9em;
    font-weight: 500;
    line-height: 2.0em;
    margin: 0; }
    @media (min-width: 1200px) {
      .impression__text {
        font-size: 1em; } }

.i-asked {
  margin-bottom: 15px; }
  @media (min-width: 1200px) {
    .i-asked {
      margin-bottom: 30px; } }
  @media (min-width: 768px) {
    .i-asked.yoko {
      display: flex;
      align-items: center;
      gap: 10px; } }
  @media (min-width: 1200px) {
    .i-asked.yoko {
      gap: 20px; } }
  .i-asked.tate .label {
    margin: 0 0 5px 0; }
    @media (min-width: 768px) {
      .i-asked.tate .label {
        margin: 0 0 20px 0; } }
  .i-asked .label {
    background-color: #fff;
    color: #e12d82;
    font-size: 0.9em;
    font-weight: 700;
    line-height: 1.4em;
    padding: 5px 10px;
    margin: 0 0 5px 0;
    display: inline-block; }
    @media (min-width: 768px) {
      .i-asked .label {
        margin: 0; } }
    @media (min-width: 1200px) {
      .i-asked .label {
        font-size: 1em; } }
  .i-asked .title {
    font-size: 1.25em;
    font-weight: 700;
    line-height: 1.4em;
    margin: 0; }
    @media (min-width: 1200px) {
      .i-asked .title {
        font-size: 1.375em; } }

#time14-30b {
  margin-top: 40px;
  display: grid;
  gap: 15px; }
  @media (min-width: 768px) {
    #time14-30b {
      grid-template-columns: 40% 1fr;
      gap: 20px;
      align-items: start;
      margin-top: 80px; } }
  @media (min-width: 1200px) {
    #time14-30b {
      grid-template-columns: 35% 1fr;
      gap: 40px; } }
  #time14-30b .day-content {
    position: relative;
    height: 100%; }
  #time14-30b h2.scene-title {
    margin: 0 0 10px; }
  #time14-30b .people-ph {
    position: relative;
    bottom: -15px;
    left: 0;
    width: 50%; }
    @media (min-width: 768px) {
      #time14-30b .people-ph {
        position: absolute;
        bottom: -35%; } }
    @media (min-width: 1024px) {
      #time14-30b .people-ph {
        bottom: -20%; } }
    @media (min-width: 1200px) {
      #time14-30b .people-ph {
        bottom: -10%; } }
    #time14-30b .people-ph .comment {
      position: absolute;
      top: 0;
      left: 100%;
      width: 115px; }
      @media (min-width: 768px) {
        #time14-30b .people-ph .comment {
          width: 140px; } }

#time15-30 {
  padding: 120px 0 0 0;
  margin-top: -40px;
  display: grid;
  gap: 15px; }
  @media (min-width: 768px) {
    #time15-30 {
      grid-template-columns: 55% 1fr;
      gap: 20px;
      align-items: start; } }
  @media (min-width: 1200px) {
    #time15-30 {
      grid-template-columns: 60% 1fr;
      gap: 40px; } }

.qa-profile {
  position: relative;
  background-color: #7341AA;
  padding: 30px 20px;
  border-radius: 20px;
  color: #fff;
  display: grid;
  gap: 20px;
  margin: 40px auto 0; }
  @media (min-width: 768px) {
    .qa-profile {
      margin: 40px auto 0;
      padding: 30px 30px;
      align-items: center;
      justify-content: space-between;
      display: flex; } }
  @media (min-width: 1024px) {
    .qa-profile {
      margin: 100px auto 0;
      padding: 40px 40px; } }
  .qa-profile__content {
    position: relative;
    z-index: 2; }
  .qa-profile__question {
    font-size: 1.0em;
    font-weight: 700;
    line-height: 1.4em;
    margin: 0 0 10px 0; }
    @media (min-width: 1024px) {
      .qa-profile__question {
        font-size: 1.35em;
        margin: 0 0 20px 0; } }
  .qa-profile__answer {
    font-size: 1.45em;
    font-weight: 700;
    line-height: 1.25em;
    margin: 0 0 10px 0; }
    @media (min-width: 1024px) {
      .qa-profile__answer {
        font-size: 2.25em;
        margin: 0 0 20px 0; } }
    .qa-profile__answer .blur {
      color: transparent;
      text-shadow: 0 0 14px rgba(255, 255, 255, 0.9); }
  .qa-profile__text {
    font-size: 0.8em;
    font-weight: 500;
    line-height: 1.4em;
    margin: 0; }
    @media (min-width: 1024px) {
      .qa-profile__text {
        font-size: 1em; } }
  .qa-profile__image {
    position: absolute;
    bottom: -10px;
    right: -10px;
    margin: 0 auto;
    width: 100px;
    order: -1; }
    @media (min-width: 768px) {
      .qa-profile__image {
        top: 0;
        bottom: 0;
        left: -20px;
        right: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        order: initial;
        width: 150px; } }
    @media (min-width: 1024px) {
      .qa-profile__image {
        width: 200px;
        left: -100px; } }

#time16-40 {
  padding: 80px 0 0 0;
  margin-top: -40px;
  display: grid;
  gap: 30px; }
  @media (min-width: 768px) {
    #time16-40 {
      grid-template-columns: 40% 1fr;
      gap: 20px;
      align-items: start;
      padding: 120px 0 0 0; } }
  @media (min-width: 1200px) {
    #time16-40 {
      grid-template-columns: 45% 1fr;
      gap: 40px; } }
  #time16-40 .day-content .day-content-in {
    margin-top: 20px; }
    @media (min-width: 768px) {
      #time16-40 .day-content .day-content-in {
        margin-top: 0; } }
  #time16-40 .day-content .movie-thumbnail {
    margin-top: 40px; }

.impression-voice {
  background-color: #e12d82;
  border-radius: 15px;
  padding: 30px 20px;
  color: #fff; }
  @media (min-width: 768px) {
    .impression-voice {
      border-radius: 30px; } }
  @media (min-width: 1200px) {
    .impression-voice {
      padding: 40px 40px; } }
  .impression-voice__content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 20px;
    align-items: center; }
  .impression-voice__image {
    margin: 0; }
    .impression-voice__image img {
      border-radius: 10px; }
  .impression-voice__text {
    font-size: 0.9em;
    font-weight: 500;
    text-align: justify;
    line-height: 1.8em;
    margin: 0; }
    @media (min-width: 768px) {
      .impression-voice__text {
        font-size: 1.0em; } }
  .impression-voice__bottom {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 30px; }
    @media (min-width: 768px) {
      .impression-voice__bottom {
        gap: 20px; } }
  .impression-voice__thumbs {
    display: flex;
    gap: 10px; }
    .impression-voice__thumbs img {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      object-fit: cover; }
      @media (min-width: 768px) {
        .impression-voice__thumbs img {
          width: 50px;
          height: 50px; } }
  .impression-voice__message {
    background-color: #fff;
    border-radius: 20px;
    padding: 10px 20px;
    color: #e12d82;
    font-size: 1.0em;
    font-weight: 700;
    line-height: 1.2em;
    white-space: nowrap;
    display: inline-block; }
    @media (min-width: 768px) {
      .impression-voice__message {
        font-size: 1.25em; } }

.interview-comment {
  padding: 40px 0; }
  @media (min-width: 768px) {
    .interview-comment {
      padding: 60px 0; } }
  .interview-comment__inner {
    background: #e12d82;
    border-radius: 15px;
    padding: 40px 24px;
    color: #fff;
    display: grid;
    gap: 34px; }
    @media (min-width: 768px) {
      .interview-comment__inner {
        max-width: 1180px;
        margin: 0 auto;
        border-radius: 30px;
        padding: 40px 40px;
        grid-template-columns: 1fr 300px;
        gap: 20px;
        align-items: center; } }
    @media (min-width: 1200px) {
      .interview-comment__inner {
        grid-template-columns: 1fr 400px;
        gap: 40px; } }
  .interview-comment__block + .interview-comment__block {
    margin-top: 20px; }
    @media (min-width: 768px) {
      .interview-comment__block + .interview-comment__block {
        margin-top: 40px; } }
  .interview-comment .i-asked {
    margin: 0 0 10px 0; }
  .interview-comment__title {
    font-size: 1.25em;
    font-weight: 700;
    line-height: 1.4em;
    margin: 0 0 10px 0; }
    @media (min-width: 768px) {
      .interview-comment__title {
        font-size: 1.375em;
        margin: 0 0 10px 0; } }
  .interview-comment__text {
    font-size: 0.9em;
    font-weight: 500;
    line-height: 1.8em;
    margin: 0; }
    @media (min-width: 768px) {
      .interview-comment__text {
        font-size: 1.0em; } }
  .interview-comment__image {
    position: relative;
    margin: 0; }
    .interview-comment__image img {
      border-radius: 10px; }
  .interview-comment__bubble {
    position: absolute;
    margin: 0;
    background: #fff;
    border-radius: 18px;
    padding: 18px 12px;
    color: #e12d82;
    font-size: 0.9em;
    font-weight: 700;
    line-height: 1.4em;
    writing-mode: vertical-rl; }
    @media (min-width: 768px) {
      .interview-comment__bubble {
        font-size: 1em; } }
    .interview-comment__bubble--left {
      left: 40px;
      top: 120px; }
      @media (min-width: 1200px) {
        .interview-comment__bubble--left {
          top: 35%;
          left: 98px; } }
    .interview-comment__bubble--right {
      left: 70px;
      top: 60px; }
      @media (min-width: 1200px) {
        .interview-comment__bubble--right {
          left: 142px;
          top: 64px; } }

#time18-50 {
  padding: 80px 0 0 0;
  margin-top: -40px;
  display: grid;
  gap: 30px; }
  @media (min-width: 768px) {
    #time18-50 {
      grid-template-columns: 45% 1fr;
      gap: 20px;
      align-items: start; } }
  @media (min-width: 1200px) {
    #time18-50 {
      gap: 40px;
      padding: 120px 0 0 0; } }

#epilog {
  position: relative;
  overflow: hidden;
  max-width: 1400px;
  margin: auto; }
  @media (min-width: 768px) {
    #epilog {
      padding: 20px 0 00px; } }
  #epilog::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 80%;
    background: linear-gradient(180deg, #7341AA 0%, rgba(0, 0, 0, 0) 100%);
    opacity: 1;
    z-index: -1; }
  #epilog .sod-message-visual {
    position: relative;
    max-width: 500px;
    min-height: 180px;
    margin: 0 auto; }
    @media (min-width: 768px) {
      #epilog .sod-message-visual {
        min-height: 260px; } }
    #epilog .sod-message-visual__comments {
      position: relative;
      z-index: 2;
      width: 54%; }
      @media (min-width: 768px) {
        #epilog .sod-message-visual__comments {
          width: 50%; } }
    #epilog .sod-message-visual__comment {
      position: absolute;
      margin: 0;
      background: #fff;
      border-radius: 14px;
      color: #000;
      font-size: 0.9em;
      font-weight: 700;
      line-height: 1.4em;
      padding: 10px 15px; }
      @media (min-width: 768px) {
        #epilog .sod-message-visual__comment {
          font-size: 1em;
          padding: 16px 18px; } }
      #epilog .sod-message-visual__comment--top {
        top: 0;
        left: 30px;
        width: 175px; }
        @media (min-width: 768px) {
          #epilog .sod-message-visual__comment--top {
            top: 30px;
            left: 0;
            width: 210px; } }
      #epilog .sod-message-visual__comment--bottom {
        top: 100px;
        left: 70px;
        width: 120px; }
        @media (min-width: 768px) {
          #epilog .sod-message-visual__comment--bottom {
            left: 80px;
            top: 160px;
            width: 140px; } }
    #epilog .sod-message-visual__image {
      position: absolute;
      right: 15px;
      bottom: 0;
      width: 40%;
      margin: 0; }
      @media (min-width: 768px) {
        #epilog .sod-message-visual__image {
          right: 10px;
          width: 50%; } }
