.page-disclaimer{
  --disclaimer-line: rgba(10,29,60,.1);
  --disclaimer-accent-soft: #ffe6d3;
  position: relative;
  background-color: var(--c-cream);
  background-image: repeating-linear-gradient(
    -45deg,
    transparent,
    transparent 14px,
    rgba(255,106,0,.028) 14px,
    rgba(255,106,0,.028) 15px
  );
  overflow-x: hidden;
}

.page-disclaimer .top-anchor{
  position:absolute;
  top:0;
  left:0;
  width:1px;
  height:1px;
}

.page-disclaimer .breadcrumb{
  padding-top:24px;
}

.page-disclaimer .disclaimer-head{
  position:relative;
  text-align:center;
  padding:clamp(40px,7vw,88px) 0 16px;
}

.page-disclaimer .disclaimer-kicker{
  margin:0 0 16px;
  font-family:var(--font-mono);
  font-size:13px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--c-orange);
}

.page-disclaimer .disclaimer-title{
  margin:0;
  font-family:var(--font-display);
  font-size:var(--fs-title);
  font-weight:300;
  line-height:1.08;
  letter-spacing:-.02em;
  color:var(--c-navy);
}

.page-disclaimer .disclaimer-sub{
  max-width:640px;
  margin:24px auto 0;
  padding:0 8px;
  font-size:16px;
  line-height:1.8;
  color:var(--c-ink);
}

.page-disclaimer .disclaimer-rule{
  width:min(240px,64%);
  height:4px;
  margin:32px auto 0;
  border-radius:var(--radius-pill);
  background:var(--c-orange);
}

.page-disclaimer .disclaimer-layout{
  display:grid;
  gap:28px;
  max-width:1120px;
  margin:0 auto;
  padding:clamp(24px,4vw,56px) 0 24px;
}

.page-disclaimer .disclaimer-toc{
  align-self:start;
  padding:20px 24px;
  background:rgba(255,255,255,.62);
  border:1px solid var(--disclaimer-line);
  border-radius:var(--radius-lg);
}

.page-disclaimer .toc-label{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--c-orange);
}

.page-disclaimer .toc-label::before{
  content:"";
  width:22px;
  height:2px;
  border-radius:var(--radius-pill);
  background:var(--c-orange);
}

.page-disclaimer .toc-list{
  margin:0;
  padding:0;
  list-style:none;
}

.page-disclaimer .toc-list li+li{
  margin-top:2px;
}

.page-disclaimer .toc-list a{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 8px;
  border-radius:10px;
  color:var(--c-navy);
  font-size:15px;
  text-decoration:none;
  transition:
    color var(--speed-fast) var(--ease-out),
    background-color var(--speed-fast) var(--ease-out),
    padding-left var(--speed-fast) var(--ease-out);
}

.page-disclaimer .toc-list a:hover,
.page-disclaimer .toc-list a:focus-visible{
  padding-left:12px;
  background:var(--disclaimer-accent-soft);
  color:var(--c-orange-dark);
}

.page-disclaimer .toc-num{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--c-silver);
}

.page-disclaimer .toc-meta{
  margin:14px 0 0;
  padding-top:14px;
  border-top:1px solid var(--disclaimer-line);
  font-size:12px;
  line-height:1.7;
  color:var(--c-silver);
}

.page-disclaimer .disclaimer-content{
  max-width:760px;
  min-width:0;
}

.page-disclaimer .disclaimer-section{
  padding:clamp(28px,5vw,48px) 0;
  border-bottom:1px solid var(--disclaimer-line);
  scroll-margin-top:calc(var(--header-h) + 20px);
}

.page-disclaimer .disclaimer-section:last-child{
  border-bottom:0;
}

.page-disclaimer .disclaimer-section:target{
  margin:0 -16px;
  padding-left:16px;
  padding-right:16px;
  border-radius:var(--radius-md);
  background:rgba(255,106,0,.05);
}

.page-disclaimer .section-head-row{
  display:flex;
  align-items:baseline;
  gap:14px;
  margin-bottom:20px;
}

.page-disclaimer .section-num{
  font-family:var(--font-mono);
  font-size:14px;
  font-weight:700;
  color:var(--c-orange);
}

.page-disclaimer .section-head-row h2{
  margin:0 0 4px;
  font-family:var(--font-display);
  font-size:clamp(22px,3vw,30px);
  font-weight:500;
  line-height:1.2;
  color:var(--c-navy);
}

.page-disclaimer .section-en{
  margin:0;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--c-silver);
}

.page-disclaimer .section-body p{
  margin:0 0 16px;
  font-size:16px;
  line-height:1.85;
  color:var(--c-ink);
}

.page-disclaimer .section-body p:last-child{
  margin-bottom:0;
}

.page-disclaimer .callout{
  padding:16px 20px;
  border-left:4px solid var(--c-orange);
  border-radius:var(--radius-md);
  background:var(--disclaimer-accent-soft);
  font-size:15px;
  line-height:1.75;
  color:var(--c-ink);
}

.page-disclaimer .callout strong{
  color:var(--c-navy);
}

.page-disclaimer .liability-mark{
  display:block;
  width:min(240px,100%);
  height:auto;
  margin:8px auto 28px;
  border-radius:var(--radius-lg);
  background:var(--c-navy-deep);
}

.page-disclaimer .disclaimer-contact-note{
  margin-top:32px;
  padding:32px 0;
  background:var(--c-navy);
  color:rgba(255,255,255,.88);
}

.page-disclaimer .disclaimer-contact-inner{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}

.page-disclaimer .contact-line{
  margin:0 0 8px;
  font-size:14px;
  line-height:1.8;
}

.page-disclaimer .copyright-line{
  margin:0;
  font-size:12px;
  letter-spacing:.02em;
  color:rgba(255,255,255,.55);
}

.page-disclaimer .back-to-top{
  position:fixed;
  right:20px;
  bottom:24px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 18px;
  border-radius:var(--radius-pill);
  background:var(--c-navy);
  color:var(--c-white);
  font-size:13px;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(10,29,60,.28);
  opacity:.9;
  transition:
    opacity var(--speed-fast) var(--ease-out),
    transform var(--speed-fast) var(--ease-out);
}

.page-disclaimer .back-to-top:hover,
.page-disclaimer .back-to-top:focus-visible{
  opacity:1;
  transform:translateY(-2px);
}

@media (min-width:760px){
  .page-disclaimer .disclaimer-layout{
    grid-template-columns:240px minmax(0,760px);
    justify-content:center;
    align-items:start;
    gap:clamp(32px,5vw,64px);
  }

  .page-disclaimer .disclaimer-toc{
    position:sticky;
    top:calc(var(--header-h) + 24px);
    padding:24px 28px;
  }

  .page-disclaimer .contact-line{
    font-size:15px;
  }
}
