@charset "UTF-8";
/*
  /asuracore/asset/css/object/module/m-movie.css
  ブランドムービー

  再生ボタンが押された時点でJS（top/movie.js）がiframeを生成し、
  .m-movie__frame の中身を差し替える。
*/

.m-movie {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  width: 100%;
  max-width: 747px;
  margin: 0 auto;

  @media screen and (max-width: 840px) {
    gap: 20px;
  }
}

.m-movie__title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--navy);
  text-align: center;

  @media screen and (max-width: 840px) {
    font-size: 24px;
  }
}

/* 動画の入る枠 */
.m-movie__frame {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 4px;
  background-color: var(--gray);
  overflow: hidden;
  cursor: pointer;

  /* 枠のどこを押しても再生するため、ホバーは枠側で受ける */
  &:hover {
    .m-movie__play {
      background-color: rgb(255 255 255 / 90%);
    }
  }

  &.is-playing {
    cursor: auto;
  }
}

/* サムネイル */
.m-movie__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* JSが生成するYouTubeプレイヤー */
.m-movie__iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

/* 注釈。.m-movie の gap では見出しから離れるため上方向に詰める */
.m-movie__note {
  margin: -24px 0 0 0;
  font-size: 12px;
  line-height: 1.6;
  color: var(--navy);
  text-align: center;

  @media screen and (max-width: 840px) {
    margin: -14px 0 0 0;
  }
}

/* 再生ボタン。円の中央に三角形を擬似要素で引く */
.m-movie__play {
  position: relative;
  width: 82px;
  height: 82px;
  border-radius: 50%;
  background-color: rgb(255 255 255 / 70%);
  transition: background-color .3s;

  @media screen and (max-width: 840px) {
    width: 60px;
    height: 60px;
  }

  &::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    border-style: solid;
    border-width: 13px 0 13px 22px;
    border-color: transparent transparent transparent var(--white);
    transform: translate(-40%, -50%);
  }
}
