/* 全ページ共通：スマホ用メニュー */
.menu-btn{display:none}
@media (max-width:900px){
  .site-header > div{position:relative}
  .menu-btn{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;flex-shrink:0;width:46px;height:46px;padding:0;border:1px solid #CFD6E4;border-radius:12px;background:#FFFFFF;cursor:pointer}
  .menu-btn span{display:block;width:20px;height:2px;border-radius:2px;background:#1F2A4D;transition:transform .2s ease,opacity .2s ease}
  .site-header.is-open .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .site-header.is-open .menu-btn span:nth-child(2){opacity:0}
  .site-header.is-open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .site-header.is-open .nav-links{display:flex !important;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch !important;gap:0 !important;padding:6px 20px 22px;background:#FAF8F3;border-bottom:1px solid #E4E1D8;box-shadow:0 18px 30px rgba(31,42,77,.12)}
  .site-header.is-open .nav-links .navlink{padding:15px 4px;border-bottom:1px solid #ECE9E1;font-size:16px}
  .site-header.is-open .nav-links .btn{margin-top:16px;text-align:center;padding:13px 18px !important;font-size:16px}
  body.menu-open{overflow:hidden}
}

/* スマホ：ヘッダーの協会名を1行に、項目と説明の2列は縦並びに */
@media (max-width:900px){
  .site-header > div{padding-top:10px !important;padding-bottom:10px !important;gap:12px !important}
  .site-header > div > a{gap:10px !important;min-width:0}
  .site-header > div > a > svg{width:34px;height:34px}
  .site-header > div > a > div > span:first-child{font-size:15px !important;white-space:nowrap}
  .site-header > div > a > div > span:last-child{display:none}
  dl[style*="grid-template-columns: 140px"],
  dl[style*="grid-template-columns: 110px"]{grid-template-columns:1fr !important;row-gap:2px !important}
  dl[style*="grid-template-columns: 140px"] dd,
  dl[style*="grid-template-columns: 110px"] dd{margin-bottom:12px !important}
  [style*="padding: 36px 40px"]{padding:26px 22px !important}
}
@media (max-width:360px){
  .site-header > div > a > div > span:first-child{font-size:13.5px !important}
}

/* スマホ：トップのキャッチコピーが単語の途中で折れないように */
@media (max-width:900px){
  .hero-title{font-size:min(7vw, 38px) !important;word-break:auto-phrase}
  #top .hero-grid > div > span:first-child{font-size:12px !important;padding:5px 12px !important}
  .sec-title{word-break:auto-phrase}
}
