/* Mobile-only treatment disclosure. Desktop navigation stays unchanged. */
#header .ks-treatment-nav { display:none; }
#header .btn-menu { border:0; padding:0; background:transparent; color:inherit; cursor:pointer; appearance:none; -webkit-appearance:none; }
#header .btn-menu:focus-visible { outline:2px solid #8b704b; outline-offset:-5px; }
@media (max-width:750px) {
  html.ks-mobile-menu-open, body.ks-mobile-menu-open { overflow:hidden !important; }
  body.ks-mobile-nav-ready #wrapper > header { min-height:60px; }
  body.ks-mobile-menu-open #header { position:fixed; inset:var(--ks-mobile-header-top,0px) 0 auto; z-index:1010; }
  body.ks-mobile-nav-ready #header #g-navi,
  body.ks-sticky-preview.ks-sticky-ready.ks-mobile-nav-ready #header #g-navi {
    box-sizing:border-box; left:0; right:0; width:100%;
    top:var(--ks-mobile-nav-top,60px);
    height:calc(100dvh - var(--ks-mobile-nav-top,60px) - var(--ks-preview-offset,0px));
    max-height:calc(100dvh - var(--ks-mobile-nav-top,60px) - var(--ks-preview-offset,0px));
    padding:8px 20px calc(32px + env(safe-area-inset-bottom));
    overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain;
  }
  #header #g-navi .g-navi__menu { display:block; margin:0; padding:0; }
  #header #g-navi .g-navi__menu > li { margin:0; padding:0; border-bottom:1px solid #dfd7ca; }
  #header #g-navi .g-navi__menu > li > a,
  #header #g-navi .ks-concern-nav > summary,
  #header #g-navi .ks-treatment-nav > summary {
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    box-sizing:border-box; width:100%; min-height:52px; margin:0; padding:14px 2px;
    color:#403b34; font-family:var(--serif); font-size:15px; font-weight:500;
    line-height:1.6; letter-spacing:.04em; text-align:left; white-space:normal;
    text-decoration:none;
  }
  #header #g-navi .g-navi__menu > .ks-treatment-nav-item > a.ks-treatment-nav__desktop { display:none; }
  #header .ks-treatment-nav { display:block; width:100%; }
  #header .ks-treatment-nav summary { cursor:pointer; list-style:none; -webkit-tap-highlight-color:transparent; }
  #header .ks-treatment-nav summary::-webkit-details-marker { display:none; }
  #header .ks-treatment-nav summary::marker { content:""; }
  #header #g-navi .ks-treatment-nav[open] > summary { color:#80643d; }
  /* Match the chevron used by 「お悩みから探す」. */
  #header .ks-treatment-nav__plus { display:inline-block; flex:0 0 6px; width:6px; height:6px; border-right:1px solid #9b845d; border-bottom:1px solid #9b845d; transform:translateY(-2px) rotate(45deg); transition:transform .2s; }
  #header .ks-treatment-nav[open] > summary > .ks-treatment-nav__plus,
  #header .ks-treatment-group[open] > summary > .ks-treatment-nav__plus { transform:translateY(2px) rotate(225deg); }
  #header .ks-treatment-nav__arrow { display:inline-block; flex:0 0 auto; width:auto; height:auto; margin-right:0; color:#aa9066; font-size:15px; line-height:1; }
  #header .ks-treatment-nav__arrow::after { content:"→"; }
  #header .ks-treatment-panel { box-sizing:border-box; margin:0 0 14px; padding:12px 14px 14px; background:#fcfaf7; border:1px solid #e3dbce; text-align:left; }
  #header .ks-treatment-panel__intro { margin:0; padding:0 2px 10px; color:#716657; font-family:var(--default-font); font-size:12px; font-weight:400; line-height:1.7; letter-spacing:.02em; }
  #header .ks-treatment-panel__list,
  #header .ks-treatment-group__links { display:block; list-style:none; margin:0; padding:0; }
  #header #g-navi .ks-treatment-panel__row { display:block; margin:0; padding:0; border-bottom:1px solid #e8e1d6; }
  #header #g-navi .ks-treatment-panel a,
  #header #g-navi .ks-treatment-group > summary {
    box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:14px;
    width:100%; min-height:48px; margin:0; padding:12px 2px;
    color:#494137; font-family:var(--default-font); font-size:14px; font-weight:400;
    line-height:1.65; letter-spacing:.015em; white-space:normal; text-align:left;
    word-break:normal; overflow-wrap:anywhere; text-decoration:none;
  }
  #header #g-navi .ks-treatment-panel a::after { content:none; }
  #header #g-navi .ks-treatment-panel a > span:first-child,
  #header #g-navi .ks-treatment-group > summary > span:first-child { min-width:0; }
  #header #g-navi .ks-treatment-panel__row--featured { margin:0 -5px 4px; border:0; border-left:2px solid #b3976c; background:#f2ece2; }
  #header #g-navi .ks-treatment-panel__row--featured > a { padding:13px 10px; font-weight:500; color:#6d5433; }
  #header .ks-treatment-group[open] > summary { font-weight:500 !important; color:#80643d !important; }
  #header .ks-treatment-group__links { margin:0 0 12px 2px; padding:0 0 0 12px; border-left:1px solid #cdbb9e; }
  #header #g-navi .ks-treatment-group__links li { margin:0; padding:0; }
  #header #g-navi .ks-treatment-group__links a { min-height:46px; padding:10px 2px; font-size:13px; }
  #header #g-navi .ks-treatment-panel .ks-treatment-panel__all { margin-top:14px; padding:12px 10px; border:1px solid #cdbb9e; font-size:13px; color:#705839; }
  #header .ks-treatment-panel__preparing { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-height:46px; padding:10px 2px; color:#736a60; font-family:var(--default-font); font-size:13px; line-height:1.6; }
  #header .ks-treatment-panel__badge { padding:2px 6px; border:1px solid #d8cdbb; font-size:11px; line-height:1.5; }
  #header .ks-treatment-nav summary:focus-visible,
  #header #g-navi .ks-treatment-panel a:focus-visible { outline:2px solid #8b704b; outline-offset:-2px; }
  #header #g-navi .ks-treatment-panel a:hover { background-color:#f3eee6; }
  body.ks-mobile-menu-open .ks-floating-reserve { visibility:hidden; pointer-events:none; }
}
@media (max-width:359px) {
  body.ks-mobile-nav-ready #header #g-navi,
  body.ks-sticky-preview.ks-sticky-ready.ks-mobile-nav-ready #header #g-navi { padding-left:16px; padding-right:16px; }
  #header .ks-treatment-panel { padding-left:12px; padding-right:12px; }
}
@media (prefers-reduced-motion:reduce) {
  #header .ks-treatment-nav__plus { transition:none; }
}
