@charset "UTF-8";
/* 記事詳細：YouTube動画ブロック（INN_OE-1589）
   本文の最後（プランリンクがあればその下）、施設情報の直前に置く。
   クリックされるまでYouTubeは読み込まない（article-movie.js） */

.p-movie__label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  font-family: Montserrat, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .24em;
  color: #987941;
}
.p-movie__label::after {
  content: "";
  width: 40px;
  height: 1px;
  background: #987941;
}

.p-movie__frame {
  position: relative;
  aspect-ratio: 16 / 9;
  max-width: 960px;
  margin: 32px auto 0;
  background: #000;
  border-radius: 8px;
  overflow: hidden;
}
.p-movie__frame img,
.p-movie__frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.p-movie__frame img {
  object-fit: cover;
}

.p-movie__play {
  position: absolute;
  inset: 0;
  width: 100%;
  padding: 0;
  border: 0;
  background: rgba(0, 0, 0, .12);
  cursor: pointer;
}
.p-movie__play::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .95) url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M9%207.2v9.6l7.6-4.8z%22%20fill%3D%22%23987941%22%20stroke%3D%22%23987941%22%20stroke-width%3D%223.2%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") no-repeat 56% center / 44px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .25);
  transform: translate(-50%, -50%);
  transition: transform .3s;
}
.p-movie__play:hover::before,
.p-movie__play:focus-visible::before {
  transform: translate(-50%, -50%) scale(1.08);
}

/* スマホ：下にYouTubeのプレーヤーを置き、サムネとボタンは見た目だけ重ねてタップを通す（article-movie.js） */
.p-movie__frame.--touch iframe,
.p-movie__frame.--touch img {
  position: absolute;
  inset: 0;
}
.p-movie__frame.--touch img,
.p-movie__frame.--touch .p-movie__play {
  pointer-events: none;
  transition: opacity .3s, visibility .3s;
}
.p-movie__frame.--touch.is-playing img,
.p-movie__frame.--touch.is-playing .p-movie__play {
  opacity: 0;
  visibility: hidden;
}

.p-movie__caption {
  max-width: 960px;
  margin: 12px auto 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  color: #4c4c4c;
}

@media screen and (max-width: 767px) {
  .p-movie__label {
    margin-bottom: 8px;
    font-size: 11px;
  }
  .p-movie__frame {
    margin-top: 20px;
  }
  .p-movie__play::before {
    width: 64px;
    height: 64px;
    background-size: 32px;
  }
  .p-movie__caption {
    margin-top: 10px;
    font-size: 12px;
  }
}
