
/* 共通ヘッダー：PCは横並び、900px以下はメニューボタンで開閉 */
.hdr{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid #D4E4DD}
.hdr .l-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;max-width:1200px;margin-inline:auto;padding-inline:16px}
.hdr .logo{display:flex;align-items:center;gap:10px;font-weight:700;text-decoration:none;font-size:17px;color:#183B37!important;flex:none}
.hdr .logo b{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:#007B6A;color:#fff!important;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:13px}
.hdr .nav{display:flex;gap:24px;font-size:14px}
.hdr .nav a{text-decoration:none;color:#586D68}
.hdr .nav a:hover,.hdr .nav a[aria-current]{color:#007B6A}
.hdr-act{display:flex;align-items:center;gap:8px;flex:none}
.hdr .hdr-cta{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:42px;padding:6px 18px;border-radius:999px;background:#007B6A;color:#fff!important;font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap;box-shadow:none}
.hdr-cta .short{display:none}
.mnav{display:none;position:static}
.mnav summary{list-style:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid #D4E4DD;background:#fff;cursor:pointer}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary span,.mnav summary span::before,.mnav summary span::after{display:block;width:18px;height:2px;border-radius:2px;background:#183B37;transition:transform .2s,opacity .2s}
.mnav summary span{position:relative}
.mnav summary span::before,.mnav summary span::after{content:"";position:absolute;left:0}
.mnav summary span::before{top:-6px}.mnav summary span::after{top:6px}
.mnav[open] summary span{background:transparent}
.mnav[open] summary span::before{transform:translateY(6px) rotate(45deg)}
.mnav[open] summary span::after{transform:translateY(-6px) rotate(-45deg)}
.mnav summary:focus-visible{outline:3px solid #007B6A;outline-offset:2px}
.mnav-panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid #D4E4DD;box-shadow:0 18px 30px -18px rgba(0,0,0,.25);padding:8px 16px 18px;max-height:calc(100vh - 64px);overflow-y:auto}
.mnav-panel a{display:flex;justify-content:space-between;align-items:center;padding:14px 4px;border-bottom:1px solid #D4E4DD;font-size:16px;font-weight:700;color:#183B37!important;text-decoration:none}
.mnav-panel a::after{content:"→";color:#007B6A}
.mnav-panel a[aria-current]{color:#007B6A!important}
.mnav-panel .mnav-cta{justify-content:center;margin-top:14px;border:0;border-radius:999px;background:#007B6A;color:#fff!important;min-height:52px}
.mnav-panel .mnav-cta::after{content:none}
.mnav-panel .mnav-co{display:block;margin-top:14px;padding:0;border:0;font-size:13px;font-weight:500;color:#586D68!important;text-align:center}
.mnav-panel .mnav-co::after{content:none}
@media (max-width:900px){.hdr .nav{display:none}.mnav{display:block}.hdr .l-wrap{position:relative}}
@media (max-width:359px){.hdr-cta .long{display:none}.hdr-cta .short{display:inline}.hdr .hdr-cta{padding:6px 14px}}
