/* A「瑞宝」 紺と金の式典招待状 */
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@500;700&family=Noto+Serif+JP:wght@400;700&family=EB+Garamond:wght@500&display=swap");

:root {
  --max: 860px;
  --bg: #FAF7F0;
  --card: #FFFDF8;
  --ink: #1B2A4A;
  --muted: #55607A;
  --accent: #80621B;
  --focus: #80621B;
  --line: #DED6C2;
  --sec-line: transparent;
  --notice-bg: #F3ECDC;
  --hero-bg: #1B2A4A;
  --hero-ink: #F7F2E6;
  --hero-accent: #D9BC78;
  --mesh: #D9BC78;
  --mesh-op: .2;
  --nav-bg: #FAF7F0;
  --btn-bg: #D9BC78;
  --btn-ink: #1B2A4A;
  --foot-bg: #1B2A4A;
  --foot-ink: #E9E1CD;
  --radius: 0;
  --radius-btn: 0;
  --font-head: "Shippori Mincho", "Hiragino Mincho ProN", serif;
  --font-body: "Noto Serif JP", "Hiragino Mincho ProN", serif;
  --font-en: "EB Garamond", Georgia, serif;
}

/* 中央揃えの招待状構成 */
.hero__in { text-align: center; }
.hero__in::before, .hero__in::after {
  content: ""; display: block; height: 3px; max-width: 560px; margin-inline: auto;
  border-block: 1px solid var(--hero-accent);
}
.hero__in::before { margin-bottom: 40px; }
.hero__in::after { margin-top: 44px; }
.hero__rule { margin-inline: auto; }
.hero__facts, .hero__cta { justify-content: center; }
.hero__mesh { -webkit-mask-image: linear-gradient(90deg, transparent 45%, #000); mask-image: linear-gradient(90deg, transparent 45%, #000); }

.nav ul { justify-content: safe center; }

.sec__h { text-align: center; }
.sec__h::after {
  content: ""; display: block; width: 56px; height: 3px; margin: 14px auto 0;
  border-block: 1px solid var(--accent);
}
.sec__body { margin-top: 22px; }
.prose { margin-inline: auto; }

/* 余白を控えめに */
body { line-height: 1.8; }
.hero__in { padding-block: clamp(36px, 5vw, 56px); }
.hero__in::before { margin-bottom: 24px; }
.hero__in::after { margin-top: 28px; }
.hero__rule { margin-block: 18px; }
.hero__cta { margin-top: 20px; }
.sec { padding-block: clamp(30px, 4vw, 42px); }
.sec__h::after { margin-top: 8px; }
.news li { padding-block: 9px; }
.timeline li { padding-block: 10px; }
.notice { margin-top: 16px; padding-block: 12px; }
.works__h { margin-top: 28px; }
.works li { padding: 11px 14px; }
.contact__h { margin-top: 28px; }
.info > div { padding-block: 9px; }
#access .info { margin-block: 12px; }
.plain { margin-top: 16px; }

#register { background: var(--hero-bg); color: var(--hero-ink); --accent: var(--hero-accent); --muted: #C9CEDB; --reg-muted: #C9CEDB; --reg-ink: #F7F2E6; }
#register .sec__body { text-align: center; }
#register .plain { display: block; text-align: center; }
#register .addendum { margin-inline: auto; text-align: left; border-color: rgba(217, 188, 120, .5); }
