/* assets/header.css */
.site-header{
    background:#1F2C5C;
    position: sticky; /* ← 固定したいなら fixed に変える（下に追記） */
    top: 0;
    z-index: 9999;
  }
  
  .site-header__inner{
    max-width:1100px;
    margin:0 auto;
    padding:18px;
    display:flex;
    align-items:center;
    gap:24px;
  }
  
  .site-header__logo{ display:inline-flex; align-items:center; }
  .site-header__logo img{ height:34px; width:auto; display:block; }
  
  .site-header__nav{
    display:flex;
    align-items:center;
    gap:28px;
    margin-left:auto;
  }
  
  .site-header__link{
    color:#fff;
    font-weight:700;
    font-size:18px;
    text-decoration:none;
    opacity:.9;
    position:relative;
    padding:6px 0;
  }
  .site-header__link:hover{ opacity:1; text-decoration:none; }
  .site-header__link::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-6px;
    width:100%;
    height:2px;
    background:#fff;
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .25s ease;
    border-radius:999px;
  }
  .site-header__link:hover::after{ transform:scaleX(1); }
  .site-header__link.is-active::after{ transform:scaleX(0); }
  
  .site-header__actions{
    display:flex;
    align-items:center;
    gap:14px;
    margin-left:14px;
  }
  
  .site-header__btnText{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 18px;
    border-radius:999px;
    border:2px solid #fff;
    color:#fff;
    font-weight:700;
    font-size:14px;
    text-decoration:none;
    position:relative;
    overflow:hidden;
    background:transparent;
  }
  .site-header__btnText::before{
    content:"";
    position:absolute;
    inset:0;
    background:#fff;
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .28s ease;
    z-index:0;
  }
  .site-header__btnText span,
  .site-header__btnText{ position:relative; z-index:1; }
  .site-header__btnText:hover::before{ transform:scaleX(1); }
  .site-header__btnText:hover{ color:#1F2C5C; text-decoration:none; }
  
  .site-header__icon{
    width:80px;
    height:80px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:none;
  }
  .site-header__icon img{ width:40px; height:auto; display:block; }
  
  /* レスポンシブ */
  @media (max-width: 820px){
    .site-header__inner{ gap:14px; }
    .site-header__nav{ gap:16px; }
    .site-header__link{ font-size:13px; }
  }
  @media (max-width: 640px){
    .site-header__nav{ display:none; }
  }
  