/* ============================== / movply--brandmovie start / ============================== */
/* 対象：ファーストビュー内の2026年ムービーカード。PCは18vw、コピーと重ならない左下へ配置。 */
a.movply--brandmovie { left: 2vw; right: auto; width: 18vw; min-width: 0; padding: .765vw; border: 0; border-radius: .585vw; box-sizing: border-box; background: #fff; color: #005c4b; font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif; line-height: 1.4; text-align: center; box-shadow: 0 .25vw 1vw #0000001a; transition: translate .25s ease, box-shadow .25s ease; }
a.movply--brandmovie:hover { background: #fff; }
a.movply--brandmovie:focus-visible { outline: .2vw solid #d6c26f; outline-offset: .3vw; }
.movply__thumbnail { display: block; position: relative; aspect-ratio: 16 / 9; overflow: hidden; }
.movply--brandmovie .movply__thumbnail img { display: block; width: 100%; height: 100%; object-fit: cover; }
.movply__play { display: block; position: absolute; left: 43%; top: 72%; width: 14%; aspect-ratio: 1; border: .12vw solid #fff; border-radius: 50%; box-sizing: border-box; background: #d6c26f; transition: transform .25s ease, background-color .25s ease; }
.movply__play::before { content: ""; position: absolute; left: 38%; top: 27%; width: 36%; height: 46%; background: #005c4b; clip-path: polygon(0 0, 100% 50%, 0 100%); }
.movply__label { display: block; margin-top: .54vw; font-size: .9vw; font-weight: 700; line-height: 1.5; letter-spacing: -.025em; white-space: nowrap; }
.movply__title { display: block; margin-top: .315vw; font-size: 1.215vw; font-weight: 700; line-height: 1.5; letter-spacing: -.025em; white-space: nowrap; }
@media (hover: hover) and (pointer: fine) {
  a.movply--brandmovie:hover { translate: 0 -.35vw; box-shadow: 0 .55vw 1.5vw #00000040; transition: translate .25s ease, box-shadow .25s ease; }
  a.movply--brandmovie:hover .movply__play { transform: scale(1.12); background: #ead588; }
}
@media (prefers-reduced-motion: reduce) {
  a.movply--brandmovie, a.movply--brandmovie:hover, .movply__play { transition: none; }
  a.movply--brandmovie:hover { translate: none; }
  a.movply--brandmovie:hover .movply__play { transform: none; }
}
/* ============================== / movply--brandmovie end / ============================== */

/* ============================== / top-bnr start / ============================== */
/* 対象：index_mov.htmlのバナー列。画像比率の差で枠だけが伸び、下に白い余白が出るのを防ぐ。 */
.top-bnr__inner { align-items: start; }
/* ============================== / top-bnr end / ============================== */

/* ============================== / f-shintaku-banner start / ============================== */
/* 家族信託側の下余白を外し、次の空き家管理側の上余白1vwだけを共通の区切り帯とする。 */
.f-shintaku-banner { padding-bottom: 0; }
/* ============================== / f-shintaku-banner end / ============================== */

/* ============================== / brand-film start / ============================== */
.brand-film, .brand-film * { box-sizing: border-box; }
.brand-film {
  position: relative;
  display: grid;
  line-height: 1.2;
  grid-template-columns: 55% 45%;
  width: 100%;
  min-height: 56.25vw;
  color: #fff;
  background: #004637;
  font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
}
/* 家族信託と共通のNEW。セクション内のbox-sizing・書体だけ元の共通仕様へ戻す。 */
.brand-film > .new_mark { box-sizing: content-box; font-family: "Hiragino Kaku Gothic ProN", sans-serif; font-weight: 400; line-height: 2; }
.brand-film__copy { align-self: center; padding: 6.3vw 3.8vw 7vw 6.5vw; }
.brand-film__label { display: flex; align-items: center; gap: 1vw; margin: 0 0 2.8vw; color: #cfb65a; font-size: 1.42vw; font-weight: 500; letter-spacing: .035em; }
.brand-film__label::before { content: ""; width: 2.4vw; height: .12vw; background: currentColor; }
.brand-film__title { margin: 0; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: 4.65vw; line-height: 1.4; font-weight: 400; letter-spacing: -.035em; }
.brand-film__intro { margin-top: 2.6vw; font-family: yu-gothic-pr6n, sans-serif; font-weight: 400; font-size: 1.33vw; line-height: 1.78; letter-spacing: -.02em; }
.brand-film__intro p { margin: 0; }
.brand-film__phrase { white-space: nowrap; }
.brand-film__actions { display: flex; gap: 2.2vw; align-items: center; margin-top: 4.3vw; }
.brand-film__wordmark { display: block; width: 16.2vw; height: auto; }
.brand-film__watch { display: flex; flex: 1; min-width: 0; align-items: center; justify-content: space-between; gap: 1vw; padding: 1.35vw 1.8vw; border: .12vw solid #cfb65a; color: #cfb65a; font-family: "Hiragino Kaku Gothic ProN", sans-serif; font-size: 2rem; font-weight: 400; line-height: 1.5; text-decoration: none; transition: color .2s, background-color .2s; }
.brand-film__watch:hover { color: #004637; background: #cfb65a; }
/* 文字の矢印を使わず、枠・テキストと同じ上下中心に線と矢尻を描く。 */
.brand-film__watch span { display: block; position: relative; flex: 0 0 1.8em; width: 1.8em; height: .75em; }
.brand-film__watch span::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: .08em; background: currentColor; transform: translateY(-50%); }
.brand-film__watch span::after { content: ""; position: absolute; right: 0; top: 50%; width: .45em; height: .45em; border-top: .08em solid currentColor; border-right: .08em solid currentColor; transform: translateY(-50%) rotate(45deg); }
.brand-film__watch:focus-visible { outline: .2vw solid #fff; outline-offset: .35vw; }
.brand-film__visual { position: relative; min-width: 0; min-height: 56.25vw; overflow: hidden; }
.brand-film__grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(4, 1fr); gap: .25vw; position: absolute; inset: 0; overflow: hidden; }
.brand-film__scene { position: absolute; inset: 0; display: grid; grid-template-columns: inherit; grid-template-rows: inherit; gap: inherit; opacity: 1; filter: blur(0); transition: opacity .9s ease, filter .9s ease; }
.brand-film__scene--incoming { opacity: 0; filter: blur(.6vw); }
.brand-film__scene--outgoing { opacity: 0; filter: blur(.6vw); pointer-events: none; }
.brand-film__tile { position: relative; min-width: 0; min-height: 0; overflow: hidden; background: #123f35; isolation: isolate; }
.brand-film__tile[hidden] { display: none; }
.brand-film__photo { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.brand-film__tile--wide .brand-film__photo { object-position: 50% var(--wide-y, 30%); }
.brand-film__tile--tall .brand-film__photo { object-position: 50% 36%; }
.brand-film__noscript { padding: 2vw; font-size: 1vw; }
@media (prefers-reduced-motion: reduce) {
  .brand-film__scene, .brand-film__photo, .brand-film__watch { transition: none; }
}
/* ============================== / brand-film end / ============================== */
