.page-disclaimer{
  --stripe-yellow:#FFC400;
  --stripe-black:#141414;
  position:relative;
  z-index:0;
  overflow-x:hidden;
  background-color:var(--color-mist);
  color:var(--color-ink);
}

.page-disclaimer::before{
  content:"NOTICE / 2025";
  position:absolute;
  top:250px;
  right:0;
  z-index:-1;
  display:none;
  font-family:var(--font-data);
  font-weight:700;
  font-size:clamp(4rem, 10vw, 10rem);
  line-height:1;
  color:rgba(10,31,68,0.06);
  pointer-events:none;
  white-space:nowrap;
}

@media (min-width:1100px){
  .page-disclaimer::before{
    display:block;
  }
}

.disclaimer-stripe{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
  background:var(--color-navy-deep);
}

.notice-intro{
  display:grid;
  grid-template-columns:1fr;
  gap:1.75rem;
  align-items:start;
  margin-top:2.5rem;
}

.notice-intro__copy .eyebrow{
  color:var(--color-orange);
  letter-spacing:0.12em;
}

.notice-intro__copy h1{
  margin:0.875rem 0 1rem;
  font-family:var(--font-head);
  font-weight:900;
  font-size:clamp(2.1rem, 5.5vw, 3.25rem);
  line-height:1.08;
  letter-spacing:-0.02em;
  color:var(--color-navy);
}

.notice-intro__copy .lead{
  margin:0;
  font-family:var(--font-body);
  font-size:1.125rem;
  line-height:1.8;
  color:var(--color-slate);
}

.notice-intro__scope{
  margin:1.25rem 0 0;
  padding:0.875rem 1.125rem;
  border-left:4px solid var(--color-green);
  background:rgba(57,255,20,0.06);
  font-family:var(--font-body);
  font-size:0.9375rem;
  line-height:1.75;
  color:var(--color-ink);
}

.notice-intro__quote{
  margin:1.5rem 0 0;
  padding:1rem 1.25rem;
  border-left:3px solid var(--color-orange);
  background:rgba(255,107,26,0.06);
}

.notice-intro__quote p{
  margin:0;
  font-family:var(--font-body);
  font-size:0.9375rem;
  line-height:1.75;
  color:var(--color-slate);
}

.notice-intro__card{
  position:relative;
  overflow:hidden;
  padding:clamp(1.5rem, 4vw, 2.25rem);
  background:var(--color-navy-deep);
  border-radius:10px;
  color:var(--color-white);
  box-shadow:0 16px 36px rgba(7,20,38,0.24);
}

.notice-intro__card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:8px;
  background:repeating-linear-gradient(-45deg, var(--stripe-yellow) 0 12px, var(--stripe-black) 12px 24px);
}

.notice-card__tag{
  margin:0.625rem 0 0;
  font-family:var(--font-data);
  font-size:0.8125rem;
  letter-spacing:0.14em;
  color:var(--color-green);
}

.notice-meta{
  list-style:none;
  margin:1.25rem 0 0;
  padding:0;
}

.notice-meta__row{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:0.875rem 0;
  border-bottom:1px solid rgba(255,255,255,0.12);
}

.notice-meta__row:last-child{
  border-bottom:none;
}

.notice-meta dt{
  font-family:var(--font-data);
  font-size:0.8125rem;
  color:var(--color-grayblue);
  letter-spacing:0.06em;
}

.notice-meta dd{
  margin:0;
  font-family:var(--font-body);
  font-size:1rem;
  text-align:right;
}

.notice-meta__note{
  margin:1.25rem 0 0;
  font-family:var(--font-body);
  font-size:0.9375rem;
  line-height:1.7;
  color:var(--color-grayblue);
}

.notice-meta__note a{
  color:var(--color-green);
  text-decoration:underline;
  text-underline-offset:3px;
}

.notice-meta__note a:hover{
  color:var(--color-white);
}

.notice-guide{
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
  margin-top:clamp(2rem, 5vw, 3.5rem);
}

.notice-guide__toc{
  background:var(--color-navy);
  border-radius:8px;
  padding:clamp(1.5rem, 4vw, 2.25rem);
  box-shadow:0 14px 36px rgba(7,20,38,0.18);
}

.notice-guide__toc .eyebrow{
  margin:0 0 1rem;
  color:var(--color-green);
}

.notice-toc{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:0.25rem;
}

.notice-toc a{
  display:flex;
  align-items:center;
  gap:0.75rem;
  padding:0.75rem 0.5rem;
  color:var(--color-white);
  font-family:var(--font-data);
  font-size:0.9375rem;
  line-height:1.4;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,0.12);
  transition:background-color .2s ease, padding-left .2s ease;
}

.notice-toc li:last-child a{
  border-bottom:none;
}

.notice-toc a:hover{
  padding-left:0.875rem;
  background:rgba(255,255,255,0.08);
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-color:var(--color-green);
}

.notice-toc__num{
  color:var(--color-green);
  font-size:0.8125rem;
  letter-spacing:0.06em;
}

.notice-guide__aside{
  background:var(--color-white);
  border:1px solid rgba(10,31,68,0.1);
  border-radius:8px;
  padding:clamp(1.5rem, 4vw, 2.25rem);
}

.notice-guide__ascii{
  margin:0;
  font-family:var(--font-data);
  font-size:0.8125rem;
  letter-spacing:0.16em;
  color:var(--color-orange);
}

.notice-guide__title{
  margin:0.75rem 0;
  font-family:var(--font-head);
  font-size:1.375rem;
  font-weight:700;
  color:var(--color-navy);
}

.notice-guide__aside > p:not(.notice-guide__ascii):not(.notice-guide__title){
  margin:0 0 1rem;
  font-family:var(--font-body);
  font-size:0.9375rem;
  line-height:1.75;
  color:var(--color-slate);
}

.notice-guide__links{
  display:flex;
  flex-wrap:wrap;
  gap:0.75rem;
}

.notice-guide__links a{
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
  padding:0.625rem 1rem;
  border:1px solid rgba(10,31,68,0.22);
  border-radius:4px;
  color:var(--color-navy);
  font-family:var(--font-data);
  font-size:0.875rem;
  text-decoration:none;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}

.notice-guide__links a:hover{
  background:var(--color-navy);
  border-color:var(--color-navy);
  color:var(--color-white);
}

.notice-sheet{
  max-width:1060px;
  margin:clamp(2.5rem, 6vw, 4.5rem) auto 0;
  padding:clamp(0.25rem, 1vw, 0.625rem);
  background-image:repeating-linear-gradient(
    0deg,
    rgba(10,31,68,0.035) 0,
    rgba(10,31,68,0.035) 1px,
    transparent 1px,
    transparent 28px
  );
}

.notice-block{
  margin:0 0 1.5rem;
  padding:clamp(1.375rem, 4vw, 2.5rem) clamp(1.25rem, 4vw, 2.75rem);
  background:var(--color-white);
  border-left:6px solid;
  border-image:repeating-linear-gradient(-45deg, var(--stripe-yellow) 0 10px, var(--stripe-black) 10px 20px) 1;
  box-shadow:0 2px 10px rgba(10,31,68,0.06);
  transition:transform .2s ease, box-shadow .2s ease;
}

.notice-block:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 32px rgba(10,31,68,0.12);
}

.notice-block__head{
  display:flex;
  align-items:center;
  gap:0.875rem;
  margin-bottom:1rem;
}

.notice-marker{
  flex:0 0 auto;
  padding:0.375rem 0.625rem;
  background:var(--color-navy);
  border-radius:4px;
  color:var(--color-white);
  font-family:var(--font-data);
  font-size:0.8125rem;
  font-weight:700;
  letter-spacing:0.08em;
}

.notice-block:nth-child(even) .notice-marker{
  background:var(--color-slate);
}

.notice-sign{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2rem;
  height:2rem;
  border-radius:999px;
  font-family:var(--font-data);
  font-weight:700;
  font-size:1.0625rem;
}

.notice-block:nth-child(1) .notice-sign{
  background:var(--color-green);
  color:var(--color-navy-deep);
}

.notice-block:nth-child(2) .notice-sign{
  background:var(--color-orange);
  color:var(--color-white);
}

.notice-block:nth-child(3) .notice-sign{
  background:var(--color-navy);
  color:var(--color-white);
}

.notice-block:nth-child(4) .notice-sign{
  background:var(--color-green);
  color:var(--color-navy-deep);
}

.notice-block:nth-child(5) .notice-sign{
  background:var(--color-slate);
  color:var(--color-white);
}

.notice-block__head h2{
  margin:0;
  font-family:var(--font-head);
  font-size:clamp(1.25rem, 2.8vw, 1.625rem);
  font-weight:700;
  line-height:1.3;
  color:var(--color-navy);
}

.notice-block:hover h2{
  text-decoration:underline;
  text-decoration-color:var(--color-green);
  text-decoration-thickness:2px;
  text-underline-offset:6px;
}

.notice-block__body p{
  margin:0 0 0.875rem;
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.85;
  color:var(--color-slate);
}

.notice-block__body p:last-child{
  margin-bottom:0;
}

.notice-agree{
  position:relative;
  overflow:hidden;
  margin-top:clamp(2.5rem, 6vw, 4.5rem);
  padding:clamp(2rem, 5vw, 3.5rem) clamp(1.5rem, 4vw, 3rem);
  background:var(--color-navy);
  border-radius:8px;
  text-align:center;
  color:var(--color-white);
}

.notice-agree::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:8px;
  background:repeating-linear-gradient(-45deg, var(--stripe-yellow) 0 14px, var(--stripe-black) 14px 28px);
}

.notice-agree__eyebrow{
  margin:0.75rem 0 0.5rem;
  font-family:var(--font-data);
  font-size:0.8125rem;
  letter-spacing:0.14em;
  color:var(--color-orange);
}

.notice-agree__heading{
  margin:0 0 1.5rem;
  font-family:var(--font-head);
  font-size:clamp(1.5rem, 4vw, 2.25rem);
  font-weight:900;
  line-height:1.25;
}

.notice-agree .notice-agree__btn{
  display:inline-block;
  padding:1rem 2.75rem;
  background:var(--color-green);
  color:var(--color-navy-deep);
  border:none;
  border-radius:var(--radius);
  font-family:var(--font-head);
  font-weight:700;
  font-size:1.0625rem;
  letter-spacing:0.04em;
  box-shadow:0 0 24px rgba(57,255,20,0.3);
  transition:transform .2s ease, box-shadow .2s ease;
}

.notice-agree .notice-agree__btn:hover{
  transform:translateY(-2px);
  box-shadow:0 0 34px rgba(57,255,20,0.45);
}

.notice-agree__hint{
  margin:1.25rem 0 0;
  font-family:var(--font-body);
  font-size:0.875rem;
  line-height:1.7;
  color:var(--color-grayblue);
}

.notice-pager{
  display:flex;
  flex-direction:column;
  gap:0.75rem;
  margin:2.25rem 0 0;
  padding-bottom:clamp(2.5rem, 6vw, 4rem);
}

.notice-pager__link{
  display:inline-flex;
  align-items:center;
  gap:0.375rem;
  padding:0.75rem 1rem;
  border:1px solid rgba(10,31,68,0.18);
  border-radius:var(--radius);
  background:var(--color-white);
  color:var(--color-navy);
  font-family:var(--font-data);
  font-size:0.9375rem;
  text-decoration:none;
  transition:background-color .2s ease, color .2s ease;
}

.notice-pager__link:hover{
  background:var(--color-navy);
  color:var(--color-white);
}

@media (min-width:768px){
  .notice-pager{
    flex-direction:row;
    justify-content:space-between;
  }
}

@media (min-width:900px){
  .notice-guide{
    grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);
    gap:2.25rem;
  }
}

@media (min-width:960px){
  .notice-intro{
    grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);
    gap:3rem;
    padding:2rem 0 1rem;
  }
}

@media (min-width:1024px){
  .notice-block:nth-child(odd){
    margin-right:6%;
  }

  .notice-block:nth-child(even){
    margin-left:6%;
  }
}
