/* Cocoon共通ヘッダー。親テーマのHTMLと登録済みメニューをそのまま利用する。 */
body {
  --wic-header-ivory:#f8f6f0;
  --wic-header-ink:#302f29;
  --wic-header-green:#475b49;
  --wic-header-line:rgba(48,47,41,.15);
}

body #header-container {
  position:relative;
  z-index:4;
  display:block;
  width:100%;
  padding:0;
  border:0;
  border-bottom:1px solid var(--wic-header-line);
  background:var(--wic-header-ivory);
  box-shadow:none;
}
body #header-container-in,
body #header,
body #navi { background:transparent; }
body #header .tagline { display:none; }
body #header .site-name-text-link { color:var(--wic-header-ink); text-decoration:none; }
body #header .site-name-text { font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-weight:500; letter-spacing:.065em; }
body #navi .navi-in > ul > li > a { color:var(--wic-header-ink); font-weight:400; }
body #navi .item-description { display:none; }
body #header-container.fixed-header { background:rgba(248,246,240,.96); box-shadow:none; backdrop-filter:blur(8px); }
body.wic-brand-logo-ready #header .logo:not(.wic-brand-logo) { display:none; }
body #header .wic-brand-logo { margin:0; padding:0; }
body #header .wic-brand-logo .site-name-text-link { display:flex; align-items:center; margin:0; padding:0; }
body #header .wic-brand-logo-image { display:block; width:auto; height:auto; margin:0; object-fit:contain; object-position:left center; }

@media screen and (min-width:1024px) {
  body #header-container-in {
    display:flex;
    width:min(1240px,calc(100% - 48px));
    min-height:76px;
    margin:0 auto;
    align-items:center;
    justify-content:space-between;
    gap:28px;
  }
  body #header-container-in .wrap { width:auto; }
  body #header { flex:0 0 auto; width:auto; height:auto; background-image:none; }
  body #header-in { display:flex; width:auto; min-height:0; margin:0; padding:0; align-items:center; }
  body #header .logo,
  body #header .logo-text,
  body #header .logo-image { margin:0; padding:0; text-align:left; }
  body #header .site-name-text-link { display:block; margin:0; padding:8px 0; }
  body #header .site-name-text { display:block; max-width:none; font-size:clamp(19px,1.7vw,23px); line-height:1.25; white-space:nowrap; }
  body #header .logo-header,
  body #header .logo-header img { max-height:46px; }
  body #header .wic-brand-logo-image { width:clamp(285px,26vw,350px); max-width:100%; max-height:70px; }
  body #navi { flex:1 1 auto; width:auto; margin:0; }
  body #navi .navi-in { width:100%; }
  body #navi .navi-in > ul { display:flex; justify-content:flex-end; flex-wrap:nowrap; }
  body #navi .navi-in > ul > li { width:auto; }
  body #navi .navi-in > ul > li > a {
    position:relative;
    min-height:76px;
    padding:0 clamp(9px,1.2vw,16px);
    display:flex;
    align-items:center;
    font-size:clamp(12px,1vw,14px);
    line-height:1.35;
    letter-spacing:.045em;
    white-space:nowrap;
  }
  body #navi .navi-in > ul > li > a::after {
    content:"";
    position:absolute;
    right:clamp(9px,1.2vw,16px);
    bottom:17px;
    left:clamp(9px,1.2vw,16px);
    height:1px;
    background:var(--wic-header-green);
    transform:scaleX(0);
    transform-origin:right;
    transition:transform .25s ease;
  }
  body #navi .navi-in > ul > li > a:hover,
  body #navi .navi-in > ul > li > a:focus-visible { color:var(--wic-header-green); background:transparent; }
  body #navi .navi-in > ul > li > a:hover::after,
  body #navi .navi-in > ul > li > a:focus-visible::after,
  body #navi .navi-in > ul > li.current-menu-item > a::after,
  body #navi .navi-in > ul > li.current-menu-ancestor > a::after { transform:scaleX(1); transform-origin:left; }
  body #navi .sub-menu { border:1px solid var(--wic-header-line); background:var(--wic-header-ivory); box-shadow:none; }
  body #navi .navi-in > ul li:focus-within > .sub-menu { display:block; }
  body #navi .sub-menu a { padding:12px 18px; color:var(--wic-header-ink); font-size:13px; }
  body #navi .sub-menu a:hover,
  body #navi .sub-menu a:focus-visible { color:var(--wic-header-green); background:rgba(71,91,73,.06); }
}

@media screen and (max-width:1023px) {
  body { --cocoon--mobile-header-menu-buttons--height:66px; }
  body:is(.mblt-header-mobile-buttons,.mblt-header-and-footer-mobile-buttons) #header-container { display:none; }
  body:not(.mblt-header-mobile-buttons):not(.mblt-header-and-footer-mobile-buttons) #header-container-in { width:100%; }
  body:not(.mblt-header-mobile-buttons):not(.mblt-header-and-footer-mobile-buttons) #header-in { min-height:66px; padding:5px 14px; }
  body:not(.mblt-header-mobile-buttons):not(.mblt-header-and-footer-mobile-buttons) #header .logo-text { padding:0; }
  body:not(.mblt-header-mobile-buttons):not(.mblt-header-and-footer-mobile-buttons) #header .site-name-text { font-size:19px; }
  body:not(.mblt-header-mobile-buttons):not(.mblt-header-and-footer-mobile-buttons) #header .wic-brand-logo-image { width:min(calc(100vw - 28px),330px); max-width:100%; max-height:58px; }
  body .mobile-header-menu-buttons {
    min-height:66px;
    padding:0 10px 0 12px;
    border-bottom:1px solid var(--wic-header-line);
    background:rgba(248,246,240,.98);
    box-shadow:none;
    color:var(--wic-header-ink);
    backdrop-filter:blur(8px);
  }
  body .mobile-header-menu-buttons .search-menu-button { display:none; }
  body .mobile-header-menu-buttons .logo-menu-button { order:1; flex:1 1 auto; width:auto; justify-content:flex-start; text-align:left; line-height:1.25; }
  body .mobile-header-menu-buttons .logo-menu-button > a {
    max-width:calc(100vw - 96px);
    padding:5px 2px;
    color:var(--wic-header-ink);
    font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
    font-size:clamp(15px,4.5vw,20px);
    font-weight:500;
    letter-spacing:.045em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  body .mobile-header-menu-buttons .logo-menu-button img { display:block; width:min(calc(100vw - 94px),285px); height:auto; max-width:100%; max-height:58px; margin:0; object-fit:contain; object-position:left center; }
  body .mobile-header-menu-buttons .navi-menu-button { order:2; flex:0 0 52px; width:52px; }
  body .mobile-header-menu-buttons .navi-menu-button .menu-button-in { width:100%; min-height:58px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--wic-header-green); }
  body .mobile-header-menu-buttons .navi-menu-icon { font-size:19px; line-height:1; }
  body .mobile-header-menu-buttons .navi-menu-caption { margin-top:5px; font-family:Georgia,serif; font-size:8px; letter-spacing:.13em; opacity:1; }
  body #navi-menu-close { background:#1f2a22; }
  body #navi-menu-content {
    width:min(88vw,370px);
    max-width:370px;
    background:var(--wic-header-ivory);
    color:var(--wic-header-ink);
    box-shadow:none;
  }
  body #navi-menu-content .menu-close-button {
    width:62px;
    height:62px;
    margin-left:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--wic-header-green);
    cursor:pointer;
  }
  body #navi-menu-content .menu-drawer { margin:0; padding:8px 24px 40px; }
  body #navi-menu-content .menu-drawer > li { border-bottom:1px solid var(--wic-header-line); }
  body #navi-menu-content .menu-drawer a { padding:15px 2px; color:var(--wic-header-ink); font-size:15px; line-height:1.6; letter-spacing:.035em; }
  body #navi-menu-content .menu-drawer a:hover,
  body #navi-menu-content .menu-drawer a:focus-visible { color:var(--wic-header-green); background:transparent; }
  body #navi-menu-content .sub-menu { margin:0 0 10px; padding-left:14px; }
  body #navi-menu-content .sub-menu a { padding:10px 2px; font-size:13px; }
  body.wic-menu-open { overflow:hidden; }
}

@media (prefers-reduced-motion:reduce) {
  body #navi .navi-in > ul > li > a::after,
  body #navi-menu-content { transition:none; }
}
