/* =========================================
   お問い合わせ固定リンク (footer内・SP限定)
   既存 .fixed-link と同仕様で真上に配置
   ========================================= */
footer .fixed-contact {
  display: none; /* PC・タブレットは非表示(SPのみ) */
}

/* 599px以下 */
@media (max-width: 599px) {
  footer .fixed-contact {
    display: block;
    position: fixed;
    right: 0;
    bottom: 148px; /* 既存 .fixed-link(80px) + 円56px + 余白12px */
    z-index: 100;
    --tab-width: 56px;
    --expand-width: 240px;
    --contact-color: #5f3b38;
    width: var(--tab-width);
    height: 56px;
    background: #fff;
    border-radius: 28px 0 0 28px;
    box-shadow: -4px 4px 16px rgba(20, 30, 60, 0.18);
    overflow: hidden;
    transition: width 0.4s cubic-bezier(0.22, 0.61, 0.36, 1),
                box-shadow 0.3s ease;
    will-change: width;
  }

  /* 展開時：枠が左に伸びるだけ。トグル円は動かさない */
  footer .fixed-contact.is-open {
    width: var(--expand-width);
    box-shadow: -8px 8px 28px rgba(20, 30, 60, 0.28);
  }
  footer .fixed-contact.is-open .fixed-contact__expand {
    opacity: 1;
    pointer-events: auto;
  }

  /* 円形メールアイコン(常に右に固定・最前面) */
  footer .fixed-contact__toggle {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    padding: 0;
    background: transparent;
    border: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  footer .fixed-contact__toggle:focus-visible {
    outline: 2px solid #c9a96e;
    outline-offset: -4px;
  }
  footer .fixed-contact__toggle-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 50%;
    overflow: hidden;
    color: #2f170d;
  }
  footer .fixed-contact__toggle-icon svg {
    width: 30px;
    height: 30px;
  }

  /* 展開コンテンツ(テキストのみ・右にトグル分の余白) */
  footer .fixed-contact__expand {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    width: var(--expand-width);
    height: 56px;
    padding: 0 64px 0 18px;
    text-decoration: none;
    color: var(--contact-color);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.15s ease 0s; /* 閉じる時は即フェードアウト */
    -webkit-tap-highlight-color: transparent;
  }
  /* 開く時は幅アニメ後にフェードイン */
  footer .fixed-contact.is-open .fixed-contact__expand {
    transition: opacity 0.25s ease 0.3s;
  }
  footer .fixed-contact__expand:focus-visible {
    outline: 2px solid #c9a96e;
    outline-offset: -2px;
  }
  footer .fixed-contact__expand-text {
    flex: 1;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.4;
    white-space: nowrap;
    text-align: left;
    color: var(--contact-color);
    font-family: "Noto Serif JP", serif;
  }
}

@media screen and (max-width:599px) {
header .sb-box.sp-none{
  display: none;
} 
}

