@page { size: A4 portrait; margin: 0; }

.g5-pages { width: 210mm; transform-origin: top left; }
@media screen {
  .g5-pages { transform: scale(var(--k, 1)); margin-left: var(--x, 0px); }
  .g5-pages .g5-sheet + .g5-sheet { margin-top: 8mm; }
}

.g5-sheet {
  position: relative;
  box-sizing: border-box;
  width: 210mm;
  height: 297mm;
  background: #fff;
  color: #000;
  font-family: var(--font-main);
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .25), 0 6px 24px rgba(0, 0, 0, .3);
}
.g5-sheet rt { font-size: .5em; font-weight: 400; }
.g5-abs { display: block; }

.g5-mk { position: absolute; width: 6mm; height: 6mm; z-index: 1; }

.g5-mk svg { display: block; width: 100%; height: 100%; }
.g5-mk.tl { top: 9mm; left: 9mm; }
.g5-mk.tr { top: 9mm; right: 9mm; }
.g5-mk.bl { bottom: 9mm; left: 9mm; }
.g5-mk.br { bottom: 9mm; right: 9mm; }

.g5-title { font-size: 6.4mm; font-weight: 700; line-height: 2; overflow: visible; white-space: nowrap; }
.g5-cond  { margin-left: 2mm; font-size: 3.4mm; font-weight: 400; line-height: 1.6; color: #333; }

.g5-fields { display: flex; gap: 8mm; align-items: center; }
.g5-fld { display: flex; align-items: center; gap: 2mm; font-size: 6mm; white-space: nowrap; }
.g5-fld b { font-weight: 400; }
.g5-masu { display: flex; align-items: center; }
.g5-masu i { box-sizing: border-box; width: 12mm; height: 12mm; border: .3mm solid #000; }
.g5-masu i + i { border-left: 0; }
.g5-kugiri { padding: 0 1mm; line-height: 1; font-size: 7.2mm; }
.g5-qr { text-align: center; }
.g5-qr svg { display: block; width: 22mm; height: 22mm; }
.g5-qr code { display: block; margin-top: 1mm; font-family: ui-monospace, "Consolas", monospace; font-size: 2.6mm; letter-spacing: 0; white-space: nowrap; }
.g5-headline { height: 0; border-top: .4mm solid #000; }
.g5-toi { font-size: 4.6mm; line-height: 2.2; white-space: nowrap; }

.g5-qn { font-family: var(--font-num); font-size: 4.5mm; line-height: 1; white-space: nowrap; }
.g5-qn-shiki { display: flex; align-items: center; }

.g5-shiki {
  display: flex;
  align-items: center;
  font-family: var(--font-num);
  font-size: 6.2mm;
  line-height: 1;
  white-space: nowrap;
}
.g5-shiki .g5-op { margin: 0 .5mm; }
.g5-mae > span   { display: flex; align-items: center; }
.g5-mae .g5-migi { margin-left: auto; }

.g5-frac { display: inline-flex; align-items: center; margin: 0 .3mm; }
.g5-frac-sei { margin-right: .5mm; }

.g5-frac-tate { display: inline-flex; flex-direction: column; align-items: stretch; line-height: 1.12; }
.g5-frac-ko, .g5-frac-bo { display: block; text-align: center; padding: 0 .7mm; }
.g5-frac-ko { border-bottom: .3mm solid #000; }
.g5-kotei { justify-content: center; }
.g5-sen { overflow: visible; }
.g5-sen svg { display: block; }
.g5-ten { overflow: visible; }
.g5-ten svg { display: block; }
.g5-amari { display: flex; align-items: center; justify-content: center; font-size: 4.6mm; white-space: nowrap; }
.g5-box, .g5-shousu { display: block; overflow: visible; }
.g5-box text, .g5-shousu text { font-family: var(--font-num); fill: #555; }

.g5-qn-bun { font-size: 4.6mm; line-height: 2.3; }
.g5-bun { font-size: 4.6mm; line-height: 2.3; overflow: visible; word-break: keep-all; line-break: strict; }

.g5-go { white-space: nowrap; }
.g5-bun-mei { display: flex; align-items: center; font-size: 4.5mm; line-height: 1.8; white-space: nowrap; }
.g5-tani { display: flex; align-items: center; font-size: 4.8mm; line-height: 1.8; white-space: nowrap; }
.g5-tani-shiki { font-family: var(--font-num); }

.g5-chou-waku { box-sizing: border-box; border: .3mm solid #999; border-radius: 2mm; }
.g5-chou-mae { display: block; font-size: 4.2mm; line-height: 1.8; word-break: keep-all; overflow-wrap: anywhere; }
.g5-chou-sen { display: block; border-top: .2mm solid #ccc; }
.g5-qn-chou { font-size: 4.2mm; line-height: 1.8; }
.g5-bun-chou .g5-bun-1gyou { display: block; width: max-content; white-space: nowrap; font-size: 4.2mm; line-height: 1.8; }
.g5-frac-bun { vertical-align: middle; }
.g5-frac-bun .g5-frac-tate { line-height: 1.05; }
.g5-daimon { display: flex; align-items: center; justify-content: center; }
.g5-daimon-svg { position: absolute; left: 0; top: 0; display: block; }
.g5-daimon-ji { position: relative; font-family: var(--font-num); font-size: 4mm; font-weight: 700; line-height: 1; }

.g5-zu { display: block; overflow: visible; }
.g5-zu text { font-family: var(--font-num); fill: #000; }

.g5-foot { text-align: center; font-size: 3.2mm; line-height: 1.4; color: #444; white-space: nowrap; }
.g5-kigen:empty::before { content: '\00a0'; }
.g5-site { position: absolute; right: 9mm; bottom: 5mm; font-size: 3mm; line-height: 1; color: #444; white-space: nowrap; }
.g5-site b { color: #000; margin-right: 1.5mm; letter-spacing: .04em; }

.no-consent-print { display: none; }
@media print {
  html, body { background: #fff !important; margin: 0; padding: 0; }
  .no-print { display: none !important; }
  .sheet-stage { padding: 0; overflow: visible; height: auto !important; }
  .g5-pages { transform: none; margin: 0; }
  .g5-sheet { box-shadow: none; margin: 0; break-after: page; page-break-after: always; }
  .g5-pages .g5-sheet:last-child { break-after: auto; page-break-after: auto; }

  body.print-page:not(.may-print) .sheet-stage { display: none !important; }
  body.print-page:not(.may-print) .no-consent-print {
    display: block !important; margin: 20mm 14mm; font-size: 14pt; line-height: 1.7; color: #000;
  }
}

.g5-toku-sen { display: block; border-top: .2mm solid #ccc; }
.g5-rei { box-sizing: border-box; border: .35mm solid #000; border-radius: 2mm; padding: 2mm 3.5mm 1.5mm; overflow: visible; }
.g5-rei-bun { font-size: 4mm; line-height: 1.75; margin: 0 0 1mm; word-break: keep-all; overflow-wrap: anywhere; }
.g5-rei-tag { font-weight: 700; margin-right: 2mm; }
.g5-rei-naka { display: grid; grid-template-columns: 106mm 1fr; column-gap: 3mm; align-items: start; }
.g5-rei-zu svg { display: block; }
.g5-rei-zu svg, .g5-rei-zu text { letter-spacing: 0; }
.g5-rei-zu text { font-family: var(--font-main); fill: #000; }
.g5-rei-toki { font-size: 3.3mm; line-height: 1.6; margin: 0 0 .8mm; padding-left: 4.5mm; }
.g5-rei-kotae { display: block; font-size: 3.5mm; line-height: 1.6; font-weight: 700; }
.g5-rei-ans { display: inline-block; white-space: nowrap; }
.g5-qn-toku { font-size: 4.2mm; line-height: 1.8; }
.g5-bun-toku { font-size: 4.2mm; line-height: 1.8; }

.g5-toku-ji { font-size: 4.2mm; }
