:root{
  --ink:#1b1f27;
  --muted:#6c7280;
  --surface:rgba(255,255,255,.2);
  --line:rgba(255,255,255,.2);
  --brand:#1f4e79;
  --brand-line:rgba(255,255,255,.5);
  --accent:#0f6e63;
  --serif:"Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;
  --sans:"Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Meiryo",system-ui,sans-serif;
}

html{scroll-behavior:smooth;}

#ag-page-content-termsofuse section:first-of-type {
  margin-bottom: 0;
}

/* ---------- Hero ---------- */
.rg-hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#16304b 0%,#1f4e79 100%);
  color:#fff;
}
.rg-hero__meta{
  display:flex;
  flex-wrap:wrap;
  justify-content: end;
  gap:10px 28px;
  font-size:.86rem;
  padding: 0;
}
@media screen and (min-width:992px) {
  .rg-hero__meta{
    padding: 0 150px;
  }
}
.rg-hero__meta b{
  font-weight:normal;
}

/* ---------- Layout ---------- */
.rg-wrap{
  margin:0 auto;
  padding:0;
}
@media screen and (min-width:992px) {
  .rg-wrap{
    padding:0 150px;
  }
}

/* ---------- Content ---------- */
.rg-doc{
  min-width:0;
  padding-top:8px;
}
.rg-preamble{
  background:var(--surface);
  border-radius:4px;
  padding:1.5rem 2rem;
  margin:0 0 3rem;
}
.rg-article{
  padding:3rem 0 2rem;
  border-top:1px solid var(--line);
  scroll-margin-top:20px;
}
.rg-article:first-of-type{
  border-top:none;
  padding-top:6px;
}
.rg-article__num{
  letter-spacing:.18em;
}
.rg-article__title{
  font-size:1.25rem;
  line-height: 1.3;
  margin-bottom: 1.5rem;
}
.rg-article p:not(.rg-callout):not(.rg-item){
  margin:0 0 1.25rem !important;
}
/*
.rg-para{
  color:#2b2f38;
}
*/
.rg-article .rg-para-group {
  margin-bottom: 1.5rem;
}
.rg-article .rg-para-group p.rg-para {
  margin: 0 !important;
}
.rg-item{
  display:flex;
  padding-left:1em;
  margin-bottom: 0.75rem !important;
}
.rg-item:last-child{
  margin-bottom: 1.25rem !important;
}
.rg-item:has(+ .rg-para) {
  margin-bottom: 1.25rem !important;
}
.rg-item .rg-lbl{
  flex: 0 0 3rem;
}
.rg-callout{
  border:1px solid var(--brand-line);
  border-radius:4px;
  padding:1.5rem 2rem;
  margin:2rem 0 1.75rem !important;
}

/* ---------- Contact ---------- */
.rg-contact{
  margin-top:-0.5rem;
  margin-bottom: 1.5rem;
  background:var(--surface);
  border-radius:4px;
  padding:1.5rem 3rem;
}
.rg-contact dl{
  margin:0;
  display:grid;
  grid-template-columns:5.5em 1fr;
  gap:0.25rem 1rem;
}
.rg-contact dt{
  line-height: 1.5;
  font-weight: normal;
}
.rg-contact dd{
  line-height: 1.5;
  margin:0;
}
.rg-contact a{
  color:var(--brand);
}

/* ---------- Footer ---------- */
.rg-docfoot{
  margin-top:0.25rem;
  padding-top:1rem;
  border-top:1px solid var(--line);
  font-size:.86rem;
  display:flex;
  flex-wrap:wrap;
  gap:6px 24px;
  justify-content:space-between;
}
.rg-docfoot .rg-closing{
  /* font-family:var(--serif); */
  /* color:var(--ink); */
}

/* ---------- States ---------- */
.rg-state{
  padding:2rem;
  border-radius:4px;
  background:var(--surface);
  font-size:.94rem;
  line-height:1.8;
}
.rg-state code{
  background:#1b1f27;
  color:#e6e3dc;
  padding:2px 8px;
  border-radius:3px;
  font-size:.85em;
}
.rg-state b{
  /* color:var(--ink); */
}

/* ---------- Responsive ---------- */
@media(max-width:880px){
  .rg-wrap{
    padding-bottom:64px;
  }
  .rg-doc{
    padding-top:8px;
  }
}
@media(max-width:520px){
  .rg-wrap{
    padding:0 20px 56px;
  }
}

/* ---------- Print ---------- */
@media print{
  .rg-hero{
    background:none;
    color:#000;
  }
  .rg-docfoot{
    display:none;
  }
  .rg-wrap{
    display:block;
    padding:0;
  }
  .rg-article{
    page-break-inside:avoid;
  }
  body{
    background:#fff;
    font-size:11pt;
  }
}