/* Public header only: keep independent of page-specific body styles. */
.portal-contact-routing{margin-bottom:28px}
.editorial-header.create-service-header{background:var(--product-paper,#fff);color:var(--product-ink,#211a3a);border-bottom-color:var(--product-line,rgba(33,26,58,.16))}
.editorial-header.create-service-header .editorial-brand{color:var(--product-ink,#211a3a)!important}
.editorial-header.create-service-header>nav,.editorial-header.create-service-header .editorial-header-actions,.editorial-header.create-service-header .editorial-mobile-menu{font-family:var(--product-gothic,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif)!important;font-size:13px;font-weight:700;color:var(--product-ink,#211a3a)}
.create-service-header nav a:hover,.create-service-header .editorial-header-actions a:hover{color:#a53160}
.service-terms-nav{display:flex;flex-wrap:wrap;gap:8px 24px;margin:24px 0;padding:0}.service-terms-nav a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:3px}.service-terms-group>section{padding:0;margin:24px 0;border:0}.service-terms-group h3{font-size:18px;line-height:1.6;margin:0 0 12px}
.public-portal-footer{max-width:1200px;margin:32px auto 0;padding:28px 24px;border-top:1px solid #ece5df;color:#332b28;font:12px/1.8 'Yu Gothic',sans-serif}.public-portal-footer .public-footer-brand{font-family:PublicHeaderSerif,Georgia,serif;font-size:26px;color:#8a704b}.public-portal-footer nav{display:flex;flex-wrap:wrap;gap:8px 24px;margin:16px 0}.public-portal-footer nav a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:#746a63;text-underline-offset:3px}.public-portal-footer small{display:block}.public-portal-footer :focus-visible{outline:3px solid #886a43;outline-offset:3px}@media(max-width:480px){.public-portal-footer{padding-inline:16px}.public-portal-footer nav{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}}
@font-face{font-family:PublicHeaderSerif;src:url('/fonts/event-lp/CormorantGaramond-variable.ttf') format('truetype');font-display:swap;font-weight:300 700}
.editorial-header {
  --public-header-gold: #8a704b;
  --public-header-line: #ece5df;
  box-sizing: border-box;
  max-width: 1440px;
  margin: auto;
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 14px 32px;
  border-bottom: 1px solid var(--public-header-line);
  background: #fff;
  color: #332b28;
  font-family: 'Yu Gothic', 'Hiragino Kaku Gothic ProN', sans-serif !important;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: normal;
}
.editorial-header *, .editorial-header *::before, .editorial-header *::after { box-sizing: border-box; font-family: inherit !important; font-weight: inherit; }
.editorial-header a { color: inherit; text-decoration: none; }
.editorial-header :focus-visible { outline: 3px solid #886a43; outline-offset: 3px; }
.editorial-header .editorial-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  font-family: PublicHeaderSerif, Georgia, serif !important;
  font-size: 26px;
  font-weight: 400;
  letter-spacing: .06em;
  color: var(--public-header-gold) !important;
  white-space: nowrap;
}
.editorial-header .editorial-brand > span:first-child { font-size: 34px; }
.editorial-header .editorial-brand small {
  display: block;
  font-family: 'Yu Gothic', sans-serif !important;
  font-size: 9px;
  font-weight: 400;
  text-align: center;
  letter-spacing: .13em;
  line-height: 1.6;
}
.editorial-header > nav { display: flex; gap: 24px; margin-left: auto; font-size: 12px; }
.editorial-header nav a, .editorial-header .editorial-header-actions a { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; }
.editorial-header .editorial-header-actions { display: flex; gap: 16px; color: var(--public-header-gold); }
.editorial-header .editorial-mobile-menu { display: none; }
@media (max-width: 1100px) {
  .editorial-header { gap: 16px; padding-inline: 24px; }
  .editorial-header > nav { gap: 14px; }
  .editorial-header .editorial-brand { font-size: 22px; }
}
/* The full navigation, including calendar, uses the existing native mobile menu
   before its links can collide with the brand or account actions. */
@media (max-width: 1000px) {
  .editorial-header > nav, .editorial-header .editorial-header-actions { display: none; }
  .editorial-header { justify-content: space-between; padding: 12px 20px; }
  .editorial-header .editorial-mobile-menu { display: block; position: relative; margin: 0; }
  .editorial-header .editorial-mobile-menu { flex-shrink: 0; }
  .editorial-header .editorial-mobile-menu summary { white-space: nowrap; }
  .editorial-header .editorial-mobile-menu summary { min-height: 44px; display: flex; align-items: center; padding: 6px 10px; cursor: pointer; list-style: none; }
  .editorial-header .editorial-mobile-menu summary::-webkit-details-marker { display: none; }
  .editorial-header .editorial-mobile-menu nav { display: flex; flex-direction: column; gap: 0; margin: 0; position: absolute; right: 0; top: 100%; z-index: 20; min-width: 220px; max-width: calc(100vw - 40px); padding: 10px 18px; background: #fff; border: 1px solid var(--public-header-line); border-radius: 7px; box-shadow: 0 8px 25px #44332212; }
  .editorial-header .editorial-mobile-menu nav a { display: block; min-height: 44px; padding: 8px 0; }
}
@media (max-width: 380px) {
  .editorial-header { padding-inline: 14px; }
  .editorial-header .editorial-brand { font-size: 19px; gap: 6px; }
  .editorial-header .editorial-brand > span:first-child { font-size: 28px; }
}
@media(max-width:1000px){.editorial-header.create-service-header .editorial-brand{font-size:18px;letter-spacing:.02em}.editorial-header.create-service-header .editorial-brand>span:first-child{font-size:28px}}
@media(max-width:380px){.editorial-header.create-service-header{gap:10px}.editorial-header.create-service-header .editorial-brand{font-size:16px;gap:6px}.editorial-header.create-service-header .editorial-brand>span:first-child{font-size:22px}}
.public-portal-footer .public-footer-publication-note{max-width:1000px;margin:12px 0 18px;font-size:11px;line-height:1.9;color:#746471;overflow-wrap:anywhere}
.public-portal-footer .public-footer-publication-note a{display:inline-flex;align-items:center;min-height:32px;margin-left:8px;color:#8d4164;text-decoration:underline;text-underline-offset:3px}
.public-portal-footer nav a.public-footer-secondary{font-size:11px}
.public-portal-footer .public-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:18px;padding-bottom:48px}
.public-portal-footer .public-footer-bottom small{flex:0 0 auto}
.public-portal-footer nav.public-footer-legal{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 18px;margin:0}
@media(max-width:600px){.public-portal-footer .public-footer-bottom{flex-direction:column;align-items:stretch;gap:10px}.public-portal-footer nav.public-footer-legal{align-self:flex-end;gap:4px 14px;text-align:right}}
