/* 常設ナビゲーション */ .gnav{ display:flex;align-items:center;justify-content:space-between; padding:14px 24px;border-bottom:1px solid var(--line); }
.gnav-logo{display:flex;align-items:center;}
.gnav-logo img{height:110px;width:auto;display:block;}
@media (max-width:560px){ .gnav-logo img{height:54px;} }
.gnav-right{display:flex;align-items:center;gap:16px;}
.lang-switch{position:relative;}
.lang-btn{ display:flex;align-items:center;gap:7px; background:none;border:1px solid var(--line);border-radius:100px; padding:10px 16px;font-size:13.5px;font-weight:700;color:var(--ink); cursor:pointer;font-family:inherit; }
.lang-btn .caret{font-size:10px;color:var(--muted);}
.lang-btn svg{flex:none;width:17px;height:17px;}
.lang-panel{ display:none;position:absolute;top:calc(100% + 8px);right:0;z-index:30; min-width:150px;background:var(--surface);border:1px solid var(--line); border-radius:10px;box-shadow:var(--shadow);padding:6px; }
.lang-switch.open .lang-panel{display:block;}
.lang-option{ display:flex;align-items:center;justify-content:space-between;gap:8px; padding:9px 10px;border-radius:6px;font-size:12.5px;color:var(--ink); cursor:pointer; }
.lang-option:hover{background:var(--surface-2);}
.lang-option.active{color:var(--accent);font-weight:700;}
.lang-option .soon{font-size:9.5px;color:var(--muted);font-weight:400;}
.hamburger{ display:flex;flex-direction:column;align-items:center;gap:6px;padding:2px 4px; background:none;border:none;cursor:pointer;color:var(--ink); font-family:inherit; }
.hamburger .bars{display:flex;flex-direction:column;gap:5px;}
.hamburger .bars span{width:26px;height:2.5px;border-radius:2px;background:var(--ink);display:block;transition:transform 0.2s ease,opacity 0.2s ease;}
.hamburger .label{font-size:10px;letter-spacing:0.07em;color:var(--muted);text-transform:uppercase;}
.hamburger[aria-expanded="true"] .bars span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.hamburger[aria-expanded="true"] .bars span:nth-child(2){opacity:0;}
.hamburger[aria-expanded="true"] .bars span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
.nav-panel{ max-height:0;overflow:hidden; background:var(--surface-2);border-bottom:1px solid var(--line); transition:max-height 0.25s ease; }
.nav-panel.open{max-height:300px;}
.nav-panel-inner{padding:6px 24px 16px;display:flex;flex-direction:column;}
.nav-panel a{ padding:12px 4px;font-size:13.5px;color:var(--ink);text-decoration:none; border-bottom:1px solid var(--line); display:flex;align-items:center;gap:8px; }
.nav-badge{ font-family:'Inter',sans-serif;font-size:9px;font-weight:800;letter-spacing:0.06em; color:#fff;background:var(--gradient);border-radius:100px; padding:3px 7px 3px 5px;line-height:1;display:inline-flex;align-items:center;gap:3px; }
.nav-badge svg{width:9px;height:9px;flex:none;}
.nav-panel a:last-child{border-bottom:none;}
@media (prefers-reduced-motion: reduce){ .hamburger .bars span, .nav-panel{transition:none;} }
.page-footer{ background:var(--ink);color:rgba(255,255,255,0.72); padding:36px 24px 34px;margin-top:60px; }
.pf-inner{max-width:980px;margin:0 auto;}
.pf-brand{ font-family:'Inter','Noto Sans JP',-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif; font-size:17px;font-weight:800;color:#fff;text-decoration:none; display:inline-block;margin-bottom:6px;letter-spacing:-0.01em; }
.pf-brand .fz{color:var(--accent-on-dark);}
.pf-nav{display:flex;flex-direction:column;gap:0;margin-bottom:0;}
.pf-nav a:last-child{border-bottom:none;}
.pf-nav a{ font-size:13px;color:rgba(255,255,255,0.82);text-decoration:none; padding:11px 0;border-bottom:1px solid rgba(255,255,255,0.12); }
.pf-nav a:first-child{border-top:1px solid rgba(255,255,255,0.12);}
.pf-nav a:hover{color:#fff;}
.pf-sub{ display:flex;flex-wrap:wrap;gap:0 18px; padding-top:18px;margin-bottom:18px;border-top:1px solid rgba(255,255,255,0.12); }
.pf-sub a{font-size:11.5px;color:rgba(255,255,255,0.6);text-decoration:none;padding:5px 0;}
.pf-sub a:hover{color:#fff;}
.pf-copy{ font-size:11px;color:rgba(255,255,255,0.45);margin:0; font-family:'Inter',sans-serif;letter-spacing:0.01em; }
.site-footer{ position:fixed;left:0;right:0;bottom:0;z-index:60; background:var(--ink); box-shadow:0 -4px 16px -4px rgba(26,26,61,0.3); padding:10px 14px; }
.footer-inner{display:flex;gap:10px;}
.site-footer a{ flex:1;display:flex;align-items:center;justify-content:center;gap:7px; padding:12px 10px;border-radius:100px; background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.22); color:#fff;font-size:13.5px;font-weight:700;text-decoration:none; transition:background 0.15s ease; }
.site-footer a svg{width:18px;height:18px;flex:none;}
.site-footer a:hover{background:rgba(255,255,255,0.2);}
.site-footer a.primary{background:var(--gradient);border:none;padding:13px 10px;}
.to-top{ flex:none;width:46px;padding:12px 0;cursor:pointer; display:flex;align-items:center;justify-content:center; border-radius:100px;background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.22);color:#fff; font-family:inherit;transition:background 0.15s ease; }
.to-top:hover{background:rgba(255,255,255,0.2);}
.to-top svg{width:18px;height:18px;}

/* 繰り返し使う小物(インラインstyleから移設) */
.text-link{color:var(--accent);font-weight:600;text-decoration:none;}
.note{font-size:13px;color:var(--muted);margin:0;}
.note-gap{margin-bottom:14px;}
.no-tap{cursor:default;}
