:root { --kokion-ink:#171714; --kokion-paper:#f8f6f1; --kokion-white:#fff; --kokion-muted:#6e6b63; --kokion-accent:#9b6b32; --kokion-focus:#c99342; --kokion-line:rgba(23,23,20,.14); --kokion-serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",Georgia,serif; --kokion-sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif; }
body { color:var(--kokion-ink); background:var(--kokion-paper); font-family:var(--kokion-sans); }
.site-header { border-bottom:1px solid var(--kokion-line); background:rgba(255,255,255,.97); }
.site-header .inside-header { width:min(1400px,calc(100% - 48px)); min-height:82px; margin-inline:auto; padding:0; }
.site-branding .main-title { font-family:var(--kokion-serif); font-size:1.55rem; font-weight:600; line-height:1; letter-spacing:.03em; }
.site-branding .main-title a { color:var(--kokion-ink); }
.site-branding .site-description { margin-top:.42rem; color:var(--kokion-ink); font-family:Georgia,serif; font-size:.61rem; letter-spacing:.26em; text-transform:uppercase; }
.main-navigation { border-bottom:1px solid var(--kokion-line); background:var(--kokion-white); }
.main-navigation .inside-navigation { width:min(1400px,calc(100% - 48px)); margin-inline:auto; }
.main-navigation .main-nav ul li a { padding-inline:clamp(.75rem,1.6vw,1.35rem); color:var(--kokion-ink); font-size:.78rem; letter-spacing:.06em; }
.main-navigation .main-nav ul li[class*="current-menu-"]>a,.main-navigation .main-nav ul li:hover>a,.main-navigation .main-nav ul li:focus-within>a { color:var(--kokion-accent); background:transparent; }
.menu-toggle { color:var(--kokion-ink); background:transparent; }
.main-navigation a:focus-visible,.site-header a:focus-visible,.site-footer a:focus-visible { outline:3px solid var(--kokion-focus); outline-offset:3px; }
.site-content { padding-block:clamp(2.5rem,5vw,5rem); }
.site-footer { color:#d8d4ca; background:var(--kokion-ink); }
.site-info { padding:2.6rem 1.5rem; background:transparent; }
.site-info .inside-site-info { display:block; text-align:center; }
.kokion-footer-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem 1.5rem; }
.kokion-footer-nav a { color:#f7f5ef; font-size:.76rem; letter-spacing:.05em; text-decoration:none; }
.kokion-footer-nav a:hover { color:var(--kokion-white); text-decoration:underline; text-underline-offset:.3em; }
.kokion-footer-copy { margin:1rem 0 0; color:#8d8a82; font-size:.72rem; letter-spacing:.05em; }
.kokion-p03-page .entry-header { display:none; }
.kokion-p03-page .site-main,.kokion-p03-page .entry-content { margin:0; }
.kokion-p03-page .inside-article { padding:0; background:transparent; }
@media (max-width:768px) { .site-header .inside-header,.main-navigation .inside-navigation{width:min(100% - 32px,1400px)} .site-header .inside-header{min-height:72px;padding-block:.9rem} .site-branding .main-title{font-size:1.35rem} .main-navigation .main-nav ul li a{padding:.8rem 1rem;font-size:.76rem} .site-content{padding-block:2rem 3.5rem} .site-info{padding-block:2.2rem} }
/* Shared GeneratePress chrome; no cart, checkout or payment controls are targeted. */
.site-header .inside-header { display:flex; align-items:center; padding-block:1.1rem; }
.main-navigation .menu-toggle,
.main-navigation .menu-toggle:hover,
.main-navigation .menu-toggle:focus { min-height:50px; color:var(--kokion-ink); background:transparent; }
.main-navigation .menu-toggle:focus-visible { outline:3px solid var(--kokion-focus); outline-offset:-4px; }
.main-navigation .main-nav ul ul { background:var(--kokion-white); }
.main-navigation .main-nav ul li a { box-sizing:border-box; min-height:50px; }
@media (max-width:768px) {
    .site-header .inside-header { justify-content:center; }
    .main-navigation .inside-navigation { justify-content:center; }
    .main-navigation.toggled .main-nav { width:100%; }
}
@media (max-width:768px) {
    .main-navigation .main-nav ul li a { display:flex; align-items:center; min-height:50px; line-height:1.5; }
}
.site-header .inside-header { box-sizing:border-box; }
/* Seven fixed navigation slots, including when account labels change. */
.main-navigation .main-nav { width:100%; }
.main-navigation .main-nav>ul { display:grid; grid-template-columns:.8fr 1fr 1fr 1.8fr 1fr 1fr .8fr; width:100%; }
.main-navigation .main-nav>ul>li>a { display:flex; justify-content:center; align-items:center; padding-inline:.5rem; white-space:nowrap; }
@media(max-width:768px) {
    .main-navigation .main-nav>ul { grid-template-columns:1fr; }
    .main-navigation .main-nav>ul>li>a { justify-content:flex-start; padding-inline:1rem; }
}
/* Keep WooCommerce's empty-cart recommendations within the viewport. */
.woocommerce-cart .wc-block-grid__products { margin-inline:0; }
.woocommerce-cart .wc-block-grid__product { box-sizing:border-box; }
@media(max-width:768px) {
    .main-navigation:not(.toggled) .main-nav>ul { display:none; }
    .main-navigation.toggled .main-nav>ul { display:grid; }
}

.main-navigation .main-nav>ul>li>span[aria-disabled="true"] { display:flex; justify-content:center; align-items:center; min-height:60px; padding:0 .5rem; color:var(--kokion-muted); font-size:.78rem; letter-spacing:.06em; white-space:nowrap; }
@media(max-width:768px) { .main-navigation .main-nav>ul>li>span[aria-disabled="true"] { justify-content:flex-start; min-height:50px; padding:.8rem 1rem; } }

/* 思い出プリント V1: one-line brand, four primary links, preserved account routes. */
.kokion-wordmark__link { display:inline-flex; align-items:center; gap:12px; color:var(--kokion-ink); text-decoration:none; font-family:var(--kokion-serif); font-size:clamp(22px,2.2vw,30px); font-weight:600; white-space:nowrap; letter-spacing:.04em; line-height:1.3; }
.kokion-wordmark__icon { flex:none; width:40px; height:40px; }
.site-header .inside-header { width:min(1400px,calc(100% - 64px)); min-height:80px; flex-wrap:wrap; gap:20px; padding-block:16px; }
.site-header .main-navigation { margin-left:auto; border:0; }
.main-navigation .inside-navigation { width:auto; }
.main-navigation .main-nav>ul { display:flex; align-items:center; gap:clamp(12px,2vw,28px); width:auto; }
.main-navigation .main-nav>ul>li>a { min-height:44px; padding:10px 4px; line-height:1.5; }
.main-navigation .main-nav>ul>li:last-child>a,.kokion-order-disabled { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; box-sizing:border-box; padding:10px 22px; border-radius:30px; background:#262522; color:#fff; font-size:13px; line-height:1.5; }
.kokion-order-disabled { background:#59564f; cursor:not-allowed; }
.kokion-order-disabled small { font-size:10px; }
.kokion-brand-mail-note { padding:16px 20px; border-left:2px solid #a58444; background:#f4f0e7; color:#47453f; font-size:13px; line-height:1.9; overflow-wrap:anywhere; }
.site-description { display:none; }
@media(max-width:1050px) and (min-width:769px) {
 .site-header .inside-header { width:calc(100% - 40px); gap:12px; }
 .kokion-wordmark__link { font-size:23px;gap:8px; }
 .kokion-wordmark__icon { width:32px;height:32px; }
 .main-navigation .main-nav>ul { gap:12px; }
 .main-navigation .main-nav>ul>li>a { font-size:12px;letter-spacing:0; }
 .main-navigation .main-nav>ul>li:last-child>a,.kokion-order-disabled { padding-inline:14px; }
}
@media(max-width:768px) {
 .site-header .inside-header { width:calc(100% - 32px); min-height:72px; justify-content:space-between; gap:8px; padding-block:12px; }
 .kokion-wordmark__link { font-size:22px;gap:8px; }
 .kokion-wordmark__icon { width:32px;height:32px; }
 .site-header .main-navigation { margin-left:auto; }
 .main-navigation .menu-toggle { min-height:44px;padding:8px;font-size:12px; }
 .main-navigation.toggled { width:100%; }
 .main-navigation.toggled .inside-navigation { justify-content:flex-end; }
 .main-navigation.toggled .main-nav { width:100%; }
 .main-navigation.toggled .main-nav>ul { display:flex; flex-direction:column; align-items:stretch; gap:4px;padding-block:12px; }
 .main-navigation .main-nav>ul>li>a { justify-content:flex-start;padding:12px 16px; }
 .main-navigation .main-nav>ul>li:last-child>a,.kokion-order-disabled { margin:8px 0;width:100%;justify-content:center; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important;transition:none!important; } }

/* 2026-11-06 user revision: discreet organization attribution in header too. */
.kokion-wordmark__text { display:flex;align-items:baseline;gap:10px; }
.kokion-wordmark__by { color:#716b60;font-family:Georgia,serif;font-size:11px;font-weight:400;letter-spacing:.02em; }
@media(max-width:1050px) { .kokion-wordmark__text { display:flex;flex-direction:column;align-items:flex-start;gap:3px; }.kokion-wordmark__by { font-size:10px;letter-spacing:.05em; } }
@media(max-width:768px) {
 .site-header .inside-header>.menu-toggle { flex:0 0 64px;width:64px;min-width:0;min-height:44px;margin-left:auto;padding:8px 4px;line-height:1.5;font-size:11px; }
 .site-header .inside-header>#site-navigation:not(.toggled) { display:none; }
 .site-header .inside-header>#site-navigation.toggled { display:block; }
}

@media(max-width:768px) {
 .site-header .inside-header>.mobile-menu-control-wrapper { flex:0 0 64px;width:64px;min-height:44px;margin-left:auto; }
 .site-header .mobile-menu-control-wrapper .menu-toggle { width:64px;min-width:0;min-height:44px;padding:8px 4px;line-height:1.5;font-size:11px; }
}
@media(max-width:768px) {
 .kokion-wordmark__link { font-size:21px; }
 .site-header .inside-header>.mobile-menu-control-wrapper { flex-basis:80px;width:80px; }
 .site-header .mobile-menu-control-wrapper .menu-toggle { display:inline-flex;align-items:center;justify-content:center;gap:5px;width:80px;white-space:nowrap; }
 .site-header .mobile-menu-control-wrapper .menu-toggle .gp-icon { margin:0;font-size:12px; }
 .site-header .inside-header>.menu-toggle { flex-basis:80px;width:80px;white-space:nowrap; }
}
