/* page-adire.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;
    }
  }

/* ---------- 事業所案内 (adire office listing) ---------- */
  .c-adire__lead{font-size:1.05rem; font-weight:700; color:var(--purple-900); margin:0;}

.c-adire__lead-strong{color:var(--yellow-dark); text-decoration:underline; text-underline-offset:3px;}

.c-adire__lead-sub{margin:10px 0 4px; color:var(--ink-soft); font-size:.92rem;}

.c-adire__lead-note{margin:0 0 32px; color:var(--purple-300); font-size:.78rem;}

.c-adire__map-panel{
    display:grid;
    grid-template-columns:1fr 1.3fr 1fr;
    gap:20px;
    align-items:start;
  }

.c-adire__map-panel + .c-adire__office-list{margin-top:40px;}

.c-adire__map-col{display:flex; flex-direction:column; gap:20px;}

.c-adire__area-ttl{
    display:flex; align-items:center; gap:6px;
    font-family:"Noto Serif JP",serif; font-weight:700;
    color:var(--purple-900); font-size:.9rem;
    margin:0 0 10px;
  }

.c-adire__area-icon{font-size:.8rem;}

.c-adire__pref-list{
    display:flex; flex-wrap:wrap; gap:6px;
    list-style:none; margin:0; padding:0;
  }

.c-adire__pref-link{
    display:inline-block;
    font-size:.76rem; font-weight:700;
    background:var(--purple-050); color:var(--purple-900);
    border:1px solid var(--line);
    border-radius:16px;
    padding:5px 12px;
  }

.c-adire__pref-link:hover{background:var(--purple-100);}

.c-adire__map-center{display:flex; align-items:flex-start; justify-content:center;}

.c-adire__stat-line{
    text-align:left;
    margin:0 0 24px;
  }

.c-adire__stat-line p{margin:0; font-family:"Noto Serif JP",serif; font-weight:700; font-size:.95rem; color:var(--purple-900); line-height:1.7;}

.c-adire__map-bg{
    width:100%;
    max-width:280px;
    aspect-ratio:286/279;
    margin:0 auto;
    background:url('/assets/images/adire/bg-japan.png') no-repeat center center;
    background-size:contain;
  }

.c-adire__map-strong{color:var(--yellow-dark); font-size:1.15rem;}

.c-adire__map-note-mark{font-size:.7rem; vertical-align:top;}

@media(max-width:860px){
    .c-adire__map-panel{grid-template-columns:1fr; gap:28px;}
    .c-adire__map-center{order:-1;}
  }

.c-adire__office-list{margin-top:12px;}

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

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

.c-adire__accordion-head{
    width:100%;
    display:flex; align-items:center; justify-content:space-between;
    background:var(--purple-900); color:#fff;
    border:none;
    font-family:"Noto Serif JP",serif; font-weight:700; font-size:1rem;
    padding:16px 20px;
    cursor:pointer;
    text-align:left;
  }

.c-adire__accordion-caret{color:var(--yellow); font-size:1.1rem; flex:none;}

.c-adire__accordion.is-open .c-adire__accordion-caret{transform:rotate(45deg);}

.c-adire__accordion-body{
    max-height:0; overflow:hidden;
    transition:max-height .3s ease;
    padding:0 20px;
  }

.c-adire__accordion.is-open .c-adire__accordion-body{padding:20px;}

.c-adire__pref-ttl{
    font-size:.9rem; font-weight:700; color:var(--purple-700);
    margin:0 0 14px;
    padding-bottom:8px;
    border-bottom:2px solid var(--yellow);
  }

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

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

.c-adire__office-card{
    display:flex; gap:14px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px;
    padding:14px;
    transition:box-shadow .15s ease, transform .15s ease;
  }

.c-adire__office-card:hover{box-shadow:0 6px 16px rgba(61,49,83,.1); transform:translateY(-2px);}

.c-adire__office-card-img{flex:none; width:72px; height:72px; border-radius:50%; overflow:hidden; background:var(--purple-050);}

.c-adire__office-card-img img{width:100%; height:100%; object-fit:cover; display:block;}

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

.c-adire__office-card-name{margin:0 0 6px; font-size:.9rem; font-weight:700; color:var(--purple-900);}

.c-adire__office-card-addr{margin:0; font-size:.78rem; color:var(--ink-soft); line-height:1.6;}

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

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

.u-hidden{display:none;}

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