@charset "utf-8";

/* サイト共通ヒーロー。説明文のないページはコンパクトに表示する。 */
.jmrc-page-hero { position: relative; overflow: hidden; background: center / cover no-repeat; color: #fff; }
.jmrc-page-hero { min-height: 300px; }
.jmrc-page-hero--has-description { min-height: 460px; }
.jmrc-page-hero::before { position: absolute; inset: 0; background: rgba(0, 0, 0, .38); content: ""; }
.jmrc-page-hero--plain { background: linear-gradient(135deg, #143f58, #1d6a88); }
.jmrc-page-hero--plain::before { background-image: radial-gradient(circle at 9% 112%, transparent 0 88px, rgba(255,255,255,.12) 89px 91px, transparent 92px), radial-gradient(circle at 91% -18%, transparent 0 112px, rgba(255,255,255,.12) 113px 115px, transparent 116px), linear-gradient(120deg, transparent 0 45%, rgba(255,255,255,.08) 45.1% 45.5%, transparent 45.6% 100%); }
.jmrc-page-hero__content { position: relative; display: flex; box-sizing: border-box; align-items: center; flex-direction: column; text-align: center; }
.jmrc-page-hero__content { min-height: 300px; justify-content: center; padding: 36px; }
.jmrc-page-hero--has-description .jmrc-page-hero__content { min-height: 460px; justify-content: flex-start; padding: 108px 36px 36px; }
.jmrc-page-hero__content p { margin: 0 0 8px; font: 600 48px/1 "Josefin Sans", sans-serif; }
.jmrc-page-hero__content h1 { margin: 0; font-size: 40px; font-weight: 600; }
.jmrc-page-hero__content .jmrc-page-hero__lead { align-self: stretch; margin: auto -36px -36px; padding: 16px 42px; background: rgba(0, 23, 38, .64); color: rgba(255, 255, 255, .8); font-size: 28px; font-weight: 400; line-height: 1.55; text-shadow: 0 1px 8px rgba(0, 0, 0, .55); }

/* #wrap の横余白をまたいで、部会ページと同じ全幅で表示する。 */
#wrap.news-page > .jmrc-page-hero { margin: 0 -24px; }
