/* Design basis (UI/UX Pro Max search results actually used):
   · ux "Font Size Scale"      → fixed modular scale 12 / 14 / 16 / 24 px, no arbitrary sizes
   · ux "Line Length"          → message column capped at 68ch
   · ux "Readable Font Size"   → 16px body
   · ux "Color Contrast / Color Only" → ≥4.5:1 text; meaning carried by the written label, not colour
   · typography (editorial/mono results) → small uppercase tracked labels & dates, display face only for the heading
   · typography "Japanese Elegant" → CJK sans stack for the plate; style "Swiss Modernism" → one fixed grid, 8px spacing steps
   · colors "Digital Signage" → high-contrast dark ground + single warm accent
   (21st.dev returned only generic dismissible SaaS banners — none fit a static signage notice, so none were used.)
   ═══ GOKURAKUGAI NOTICE — one posted-notice design, used for every notice on the site ═══
   A paper notice with a vertical signage plate on its left (告知, set top-to-bottom like street signs).

     ┃告┃  NOTICE                    small label
     ┃知┃  Heading                   display type
     ┃  ┃  Message …                 body copy
     ┃  ┃  LAST UPDATED · date       footer (only when a real date exists)

   Applies to .doc-notice .affil-notice .notice .notice-box. Layout is identical in both themes;
   only the colour tokens below change with the global theme. Label text = data-label (gkg-shell.js). */
:root{--nt-paper:#E9DCC0;--nt-ink:#1A1210;--nt-soft:#4B3C36;--nt-plate:#A3141C;--nt-plate-ink:#FFF3E2;--nt-accent:#8A1018;--nt-hair:rgba(26,18,16,.22)}
:root[data-theme="dark"]{--nt-paper:#171413;--nt-ink:#EEE4D1;--nt-soft:#B9AB92;--nt-plate:#D3A84A;--nt-plate-ink:#17110B;--nt-accent:#E0B85A;--nt-hair:rgba(224,184,90,.28)}

html:root body :is(.doc-notice,.affil-notice,.notice,.notice-box){
  --plate:3rem;
  position:relative;display:block!important;box-sizing:border-box;width:100%;max-width:none;
  margin:2rem 0!important;padding:1.5rem 1.5rem 1.5rem calc(var(--plate) + 1.5rem)!important;
  background:var(--nt-paper)!important;color:var(--nt-ink)!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible;text-align:left;
  font-family:var(--f-body);font-size:1rem;line-height:1.75}
/* signage plate (vertical, like a street sign) */
html:root body :is(.doc-notice,.affil-notice,.notice,.notice-box)::after{content:'告知';content:attr(data-ja);position:absolute;left:0;top:0;bottom:0;width:var(--plate);box-sizing:border-box;
  display:flex;align-items:center;justify-content:center;background:var(--nt-plate);color:var(--nt-plate-ink);
  writing-mode:vertical-rl;text-orientation:upright;letter-spacing:.35em;padding:0;
  font:900 1rem/1 'Noto Sans JP','Hiragino Sans','Yu Gothic','Meiryo',var(--f-body),sans-serif;border:0;margin:0;transform:none;opacity:1;clip-path:none;width:var(--plate);height:auto}
/* label */
html:root body :is(.doc-notice,.affil-notice,.notice,.notice-box)::before{content:'NOTICE';content:attr(data-label);position:static;display:block;height:auto;width:auto;margin:0 0 .5rem;padding:0;background:none;border:0;
  color:var(--nt-accent);font:700 .75rem/1 var(--f-label);letter-spacing:.3em;text-transform:uppercase;transform:none;overflow:visible}
/* heading */
html:root body :is(.doc-notice,.affil-notice,.notice,.notice-box) :is(.notice-title,.an-label,.notice-tag){display:block!important;position:static!important;margin:0 0 .5rem!important;padding:0!important;background:none!important;
  color:var(--nt-ink)!important;font:400 1.5rem/1.15 var(--f-display)!important;letter-spacing:.015em!important;text-transform:uppercase;border:0!important;transform:none!important;text-shadow:none!important;clip-path:none!important;-webkit-mask:none!important;mask:none!important}
html:root body :is(.doc-notice,.affil-notice,.notice,.notice-box) :is(.notice-title,.an-label,.notice-tag)::before,html:root body :is(.doc-notice,.affil-notice,.notice,.notice-box) :is(.notice-title,.an-label,.notice-tag)::after{display:none!important}
html:root body :is(.doc-notice,.affil-notice,.notice,.notice-box) :is(.notice-title,.an-label) svg,html:root body :is(.doc-notice,.affil-notice,.notice,.notice-box)>svg,.notice-icon{display:none!important}
/* message */
html:root body :is(.doc-notice,.affil-notice,.notice,.notice-box) :is(p,li,.notice-body):not(.notice-tag){color:var(--nt-ink)!important;font:500 1rem/1.75 var(--f-body)!important;margin:0 0 .7rem;text-shadow:none!important}
html:root body :is(.doc-notice,.affil-notice,.notice,.notice-box) p:not(.notice-tag):last-of-type{margin-bottom:0}
html:root body :is(.doc-notice,.affil-notice,.notice,.notice-box) :is(p,ul){max-width:68ch}
html:root body :is(.doc-notice,.affil-notice,.notice,.notice-box) strong{color:inherit!important;font-weight:800}
html:root body :is(.doc-notice,.affil-notice,.notice,.notice-box) a{color:var(--nt-accent)!important;font-weight:700;text-decoration:underline;text-underline-offset:3px}
html:root body :is(.doc-notice,.affil-notice,.notice,.notice-box) ul{margin:.7rem 0 0 1.1rem}
/* footer: real update date, same place every time */
.gkn-foot{display:flex;flex-wrap:wrap;gap:.2rem .55rem;align-items:baseline;margin:1rem 0 0;padding-top:.5rem;border-top:1px solid var(--nt-hair);
  font:700 .75rem/1.4 var(--f-label);letter-spacing:.2em;text-transform:uppercase;color:var(--nt-soft)}
.gkn-foot time{color:var(--nt-ink);letter-spacing:.1em}
.gkn-dot{opacity:.6}
.has-notice-stamp .doc-meta>span:has(time.gk-updated){display:none!important}
html:root body .notice-box{width:min(980px,calc(100% - 2rem));margin-left:auto!important;margin-right:auto!important}

/* section heads + page meta (unchanged purpose) */
.sec-num{display:flex!important;width:max-content;max-width:100%;align-items:center;gap:.7rem;font:400 .95rem/1 var(--f-display)!important;letter-spacing:.28em!important;background:none!important}
.sec-num::after{content:'';width:2.4rem;height:1px;background:currentColor;opacity:.55}
:root[data-theme="dark"] .sec-num{color:#E0B85A!important}
:root[data-theme="light"] .sec-num{color:#9E1B22!important}
.pg-contact .doc-section::before{display:none!important}
.doc-meta{display:grid!important;grid-template-columns:max-content minmax(0,1fr)!important;justify-content:start;gap:.45rem 1.1rem!important;align-items:baseline;margin:0 0 1.4rem!important}
.doc-meta>span{display:contents!important}
.doc-meta svg{display:none!important}
.doc-meta .meta-k{font:700 .7rem/1.4 var(--f-label);letter-spacing:.26em;text-transform:uppercase;color:var(--nt-soft)!important;white-space:nowrap}
.doc-meta .meta-v,.doc-meta time{font:700 .86rem/1.4 var(--f-label);letter-spacing:.1em;text-transform:uppercase;color:var(--text)!important}

@media(max-width:560px){
  html:root body :is(.doc-notice,.affil-notice,.notice,.notice-box){--plate:2.5rem;padding:1.5rem 1rem 1.5rem calc(var(--plate) + 1rem)!important}
  html:root body :is(.doc-notice,.affil-notice,.notice,.notice-box)::after{font-size:.875rem;letter-spacing:.3em}
  .doc-meta{grid-template-columns:1fr!important;gap:.1rem 0!important}
  .doc-meta .meta-v,.doc-meta time{margin-bottom:.5rem}
}
