/* page-privacy.css - page-specific styles */

h2{font-size:clamp(1.05rem, 0.85rem + 2.2vw, 1.9rem);}

/* Header hamburger: square button, dark purple background, white lines */
  .c-hamburger--header{
    width:2.5rem; height:2.5rem;
    background:var(--purple-900);
    border-radius:8px;
  }

.c-hamburger--header span{
    left:0.625rem; right:0.625rem;
    background:#fff;
  }

.c-hamburger--header span:nth-child(1){top:0.8125rem;}

.c-hamburger--header span:nth-child(2){top:1.1875rem;}

.c-hamburger--header span:nth-child(3){top:1.5625rem;}

.c-hamburger--header.is-open span:nth-child(1){top:1.1875rem; transform:rotate(45deg);}

.c-hamburger--header.is-open span:nth-child(3){top:1.1875rem; transform:rotate(-45deg);}

@media(max-width:768px){
    .l-submenu__inner{display:none;}
    .c-hamburger--header{display:flex; align-items:center; justify-content:center;}
    .l-submenu{background:transparent; border-bottom:none;}
    .l-submenu.is-menu-open{background:var(--purple-900); border-bottom:1px solid rgba(255,255,255,.08);}
  }

.c-kv__placeholder .u-wrap{
    display:flex;
  }

.c-mechanism .c-eyebrow{color:var(--yellow);}

.c-mechanism .c-eyebrow::before{background:var(--yellow);}

.c-mini-cta .c-btn-group{max-width:40rem; margin:0 auto;}

.c-callout .c-eyebrow{justify-content:center; color:var(--yellow); font-size:1.05rem; font-weight:700;}

.c-callout .c-eyebrow::before{display:none;}

@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}

/* ---------- Anchor offset for sticky header ---------- */
  section[id]{scroll-margin-top:118px;}

/* ---------- Fixed bottom CTA (PC + Mobile) ---------- */
  body{padding-bottom:8.25rem;}

.c-fixed-cta__photo{display:none;}

.c-fixed-cta__caption{display:none;}

@media(min-width:1100px){
    .c-fixed-cta__buttons{max-width:37.5rem; margin:0 auto;}
    .c-fixed-cta__photo{
      display:block;
      position:absolute;
      left:calc(50% + 18.75rem - 1rem); bottom:-0.625rem;
      pointer-events:none;
    }
    .c-fixed-cta__photo img{width:9.375rem; height:auto; display:block;}
    .c-fixed-cta__caption{
      display:block;
      position:absolute;
      left:calc(50% + 18.75rem - 1rem + 9.875rem);
      bottom:1.25rem;
      width:6.625rem;
      margin:0;
      font-size:.6rem;
      font-weight:700;
      color:var(--ink-soft);
      line-height:1.5;
      text-align:left;
      white-space:nowrap;
      pointer-events:none;
    }
  }

/* ---------- Docs (著作権・免責について) content ---------- */
  .c-legal{max-width:47.5rem; margin:0 auto;}

.c-legal h2{
    font-size:1.25rem;
    margin:2.75rem 0 1.125rem;
  }

.c-legal h2:first-of-type{margin-top:2.25rem;}

.c-legal p{margin:0; color:var(--ink-soft); font-size:.95rem;}

.c-legal p + p{margin-top:1rem;}

.c-legal h3{
    font-size:1.05rem;
    color:var(--purple-800);
    margin:2.125rem 0 0.875rem;
  }

.c-legal h3.c-legal__heading--lead{margin-top:2.5rem;}

.c-legal h4{
    font-size:.96rem;
    color:var(--purple-700);
    margin:1.375rem 0 0.75rem;
  }

.c-legal__list--numeric{
    margin:0 0 1rem;
    padding-left:1.5em;
    color:var(--ink-soft);
    font-size:.95rem;
  }

.c-legal__list--numeric li + li{margin-top:0.75rem;}

.c-legal__list--alpha{
    margin:0.625rem 0 0;
    padding-left:1.4em;
    color:var(--ink-soft);
    font-size:.95rem;
    list-style:lower-alpha;
  }

.c-legal__list--alpha li + li{margin-top:0.375rem;}

.c-legal a{color:var(--purple-500); font-weight:700; text-decoration:underline;}

.c-legal a:hover{color:var(--yellow-dark);}

.c-legal__meta{
    font-size:.88rem;
    color:var(--ink-soft);
    margin:1.5rem 0;
    line-height:1.8;
  }

.c-legal__contact-box{
    background:var(--purple-050);
    border-radius:10px;
    padding:1.375rem 1.625rem;
    margin:1.25rem 0 1.75rem;
    font-size:.9rem;
    color:var(--ink-soft);
    line-height:1.8;
  }

/* ---------- Utility classes (inline style removal) ---------- */
  .u-hidden-frame{display:none;visibility:hidden;}

.c-eyebrow--center{justify-content:center;}

/* ---------- Legal contact box paragraphs ---------- */
  .c-legal__contact-title{margin:0 0 0.5rem; font-weight:700; color:var(--purple-900);}

.c-legal__contact-plain{margin:0 0 0.5rem;}

.c-legal__contact-body{margin:0;}

/* ---------- 本文サイズをサイト共通の 1.25rem に統一（2026-08-24） ---------- */
.c-legal p,
.c-legal__list--numeric,
.c-legal__list--alpha{
    font-size:1.25rem;
  }
