/* page-profile.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:40px; height:40px;
    background:var(--purple-900);
    border-radius:8px;
  }

.c-hamburger--header span{
    left:10px; right:10px;
    background:#fff;
  }

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

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

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

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

.c-hamburger--header.is-open span:nth-child(3){top:19px; 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:640px; 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:132px;}

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

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

@media(min-width:1100px){
    .c-fixed-cta__buttons{max-width:600px; margin:0 auto;}
    .c-fixed-cta__photo{
      display:block;
      position:absolute;
      left:calc(50% + 300px - 16px); bottom:-10px;
      pointer-events:none;
    }
    .c-fixed-cta__photo img{width:150px; height:auto; display:block;}
    .c-fixed-cta__caption{
      display:block;
      position:absolute;
      left:calc(50% + 300px - 16px + 158px);
      bottom:20px;
      width:106px;
      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;
    }
  }

/* ---------- Profile (弁護士・司法書士紹介) ---------- */
  .c-profile__heading-row{
    display:flex; align-items:center; justify-content:space-between;
    flex-wrap:wrap; gap:14px;
  }

.c-profile__heading-row + .c-profile__jump{margin-top:28px;}

.c-profile__heading-ttl{font-size:1.2rem; margin:0;}

.c-profile__sort{position:relative;}

.c-profile__sort-btn{
    display:inline-flex; align-items:center; gap:6px;
    background:var(--purple-900); color:#fff;
    border:none; border-radius:20px;
    font-size:.85rem; font-weight:700;
    padding:8px 18px; cursor:pointer;
  }

.c-profile__sort-caret{font-size:.7rem;}

.c-profile__sort-menu{
    display:none;
    position:absolute; top:calc(100% + 6px); right:0; z-index:20;
    background:#fff; border:1px solid var(--line); border-radius:8px;
    box-shadow:0 8px 24px rgba(61,49,83,.12);
    min-width:140px; padding:6px 0;
  }

.c-profile__sort-menu.is-open{display:block;}

.c-profile__sort-menu li a{
    display:block; padding:10px 18px;
    font-size:.86rem; color:var(--ink);
  }

.c-profile__sort-menu li a:hover{background:var(--purple-050); color:var(--purple-900);}

.c-profile__jump{
    display:flex; flex-wrap:wrap; gap:8px;
  }

.c-profile__jump + .c-profile__area-block{margin-top:32px;}

.c-profile__jump-item{
    font-size:.8rem; font-weight:700;
    background:var(--purple-050); color:var(--purple-900);
    border:1px solid var(--line);
    border-radius:20px;
    padding:6px 16px;
  }

.c-profile__jump-item:hover{background:var(--purple-100);}

.c-profile__area-block + .c-profile__area-block{margin-top:40px;}

.c-profile__area-ttl{
    display:flex; align-items:center; gap:8px;
    font-family:"Noto Serif JP",serif; font-weight:700;
    color:var(--purple-900); font-size:1.05rem;
    margin:0 0 16px;
    padding-bottom:10px;
    border-bottom:2px solid var(--yellow);
  }

.c-profile__area-icon{font-size:.9rem;}

.c-profile__accordion + .c-profile__accordion{margin-top:12px;}

.c-profile__accordion{
    border:1px solid var(--line);
    border-radius:8px;
    overflow:hidden;
  }

.c-profile__accordion-head{
    width:100%;
    display:flex; align-items:center;
    background:var(--purple-050);
    border:none;
    border-bottom:1px solid var(--line);
    font-family:"Noto Serif JP",serif; font-weight:700; font-size:.98rem;
    color:var(--purple-900);
    padding:16px 20px;
    text-align:left;
  }

.c-profile__accordion-body{
    padding:20px;
  }

.c-profile__office-ttl{
    font-size:.86rem; font-weight:700; color:var(--purple-700);
    margin:0 0 12px;
  }

.c-profile__office-ttl:not(:first-child){margin-top:24px;}

.c-profile__card-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));
    gap:16px;
  }

.c-profile__card{
    display:flex; gap:14px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px;
    padding:14px;
  }

.c-profile__card-img{flex:none; width:110px; height:140px; border-radius:6px; overflow:hidden; background:var(--purple-050);}

.c-profile__card-img img{width:100%; height:100%; object-fit:cover; object-position:top; display:block;}

.c-profile__card-body{flex:1; min-width:0;}

.c-profile__card-name{margin:0 0 8px; font-size:.92rem; font-weight:700; color:var(--purple-900);}

.c-profile__card-link{
    display:inline-block;
    font-size:.78rem; font-weight:700;
    color:var(--purple); text-decoration:underline;
  }

.c-profile__card-link:hover{color:var(--yellow-dark);}

.c-profile__empty-note{color:var(--ink-soft); font-size:.9rem;}

.u-hidden{display:none;}

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

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