a:focus-visible,summary:focus-visible{outline:3px solid #947314;outline-offset:4px}a[aria-disabled="true"]{cursor:default;text-decoration:underline}
/* The original 320px grid minimum only overflows below 360px. Keep 390px/desktop design unchanged. */
@media(max-width:359px){[style*="grid-template-columns: repeat(auto-fit, minmax(320px, 1fr))"]{grid-template-columns:minmax(0,1fr)!important}}

.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;width:56px;height:52px;padding:10px;cursor:pointer;flex-shrink:0}.menu-toggle span{display:block;height:2px;background:#2F4A3F;margin:7px 0}dialog{width:min(92vw,520px);max-height:90svh;padding:24px;border:1px solid #D6D1C6;background:#F5F3EE;color:#1E2B27}dialog::backdrop{background:#1e2b2777}.menu-heading{display:flex;justify-content:space-between;align-items:center}.menu-heading h2{font-family:'Noto Serif JP',serif;letter-spacing:.2em;font-size:24px}.menu-close{min-height:44px;border:1px solid #2F4A3F;padding:8px 14px;background:transparent;font:inherit;cursor:pointer}dialog nav a{display:block;min-height:52px;padding:16px 0;border-bottom:1px solid #D6D1C6;text-decoration:none;font-size:17px}

.menu-toggle,dialog,dialog *{box-sizing:border-box}dialog{font-family:"Noto Sans JP",sans-serif}dialog a{color:#1E2B27}button:focus-visible{outline:3px solid #947314;outline-offset:4px}@media(max-width:1100px){.service-header nav,.service-header>div>a:last-of-type{display:none!important}.service-header .menu-toggle{display:block}.service-header>div{flex-wrap:nowrap!important}}