@charset "UTF-8";
/*
---------------------------------------------------------------------------------------------------------------------
完全密着
---------------------------------------------------------------------------------------------------------------------
*/
.report {
  padding: 20px 0 0 0; }
  @media (min-width: 1024px) {
    .report {
      padding: 60px 0 0 0; } }
  @media (min-width: 1200px) {
    .report {
      padding: 80px 0 0 0; } }
  .report .member-title {
    position: relative;
    bottom: -70px;
    z-index: 10;
    text-align: center; }
    @media (min-width: 768px) {
      .report .member-title {
        bottom: -50px; } }
    .report .member-title.day p {
      position: relative;
      top: 0;
      right: 60px;
      background-color: #fff;
      color: #e6007e; }
      @media (min-width: 768px) {
        .report .member-title.day p {
          position: absolute;
          top: 40px;
          right: calc(50% + 6em); } }
      @media (min-width: 1200px) {
        .report .member-title.day p {
          top: 80px;
          right: calc(50% + 8em); } }
    .report .member-title p {
      font-size: 1.25em;
      line-height: 1.05em;
      font-feature-settings: "palt";
      letter-spacing: 0.04em;
      background-color: #e6007e;
      color: #fff;
      display: inline-block;
      transform: rotate(-5deg); }
      @media (min-width: 768px) {
        .report .member-title p {
          font-size: 1.75em; } }
      @media (min-width: 1200px) {
        .report .member-title p {
          font-size: 2.25em; } }
    .report .member-title h2.day {
      font-size: 3.0em;
      line-height: 1.0em;
      color: #fff; }
      @media (min-width: 768px) {
        .report .member-title h2.day {
          font-size: 5.0em; } }
      @media (min-width: 1200px) {
        .report .member-title h2.day {
          font-size: 9.0em; } }
  .report__inner {
    position: relative;
    background-color: #d82b7d;
    border-radius: 20px 20px 0 0;
    padding: 80px 0 0;
    color: #fff; }
    @media (min-width: 768px) {
      .report__inner {
        max-width: 1400px;
        margin: 0 auto; } }
    @media (min-width: 1200px) {
      .report__inner {
        border-radius: 40px 40px 0 0;
        padding: 120px 0 0; } }
  .report__beginning {
    max-width: 1000px;
    margin: auto;
    width: 90%; }
  .report__movie {
    position: relative; }
    .report__movie .thumbnail img {
      border-radius: 10px; }
      @media (min-width: 768px) {
        .report__movie .thumbnail img {
          border-radius: 20px; } }
  .report__body {
    position: relative;
    display: grid;
    gap: 20px;
    margin-top: 10px; }
    @media (min-width: 768px) {
      .report__body {
        grid-template-columns: 1fr 140px;
        margin-top: 20px; } }
    @media (min-width: 1024px) {
      .report__body {
        grid-template-columns: 1fr 240px;
        gap: 30px;
        margin-top: 40px; } }
  .report__copy {
    font-size: 1.35em;
    font-weight: 700;
    line-height: 1.4em;
    margin: 0 0 20px 0; }
    @media (min-width: 768px) {
      .report__copy {
        font-size: 1.75em; } }
    @media (min-width: 1200px) {
      .report__copy {
        font-size: 2.25em; } }
  .report__text {
    font-size: 0.9em;
    font-weight: 500;
    line-height: 2.0em;
    text-align: justify;
    margin: 0; }
    @media (min-width: 768px) {
      .report__text {
        font-size: 1.0em; } }
    @media (min-width: 1200px) {
      .report__text {
        font-size: 1.125em; } }
  .report__profile {
    margin: 20px 0 6px;
    padding-right: 100px; }
    @media (min-width: 768px) {
      .report__profile {
        margin: 20px 0 10px;
        padding-right: 0; } }
    @media (min-width: 1024px) {
      .report__profile {
        margin: 20px 0 40px; } }
  .report__name {
    display: inline-block;
    background-color: #000;
    padding: 6px 12px;
    font-size: 1.125em;
    font-weight: 500;
    line-height: 1.2em;
    margin: 0 0 10px 0; }
    @media (min-width: 768px) {
      .report__name {
        font-size: 1.5em; } }
    .report__name span {
      font-size: 0.65em;
      position: relative;
      top: -2.5px;
      margin-right: 8px; }
      @media (min-width: 768px) {
        .report__name span {
          font-size: 0.7em; } }
  .report__profile-text {
    font-size: 0.85em;
    font-weight: 500;
    line-height: 1.8em;
    text-align: justify;
    margin: 0; }
    @media (min-width: 768px) {
      .report__profile-text {
        font-size: 0.9em; } }
    @media (min-width: 1200px) {
      .report__profile-text {
        font-size: 1.0em; } }
  .report__person {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100px; }
    @media (min-width: 768px) {
      .report__person {
        width: 160px; } }
    @media (min-width: 1024px) {
      .report__person {
        width: 200px; } }
    .report__person img {
      display: block;
      width: 220px;
      max-width: 100%;
      margin: 0 auto; }
      @media (min-width: 768px) {
        .report__person img {
          width: 240px; } }

/*
---------------------------------------------------------------------------------------------------------------------
スケジュール
---------------------------------------------------------------------------------------------------------------------
*/
.schedule {
  position: relative;
  z-index: 2;
  background: linear-gradient(180deg, #d82b7d 0%, #d82b7d 50%, #fff 50%, #fff 100%);
  max-width: 1400px;
  margin: 0 auto; }
  .schedule__inner {
    position: relative;
    background-color: #fff;
    border-radius: 20px;
    max-width: 1050px;
    border: 2px solid #d82b7d;
    padding: 20px;
    display: grid;
    gap: 10px;
    width: 90%;
    margin: auto; }
    @media (min-width: 768px) {
      .schedule__inner {
        padding: 60px 60px; } }
    @media (min-width: 1024px) {
      .schedule__inner {
        grid-template-columns: 1fr 1fr;
        gap: 0;
        align-items: start; } }
  .schedule ul {
    margin: 0;
    display: grid;
    gap: 10px; }
  .schedule li {
    position: relative;
    padding-left: 22px; }
    .schedule li a {
      font-size: 0.85em;
      font-weight: 500;
      line-height: 1.4em;
      color: #E12D82; }
      @media (min-width: 768px) {
        .schedule li a {
          font-size: 0.9em; } }
      @media (min-width: 1200px) {
        .schedule li a {
          font-size: 1.0em; } }
    .schedule li::before {
      content: "";
      position: absolute;
      top: 3px;
      left: 0;
      width: 18px;
      height: 18px;
      z-index: 10;
      margin: auto;
      background: url("../../img/page/day-parts/menu.svg") no-repeat center/contain; }
    .schedule li span {
      margin-right: 6px;
      font-weight: 700; }

.day-scene, .sod-land {
  background-color: #fff;
  max-width: 1400px;
  margin: auto;
  padding: 50px 5%; }
  .day-scene__inner, .sod-land__inner {
    max-width: 1000px;
    margin: auto; }
  .day-scene .comment, .sod-land .comment {
    font-size: 0.9em;
    font-weight: 500;
    line-height: 1.4em;
    display: inline-block;
    padding: 8px 12px;
    background-color: #7441b2;
    border-radius: 10px;
    color: #fff; }
    @media (min-width: 768px) {
      .day-scene .comment, .sod-land .comment {
        font-size: 1.0em;
        padding: 10px 15px; } }
    .day-scene .comment.tate, .sod-land .comment.tate {
      writing-mode: vertical-rl; }
    .day-scene .comment.rouge, .sod-land .comment.rouge {
      background-color: #E12D82; }
    .day-scene .comment.blanc, .sod-land .comment.blanc {
      background-color: #fff;
      color: #000; }
  .day-scene .movie-thumbnail img, .sod-land .movie-thumbnail img {
    border-radius: 8px; }
  .day-scene .common-button, .sod-land .common-button {
    display: flex;
    justify-content: flex-start;
    margin-top: 20px; }

.scene-time {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 10px;
  background: #e6006e;
  color: #fff;
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.0em; }
  @media (min-width: 768px) {
    .scene-time {
      font-size: 1.5em; } }
  @media (min-width: 1200px) {
    .scene-time {
      font-size: 1.8em;
      padding: 6px 20px 8px; } }
  .scene-time img {
    width: 28px; }
    @media (min-width: 768px) {
      .scene-time img {
        width: 34px; } }
  .scene-time span {
    font-size: 0.9em; }

h2.scene-title {
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.4em;
  margin: 20px 0 5px;
  color: #e6006e; }
  @media (min-width: 768px) {
    h2.scene-title {
      font-size: 1.35em; } }
  @media (min-width: 1200px) {
    h2.scene-title {
      font-size: 1.65em;
      margin: 30px 0 10px; } }
  h2.scene-title.land {
    font-size: 1.25em;
    color: #fff;
    margin: 0 0 15px 0; }
    @media (min-width: 768px) {
      h2.scene-title.land {
        font-size: 1.35em; } }
    @media (min-width: 1200px) {
      h2.scene-title.land {
        font-size: 1.6em; } }

p.scene-text {
  font-size: 0.9em;
  font-weight: 500;
  text-align: justify;
  color: #000;
  line-height: 1.6em;
  margin: 0; }
  @media (min-width: 1200px) {
    p.scene-text {
      font-size: 1.0em; } }
  p.scene-text.land {
    font-size: 0.85em;
    color: #fff; }
    @media (min-width: 1200px) {
      p.scene-text.land {
        font-size: 0.9em; } }

.sod-land {
  position: relative;
  background: #7341AA;
  padding: 70px 5% 60px;
  overflow: hidden; }
  .sod-land::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 80px;
    background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
    opacity: 1; }
    @media (min-width: 768px) {
      .sod-land::before {
        height: 120px; } }
  .sod-land__inner {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 40px; }
    @media (min-width: 768px) {
      .sod-land__inner {
        gap: 40px; } }
    @media (min-width: 1024px) {
      .sod-land__inner {
        gap: 60px; } }

@media (min-width: 768px) {
  .land-box {
    display: grid;
    gap: 20px; } }
@media (min-width: 1024px) {
  .land-box {
    gap: 40px; } }
.land-box.prologue {
  margin: -40px auto 0; }
  @media (min-width: 768px) {
    .land-box.prologue {
      grid-template-columns: 1fr 400px;
      align-items: center;
      margin: 100px auto 0; } }
.land-box.type-R {
  grid-template-columns: 1fr 360px; }
.land-box.type-L {
  grid-template-columns: 360px 1fr; }
.land-box__content {
  padding-top: 0; }
.land-box .common-button {
  margin-top: 40px; }
.land-box .sod-land-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #e12d82;
  padding: 3px 9px;
  color: #fff;
  line-height: 1;
  margin-bottom: 20px; }
  .land-box .sod-land-label__icon {
    display: block;
    width: 20px;
    height: auto; }
  .land-box .sod-land-label__text {
    font-size: 1.1em;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em; }
    @media (min-width: 768px) {
      .land-box .sod-land-label__text {
        font-size: 1.2em; } }
.land-box .people-ph {
  position: relative;
  bottom: 0;
  width: 45%; }
  @media (min-width: 1024px) {
    .land-box .people-ph {
      position: absolute; } }
  .land-box .people-ph.inoue {
    margin-left: 55%; }
  .land-box .people-ph.kimura {
    margin-left: 55%; }
  .land-box .people-ph.type1 {
    right: 0; }
    .land-box .people-ph.type1 .comment {
      position: absolute;
      top: 20px;
      width: 130px;
      right: 100%; }
      @media (min-width: 1024px) {
        .land-box .people-ph.type1 .comment {
          top: 0; } }
  .land-box .people-ph.type2 {
    left: 0; }
    .land-box .people-ph.type2 .comment {
      position: absolute;
      width: 130px;
      top: 20px;
      left: 100%; }
      @media (min-width: 1024px) {
        .land-box .people-ph.type2 .comment {
          top: 10px; } }
  .land-box .people-ph.type3 {
    left: 0;
    margin-top: 10px; }
    @media (min-width: 1024px) {
      .land-box .people-ph.type3 {
        margin-top: 0; } }
    .land-box .people-ph.type3 .comment {
      position: absolute;
      width: 170px;
      top: 20px;
      left: 100%; }
      @media (min-width: 1024px) {
        .land-box .people-ph.type3 .comment {
          top: 10px;
          width: 200px; } }
  .land-box .people-ph.type4 {
    right: 0;
    margin-top: 10px; }
    @media (min-width: 1024px) {
      .land-box .people-ph.type4 {
        margin-top: 0;
        bottom: -20px; } }
    @media (min-width: 1200px) {
      .land-box .people-ph.type4 {
        bottom: 0; } }
    .land-box .people-ph.type4 .comment {
      position: absolute;
      top: 20px;
      width: 160px;
      right: 100%; }
      @media (min-width: 1024px) {
        .land-box .people-ph.type4 .comment {
          width: 190px;
          top: 10; } }
.land-box__images {
  position: relative;
  min-height: 300px; }
  @media (min-width: 768px) {
    .land-box__images {
      min-height: 280px; } }
  .land-box__images .comment {
    position: absolute;
    top: 10%;
    left: 0;
    z-index: 10;
    width: 170px; }
    @media (min-width: 768px) {
      .land-box__images .comment {
        width: 240px; } }
.land-box__image {
  position: absolute;
  margin: 0;
  overflow: hidden;
  border-radius: 10px; }
  .land-box__image img {
    display: block;
    width: 100%;
    height: auto; }
  .land-box__image--top {
    left: 0;
    top: 0;
    width: 250px; }
    @media (min-width: 768px) {
      .land-box__image--top {
        width: 320px; } }
  .land-box__image--bottom {
    right: 0;
    bottom: 40px;
    width: 250px; }
    @media (min-width: 768px) {
      .land-box__image--bottom {
        width: 260px;
        bottom: 0; } }
  .land-box__image--top-inoue {
    right: 0;
    top: 0;
    width: 230px; }
    @media (min-width: 768px) {
      .land-box__image--top-inoue {
        width: 200px; } }
  .land-box__image--bottom-inoue {
    bottom: 20px;
    left: 0;
    width: 250px; }
    @media (min-width: 768px) {
      .land-box__image--bottom-inoue {
        width: 300px;
        bottom: 0;
        left: 0; } }
.land-box .day-content {
  position: relative;
  margin-top: 20px; }
  @media (min-width: 768px) {
    .land-box .day-content {
      margin-top: 0; } }
  .land-box .day-content.inoue {
    display: flex;
    align-items: center; }
  .land-box .day-content .scene-title:nth-of-type(2) {
    margin-top: 40px; }

.sod-ending {
  position: relative;
  padding: 40px 0 60px;
  color: #fff; }
  @media (min-width: 768px) {
    .sod-ending {
      padding: 80px 0 120px; } }
  .sod-ending.inoue::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 120px;
    background: linear-gradient(180deg, #7341AA 0%, rgba(0, 0, 0, 0) 100%);
    opacity: 1;
    z-index: -1; }
  .sod-ending__inner {
    max-width: 1000px;
    margin: 0 auto;
    width: 90%; }
  .sod-ending__dots {
    display: grid;
    justify-content: center;
    gap: 5px;
    margin-bottom: 20px; }
    @media (min-width: 768px) {
      .sod-ending__dots {
        gap: 10px;
        margin-bottom: 40px; } }
    .sod-ending__dots span {
      display: block;
      width: 5px;
      height: 5px;
      background: #fff;
      border-radius: 50%; }
      @media (min-width: 768px) {
        .sod-ending__dots span {
          width: 5px;
          height: 5px; } }
  .sod-ending__movie {
    margin-bottom: 80px; }
    @media (min-width: 768px) {
      .sod-ending__movie {
        margin-bottom: 120px; } }
    .sod-ending__movie.inoue {
      margin-bottom: 40px; }
      @media (min-width: 768px) {
        .sod-ending__movie.inoue {
          margin-bottom: 60px; } }
  .sod-ending__lead {
    font-size: 1.25em;
    font-weight: 700;
    text-align: center;
    line-height: 1.4em;
    margin: 0 0 10px 0; }
    @media (min-width: 768px) {
      .sod-ending__lead {
        font-size: 2.25em;
        margin: 0 0 20px 0; } }
  .sod-ending__image {
    width: 100%;
    max-width: 260px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 15px; }
    @media (min-width: 768px) {
      .sod-ending__image {
        max-width: 350px;
        border-radius: 30px; } }
    @media (min-width: 1024px) {
      .sod-ending__image {
        max-width: 500px; } }
  .sod-ending__image-inoue {
    width: 94%;
    margin: 0 auto;
    overflow: hidden; }
    @media (min-width: 768px) {
      .sod-ending__image-inoue {
        max-width: 600px; } }
    @media (min-width: 1024px) {
      .sod-ending__image-inoue {
        max-width: 800px; } }
  .sod-ending__other {
    background: #E12D82;
    border-radius: 10px;
    padding: 35px 25px; }
    @media (min-width: 768px) {
      .sod-ending__other {
        border-radius: 20px;
        padding: 40px 50px; } }
    @media (min-width: 1024px) {
      .sod-ending__other {
        padding: 60px; } }
  .sod-ending__other-head {
    margin-bottom: 20px; }
    @media (min-width: 1024px) {
      .sod-ending__other-head {
        margin-bottom: 40px; } }
  .sod-ending__other-label {
    font-size: 0.9em;
    font-weight: 500;
    line-height: 1;
    color: #000;
    margin: 0 0 5px 0; }
    @media (min-width: 1024px) {
      .sod-ending__other-label {
        font-size: 1.125em;
        margin: 0 0 10px 0; } }
  .sod-ending__other-title {
    font-size: 1.65em;
    font-weight: 700;
    line-height: 1.4em;
    margin: 0; }
    @media (min-width: 1024px) {
      .sod-ending__other-title {
        font-size: 2.2em; } }
    @media (min-width: 1200px) {
      .sod-ending__other-title {
        font-size: 3.0em; } }
  .sod-ending__other-content {
    display: grid;
    gap: 20px; }
    @media (min-width: 768px) {
      .sod-ending__other-content {
        grid-template-columns: 45% 1fr;
        align-items: center; } }
    @media (min-width: 1024px) {
      .sod-ending__other-content {
        gap: 40px; } }
  .sod-ending__thumbnail {
    display: block;
    overflow: hidden;
    border-radius: 10px; }
    .sod-ending__thumbnail img {
      display: block;
      width: 100%;
      height: auto;
      transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1); }
    .sod-ending__thumbnail:hover img {
      transform: scale(1.04); }
  .sod-ending__other-text {
    display: grid;
    align-content: center; }
  .sod-ending__copy {
    font-size: 1.125em;
    font-weight: 700;
    line-height: 1.4em;
    margin: 0; }
    @media (min-width: 1024px) {
      .sod-ending__copy {
        font-size: 1.45em; } }
    @media (min-width: 1200px) {
      .sod-ending__copy {
        font-size: 1.75em; } }
  .sod-ending__name {
    font-size: 0.9em;
    font-weight: 700;
    line-height: 1.4em;
    color: #000;
    margin: 10px 0 20px; }
    @media (min-width: 1024px) {
      .sod-ending__name {
        font-size: 1.125em;
        margin: 10px 0 40px; } }
  .sod-ending .common-button {
    justify-content: flex-start; }
