/* メッセージ専用。既存ヘッダー・FVのスタイルには影響しない。 */
.message-section{background:var(--white,#fff);padding:var(--section-space,96px) 24px;color:var(--ink,#171717);scroll-margin-top:calc(var(--header-height,100px) + 16px)}
.message-layout{max-width:var(--content-width,1200px);margin-inline:auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-areas:"photo heading" "photo content";column-gap:clamp(32px,6vw,80px);row-gap:32px;align-items:start}
.message-heading{grid-area:heading;min-width:0}
.message-eyebrow{color:var(--accent,#FF32CB);font-size:14px;font-weight:800;letter-spacing:.2em;margin:0 0 14px}
.message-heading h2{font-size:clamp(24px,2.5vw,34px);font-family:var(--font);font-weight:900;line-height:1.6;letter-spacing:.02em;margin:0;overflow-wrap:anywhere}
.message-heading:after{content:"";display:block;width:48px;height:3px;background:var(--accent,#FF32CB);margin-top:22px}
.message-photo{grid-area:photo;position:relative;margin:0;width:100%;aspect-ratio:4/5;overflow:hidden;border-radius:24px 24px 8px 8px;background:var(--off-white,#faf8f5)}
.message-photo img{display:block;position:absolute;left:0;top:-11.2%;width:100%;height:111.2%;max-width:none;object-fit:cover;object-position:78% bottom}
.message-content{grid-area:content;min-width:0;font-family:var(--font);font-size:17px;font-weight:400;line-height:1.8;color:#333;overflow-wrap:anywhere}
.message-content p{margin:0 0 1.5em}
.message-excerpt{margin:0;padding:0}
.message-placeholder{margin-block:28px;padding:20px;background:var(--off-white,#faf8f5);border:1px dashed #d7c8c8;border-radius:8px;color:#666;font-size:15px}
.message-placeholder p{margin:0 0 8px}.message-placeholder p:last-child{margin:0}
.message-source{font-size:14px}.message-source a{color:var(--accent,#FF32CB);text-decoration:underline;text-underline-offset:4px}.message-source a:hover{text-decoration-thickness:2px}
@media(max-width:760px){.message-section{padding:64px 24px}.message-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "photo" "content";gap:28px}.message-photo{max-width:440px;justify-self:center;aspect-ratio:4/4.5}.message-content{font-size:16px}.message-heading h2{font-size:clamp(23px,5.5vw,30px)}}
/* 提供の縦長写真に合わせ、以前の文字除外用トリミングを解除。 */
.message-photo img{position:static;top:auto;left:auto;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
/* 横並びでは写真上端を日本語見出しの上端へそろえる。 */
.message-eyebrow{line-height:1.5}
@media(min-width:761px){.message-photo{margin-top:50px}}





/* 共有する価値観以降の文章は写真・本文の下に配置。 */
.message-continuation{grid-column:1/-1;min-width:0;font-family:var(--font);font-size:17px;font-weight:400;line-height:1.8;color:#333;overflow-wrap:anywhere}
.message-continuation p{margin:0 0 1.5em}
.message-continuation p:last-child{margin-bottom:0}
@media(max-width:760px){.message-continuation{font-size:16px}}
/* 下段本文を名前付きの全幅行に固定し、自動配置による片列への折返しを防ぐ。 */
.message-layout{grid-template-areas:"photo heading" "photo content" "continuation continuation"}
.message-continuation{grid-area:continuation;width:100%;max-width:none;justify-self:stretch}
@media(max-width:760px){.message-layout{grid-template-areas:"heading" "photo" "content" "continuation"}}
