/* て＋て 共通ブランド表示：元画像の縦横比を維持して配置 */
.site-header{align-items:center;gap:clamp(12px,2vw,26px)}
.site-header .brand{
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 auto;min-width:0;max-width:100%;
  padding:7px 9px;border-radius:4px;
  background:rgba(251,249,243,.95); /* トップの暗い写真上でも黒い文字を読めるように */
  box-shadow:0 1px 7px rgba(22,25,18,.08);
}
.brand-logo-image{display:block;width:clamp(105px,9.8vw,143px);height:auto;max-width:100%;object-fit:contain}
.site-header .brand:focus-visible{outline:3px solid #d94b3a;outline-offset:3px}
.loader-logo-image{display:block;width:min(48vw,260px);height:auto;max-width:80vw}
.footer-logo-image{display:block;width:clamp(125px,15vw,195px);height:auto;max-width:100%;margin-bottom:12px}
.tetote-detail-header{padding:18px max(20px,7vw);background:#f4f0e7;border-bottom:1px solid rgba(39,42,36,.15)}
.tetote-detail-header a{display:inline-block;width:clamp(125px,12vw,174px)}
.tetote-detail-header img{width:100%;height:auto;object-fit:contain;display:block}
.tetote-detail-header a:focus-visible{outline:3px solid #d94b3a;outline-offset:3px}
/* 幅の狭いPC・タブレットではナビを折り畳み、ロゴとメニューの衝突を防止 */
@media (min-width:901px) and (max-width:1300px){
  .site-header .header-tools{display:none}
  .site-header .menu-button{display:block;flex:0 0 auto}
  .mobile-nav{
    display:flex;position:fixed;z-index:900;inset:var(--event-bar-h) 0 0;
    background:#293028;color:#f6f3ea;flex-direction:column;justify-content:center;
    padding:90px 10vw 55px;transform:translateY(-105%);
    transition:transform .65s cubic-bezier(.2,.7,.15,1);overflow:auto;
  }
  .archive-page .mobile-nav{top:0}
  .mobile-nav.open{transform:none}
  .mobile-menu-links{width:100%}
  .mobile-menu-links>a{font-family:var(--serif);font-size:clamp(22px,2.3vw,30px);border-bottom:1px solid rgba(255,255,255,.15);padding:clamp(10px,1.4vh,21px) 0;display:flex;justify-content:space-between;align-items:center}
  .mobile-nav small{font-family:var(--sans);font-size:11px;letter-spacing:.25em;opacity:.55}
  .mobile-socials{display:flex;gap:12px;margin-top:26px}
  .mobile-socials>a{font:500 14px var(--sans);letter-spacing:.07em;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:10px 18px 10px 11px;display:flex;align-items:center;gap:9px}
  .mobile-social-icon{width:34px;height:34px;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:grid;place-items:center;flex:0 0 auto}
  .mobile-social-icon svg{width:19px;height:19px;display:block}
}
@media (max-width:900px){
  .site-header{align-items:center}
  .archive-page .mobile-nav{top:0}
  .mobile-nav{overflow-y:auto}
}
@media (max-width:560px){
  .site-header{padding:10px 14px}
  .site-header .brand{padding:5px 7px}
  .brand-logo-image{width:clamp(104px,30vw,126px)}
  .footer-logo-image{width:clamp(125px,40vw,164px)}
  .loader-logo-image{width:min(62vw,225px)}
  .mobile-menu-links>a{padding-block:clamp(12px,2.2vh,22px)}
}
@media (prefers-reduced-motion:reduce){
  .mobile-nav{transition:none!important}
}
