.special.project .cont__header_project {
  position: relative; }
  .special.project .cont__header_project figure {
    width: 100%; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .special.project .cont__header_project figure {
        width: 200vw;
        margin-left: -50vw; } }
  .special.project .cont__header_project .ttl {
    position: absolute;
    left: 50%;
    top: 50%;
    display: flex;
    transform: translate(-50%, -35%); }
    .special.project .cont__header_project .ttl_cat {
      font-weight: 600;
      line-height: 0.9;
      color: #fff; }
    .special.project .cont__header_project .ttl_txt {
      white-space: nowrap;
      margin-top: 10.4rem;
      margin-left: -12.6rem; }
      .special.project .cont__header_project .ttl_txt span {
        display: inline-block;
        background-color: #ED86B3;
        color: #fff;
        font-weight: 500;
        line-height: 1;
        padding: 0.2em 0.4em 0.3em;
        margin-bottom: 0.1em;
        letter-spacing: 0.05em; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          .special.project .cont__header_project .ttl_txt span {
            margin-bottom: 0; } }
@media only screen and (max-width: 768px), print and (min-width: 2cm) {
  .special.project .sec_1 br:first-of-type {
    display: none; } }
@media only screen and (max-width: 999px), print and (max-width: 1cm) {
  .special.project .sec_1 br:not(:first-of-type) {
    display: none; } }
.special.project .box_profile {
  position: relative; }
  .special.project .box_profile__ttl {
    width: 300px;
    height: 60px;
    border-radius: 30px;
    background-color: #ED86B3;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, -50%); }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .special.project .box_profile__ttl {
        width: 200px;
        height: 50px;
        border-radius: 25px; } }
  .special.project .box_profile .txt_1 {
    color: #ED86B3;
    font-weight: 500;
    line-height: 1.6;
    margin-top: 0.8em; }
  .special.project .box_profile .txt_2 {
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 1em; }
.special.project .box_last {
  overflow: hidden; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .special.project .box_last {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      margin-top: 2em; } }
  .special.project .box_last > *.f_left {
    float: left; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .special.project .box_last > *.f_left {
        float: none; } }
  .special.project .box_last > *.f_right {
    float: right; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .special.project .box_last > *.f_right {
        float: none; } }
  .special.project .box_last figure {
    margin-bottom: 3.5em;
    width: 420px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .special.project .box_last figure {
        margin-bottom: 2.5em;
        width: 36%; } }
  .special.project .box_last p {
    margin-bottom: 1em;
    width: calc(100% - 420px);
    max-width: 500px; }
    @media only screen and (min-width: 769px), print and (min-width: 2cm) {
      .special.project .box_last p {
        min-height: 12.6em; }
        .special.project .box_last p.f_left {
          padding-right: 20px;
          padding-left: 10px; }
        .special.project .box_last p.f_right {
          padding-right: 10px;
          padding-left: 20px; } }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .special.project .box_last p {
        margin-bottom: 1.8em;
        width: calc(100% - 36% - 20px); } }
  .special.project .box_last .speaker {
    display: none; }
.special.project p:has(.speaker) {
  display: flex; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .special.project p:has(.speaker):nth-of-type(odd) .speaker {
      order: 2;
      margin-right: 0;
      margin-left: 10px; } }
.special.project .speaker {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 0 0 60px;
  max-width: 60px;
  margin-right: 10px;
  font-size: 1rem; }
.special.project .sec_4 p {
  flex: 0 0 100%; }
.special.movie .cont__header_movie {
  width: 90vw;
  margin-top: 100px;
  margin-bottom: 4em;
  position: relative; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .special.movie .cont__header_movie {
      width: 126vw;
      margin-left: -30vw;
      margin-top: 50px;
      margin-bottom: 0; } }
  .special.movie .cont__header_movie .cont__header_ttl {
    width: 420px;
    height: 120px;
    border-radius: 8px;
    background: linear-gradient(225deg, #ef76aa 0%, #9561e8 100%);
    opacity: 0.95;
    position: absolute;
    left: 50vw;
    bottom: 0;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    transform: translate(-50%, 30%); }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .special.movie .cont__header_movie .cont__header_ttl {
        width: 280px;
        height: 80px;
        transform: translate(-50%, -35%);
        position: static;
        border-radius: 6px;
        margin-left: 80vw; } }
.special.movie .youtube {
  width: calc(100% - 40px);
  aspect-ratio: 16 / 9;
  margin: 3.5rem auto; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .special.movie .youtube {
      width: 100%;
      margin: 2.5rem auto; } }
  .special.movie .youtube iframe {
    width: 100%;
    height: 100%; }
