/* ══ 2026-11-02 社長指示：隠れていたページにヘッダー・フッター・スマホメニューから行けるようにする ══
   全ページ共通。差し込みは impl-src/sitenav/apply_sitenav.py（何度流しても同じ）。
   style.css は触らず、このファイルで後勝ちに上書きする。 */

/* ── PC：ヘッダーの項目にメニューを付ける ── */
@media (min-width:1025px){
  .nav{position:relative;width:min(66rem,calc(100% - 2.5rem))}
  .nav:not(.shrink) .nav-link-wrap{overflow:visible}
  .nav-link-wrap{gap:1.25rem}
}
.sn-dd{position:relative;display:flex;align-items:center;gap:.1rem;padding:1rem 0;margin:-1rem 0}
.sn-caret{display:inline-grid;place-items:center;width:1.1rem;height:1.4rem;padding:0;border:0;background:none;color:var(--grey-3);cursor:pointer;border-radius:.3rem}
.sn-caret::before{content:"";width:.38rem;height:.38rem;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-.12rem) rotate(45deg);transition:transform .35s var(--ease)}
.nav.light .sn-caret{color:var(--grey-2)}
.sn-dd:hover .sn-caret::before,.sn-dd.open .sn-caret::before{transform:translateY(.08rem) rotate(225deg)}
.sn-caret:focus-visible{outline:2px solid var(--red-bright);outline-offset:2px}
.sn-panel{position:absolute;top:100%;left:50%;z-index:20;min-width:17.5rem;padding:.55rem;
  background:#141414;border:1px solid rgba(255,255,255,.12);border-radius:1.1rem;box-shadow:0 1.4rem 3.2rem rgba(0,0,0,.45);
  opacity:0;visibility:hidden;transform:translate(-50%,.5rem);transition:opacity .25s ease,transform .35s var(--ease),visibility 0s linear .35s}
.sn-dd:hover .sn-panel,.sn-dd:focus-within .sn-panel,.sn-dd.open .sn-panel{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .25s ease,transform .35s var(--ease),visibility 0s}
.sn-dd.closed .sn-panel{opacity:0;visibility:hidden}
.sn-panel a{display:block;padding:.62rem .8rem;border-radius:.7rem;color:#fafafa;font-size:.9rem;font-weight:700;line-height:1.35;white-space:nowrap;transition:background-color .2s ease}
.sn-panel a small{display:block;margin-top:.15rem;font-size:.74rem;font-weight:500;color:#9a9a9a;white-space:nowrap}
.sn-panel a:hover,.sn-panel a:focus-visible{background:rgba(255,255,255,.07);outline:none}
.sn-panel a:hover small{color:#c4c4c4}
.sn-panel a[aria-current="page"]{background:rgba(232,35,31,.14)}
.sn-panel a[aria-current="page"]::after{content:"このページ";display:inline-block;margin-left:.5rem;padding:.05rem .4rem;border-radius:.3rem;background:var(--red-bright);font-size:.66rem;vertical-align:.1rem}
.sn-panel .sn-new{display:inline-block;margin-left:.45rem;padding:.04rem .38rem;border-radius:.3rem;background:var(--red-bright);color:#fff;font-size:.64rem;font-weight:800;letter-spacing:.04em;vertical-align:.12rem}

/* ── スマホ：まとまりごとに開閉 ── */
.sn-mob{display:flex;flex-direction:column;gap:0}
.sn-mob details{border-bottom:1px solid rgba(255,255,255,.08)}
.sn-mob summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:52px;font-size:1.35rem;font-weight:800;color:#fafafa;cursor:pointer}
.sn-mob summary::-webkit-details-marker{display:none}
.sn-mob summary::after{content:"";width:.55rem;height:.55rem;margin-right:.3rem;border-right:2px solid var(--grey-3);border-bottom:2px solid var(--grey-3);transform:translateY(-.15rem) rotate(45deg);transition:transform .3s var(--ease)}
.sn-mob details[open] summary::after{transform:translateY(.1rem) rotate(225deg)}
.sn-mob details>div{display:flex;flex-direction:column;padding:0 0 .7rem .2rem}
.sn-mob details a{display:flex;align-items:center;min-height:44px;font-size:1.02rem;font-weight:600;color:#d4d4d4;border:0;padding:0}
.sn-mob details a[aria-current="page"]{color:#fff}
.sn-mob details a[aria-current="page"]::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--red-bright);margin-right:.55rem;flex-shrink:0}
.sn-mob>.mob-nav-link{font-size:1.35rem;min-height:52px;border-bottom:1px solid rgba(255,255,255,.08)}
.sn-mob .sn-new{display:inline-block;margin-left:.45rem;padding:.04rem .38rem;border-radius:.3rem;background:var(--red-bright);color:#fff;font-size:.66rem;font-weight:800}

/* ── フッター：全ページの一覧 ── */
.footer .footer-main:has(.sn-foot){grid-template-columns:1fr}
.footer .nav-block.sn-foot{grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr));gap:2.2rem 1.6rem}
.sn-foot .footer-link{white-space:normal}
.sn-foot .footer-link .flip .l2{white-space:normal}
.sn-foot .sn-cols{grid-column:1/-1;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.07)}
.sn-foot .sn-cols-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem 1.6rem;margin-top:.9rem}
.sn-foot .sn-cols-list .footer-link{font-size:.8rem}
@media (max-width:1100px){.footer .nav-block.sn-foot{grid-template-columns:repeat(3,minmax(0,1fr))}.sn-foot .sn-cols-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.footer .nav-block.sn-foot{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.2rem}.sn-foot .sn-cols-list{grid-template-columns:1fr}}
@media (max-width:359px){.footer .nav-block.sn-foot{grid-template-columns:1fr}}
@media (max-width:1024px){.sn-foot .sn-cols-list .footer-link{padding:.5rem 0}}

/* ── フッター：PCは見出し＋一覧、スマホはまとまりごとに開閉（2026-11-02 社長「モバイルのフッターがただ流れていてダサい」） ── */
.sn-fd>summary{list-style:none;margin-bottom:1rem;padding-bottom:.6rem;border-bottom:1px solid rgba(255,255,255,.12);font-size:.95rem;font-weight:800;letter-spacing:.04em;color:#fafafa;pointer-events:none}
.sn-foot .sn-cols-list>.footer-link:first-child{grid-column:1/-1;font-weight:700}
.sn-foot .sn-cols-list>.footer-link:first-child .l1{color:#fafafa}
.sn-fd>summary::-webkit-details-marker{display:none}
@media (max-width:760px){
  .footer .nav-block.sn-foot{grid-template-columns:1fr;gap:0}
  .sn-fd{border-bottom:1px solid rgba(255,255,255,.1)}
  .sn-fd:first-child{border-top:1px solid rgba(255,255,255,.1)}
  .sn-foot .sn-cols{padding-top:0;border-top:0}
  .sn-fd>summary{border-bottom:0;padding-bottom:0;letter-spacing:0;pointer-events:auto;display:flex;align-items:center;justify-content:space-between;min-height:58px;margin:0;font-size:1.05rem;cursor:pointer}
  .sn-fd>summary::after{content:"+";flex:0 0 auto;margin-right:.3rem;font-size:1.5rem;font-weight:300;line-height:1;color:var(--grey-3)}
  .sn-fd[open]>summary::after{content:"−"}
  .sn-fd>div{display:flex!important;flex-direction:column;gap:0;padding:0 0 1rem .2rem}
  .sn-fd .footer-link.main{display:none}
  .sn-fd .footer-link{white-space:normal}
  .sn-fd .footer-link{padding:.55rem 0!important;font-size:.9rem}
  .sn-fd .footer-link .flip .l1{color:#c4c4c4}
  .sn-foot .sn-cols-list{grid-template-columns:1fr!important;margin-top:0}
  .sn-foot .sn-cols-list .footer-link{font-size:.88rem}
  .footer .links-block{align-items:center;text-align:center;padding-top:.6rem}
  .footer .social-link-list{justify-content:center}
  .footer-bot{flex-direction:column;align-items:center;text-align:center}
}
