/* ---------------------------------
イメージ動画
--------------------------------- */
.movie {
position: relative;
overflow: hidden;
padding:12rem 0;
}

.movie::before {
content: "";
position: absolute;
top: -180px;
right: -160px;
width: 560px;
aspect-ratio: 1;
background: rgba(255, 255, 255, 0.28);
border-radius: 50%;
}

.movie::after {
content: "";
position: absolute;
bottom: -240px;
left: -180px;
width: 520px;
aspect-ratio: 1;
background: rgba(255, 255, 255, 0.38);
border-radius: 50%;
}

.section-container {
position: relative;
z-index: 1;
}


/* --------------------------------- 
動画（左カラム）
--------------------------------- */
.movie__content {
display: grid;
grid-template-columns:
minmax(290px, 480px)
minmax(0, 1fr);
align-items: center;
gap: 6rem;
}

.movie__video {
position: relative;
width: 100%;
min-width: 0;
padding: 1rem;
background: rgba(255, 255, 255, 0.7);
box-shadow:
0 28px 70px rgba(63, 49, 39, 0.13),
0 4px 12px rgba(63, 49, 39, 0.06);
backdrop-filter: blur(8px);
}

.movie__video::before {
content: "";
position: absolute;
inset: 1rem;
border: 1px solid var(--color-line2);
pointer-events: none;
z-index: 3;
}

.movie__video .instagram-media {
position: relative !important;
z-index: 1;
width: 100% !important;
min-width: 0 !important;
max-width: 100% !important;
margin: .5rem !important;
border: 0 !important;
box-shadow: none !important;
}


/* ---------------------------------
テキスト（右カラム）
--------------------------------- */
.movie__message {
position: relative;
}

.movie__message::before {
content: "“";
position: absolute;
top: -70px;
left: 0;
color: rgba(139, 113, 94, 0.12);
font-family: Georgia, serif;
font-size: 150px;
line-height: 1;
pointer-events: none;
}

.movie__catch {
position: relative;
margin-bottom: 4rem;
font-family:"mincho", serif;
font-size: 4rem;
line-height: 1.7;
letter-spacing: 0.09em;
}

.movie__lead {
color: var(--color-gray2);
font-size: 1.6rem;
line-height: 2.1;
letter-spacing: 0.035em;
}

.movie__note {
margin-top: 2rem;
padding: 2rem 0 6rem 0;
border-top: 1px solid var(--color-line3);
color: var(--color-gray3);
font-size: 1.3rem;
line-height: 1.8;
}


/* ---------------------------------
Instagram 読み込み前の高さ確保
--------------------------------- */
.movie__video:has(.instagram-media) {
min-height: 570px;
}


/* ---------------------------------
SP
--------------------------------- */
@media screen and (max-width: 820px) {


.movie__content {
grid-template-columns: 1fr;
gap: 52px;
}

.movie__video {
width: min(100%, 430px);
margin-inline: auto;
}

.movie__message {
max-width: 600px;
margin-inline: auto;
text-align: center;
}

.movie__message::before {
left: 50%;
transform: translateX(-50%);
}

.movie__note {
text-align: left;
}

}


@media screen and (max-width: 520px) {


.movie__heading {
margin-bottom: 38px;
}

.movie__title {
font-size: 25px;
line-height: 1.65;
}

.movie__lead {
font-size: 13px;
line-height: 1.9;
}

.movie__lead br {
display: none;
}

.movie__video {
padding: 10px;
}

.movie__video::before {
inset: 5px;
}

.movie__badge {
top: 22px;
min-width: 170px;
padding: 9px 15px 10px;
transform: translateX(-5px);
}

.movie__catch {
margin-bottom: 22px;
font-size: 25px;
line-height: 1.7;
}

.movie__message > p:not(
.movie__catch,
.movie__note
) {
font-size: 14px;
line-height: 2;
text-align: left;
}

.movie__button {
width: 100%;
min-width: 0;
}

.movie__video:has(.instagram-media) {
min-height: 510px;
}

}



