/* ===== 共通ヘッダー・フッター（トップページと統一） =====
   内部ページ用。top.css と同じ見た目を sh- 接頭辞で定義しています。 */
.sh-wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.sh-topics{background:#f8f5e9;border-bottom:1px solid #eee8d2;font-family:inherit}
.sh-topics .sh-wrap{display:flex;align-items:center;gap:16px;padding-top:8px;padding-bottom:8px;font-size:13px;color:#567363}
.sh-tag{background:#e6a851;color:#fff;border-radius:4px;padding:5px 9px;font-size:11px;font-weight:800;letter-spacing:.04em;flex-shrink:0;line-height:1.3}
.sh-topics ul{list-style:none;margin:0;padding:0;flex:1;min-width:0}
.sh-topics li{margin:0;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.9}
.sh-topics li::before{display:none}
.sh-topics time{color:#8a9b8f;margin-right:10px;font-size:12px}
.sh-topics li a{color:#2f6a50;font-weight:700;text-decoration:none}
.sh-topics li a:hover{text-decoration:underline}
.sh-topics .sh-more{flex-shrink:0;color:#277554;font-weight:800;text-decoration:none;font-size:13px}
.sh-topics .sh-more:hover{text-decoration:underline}

.sh-header{background:#fff;border-bottom:1px solid #e9eee9;position:relative;z-index:30}
.sh-header .sh-wrap{display:flex;align-items:center;justify-content:space-between;gap:25px;height:92px;max-width:1370px}
.sh-brand{display:block;flex-shrink:0;line-height:0}
.sh-brand img{width:300px;height:auto;display:block;max-height:none}
.sh-nav{display:flex;align-items:center;gap:23px;white-space:nowrap;font-size:14px;font-weight:800}
.sh-nav a{color:#354a43;text-decoration:none}
.sh-nav a:hover{text-decoration:underline;text-underline-offset:7px;color:#354a43}
.sh-nav a.sh-contact{border:1.5px solid #b4d4bf;padding:11px 19px;color:#276c4f;border-radius:40px}
.sh-nav a.sh-contact:hover{background:#eef6f0;text-decoration:none;color:#276c4f}
.sh-toggle{display:none;font:inherit;font-size:13px;font-weight:800;border:1px solid #c9dfd0;background:#fff;color:#254c40;padding:6px 12px;border-radius:99px;cursor:pointer}
.sh-mobile{display:none;background:#fff;border-bottom:1px solid #e9eee9}
.sh-mobile.is-open{display:block}
.sh-mobile a{display:block;padding:14px 18px;border-top:1px solid #eef3ee;font-weight:800;color:#354a43;text-decoration:none;font-size:15px}
.sh-mobile a:hover{background:#eef6f0}

.sh-footer{background:#254d42;color:#e9f4e8;padding:50px 0 36px;font-size:14px;line-height:1.75;text-align:left}
.sh-footer a{color:#edf4ef;text-decoration:none}
.sh-footer a:hover{text-decoration:underline}
.sh-footer .sh-wrap{display:flex;justify-content:space-between;gap:65px}
.sh-footer-brand{font-size:23px;font-weight:900;margin-bottom:10px;color:#fff}
.sh-footer-org{font-size:13px;color:#c7e4d4;line-height:2}
.sh-footer-info{font-size:13px;color:#c7e4d4;line-height:2;margin-top:14px}
.sh-footer-links{font-size:14px;display:grid;grid-template-columns:repeat(3,auto);gap:13px 34px;font-weight:700;align-content:start}
.sh-footer-end{border-top:1px solid #6c918060;margin-top:35px;padding-top:20px;font-size:12px;color:#d4e7d9}
.sh-footer .sh-wrap.sh-end-wrap{display:block}

@media(max-width:1400px){
  .sh-nav{gap:16px;font-size:13.5px}
  .sh-brand img{width:260px}
  .sh-nav a.sh-contact{padding:9px 14px}
}
@media(max-width:1100px){
  .sh-nav{gap:10px;font-size:12px}
  .sh-brand img{width:250px}
}
@media(max-width:900px){
  .sh-nav{display:none}
  .sh-toggle{display:block}
  .sh-header .sh-wrap{height:72px}
  .sh-brand img{width:230px}
}
@media(max-width:760px){
  .sh-wrap{padding:0 18px}
  .sh-topics .sh-wrap{flex-wrap:wrap;gap:6px 10px}
  .sh-topics li{white-space:normal}
  .sh-topics .sh-more{width:100%}
  .sh-tag{align-self:flex-start}
  .sh-footer .sh-wrap{display:block}
  .sh-footer-links{grid-template-columns:repeat(2,auto);justify-content:start;margin-top:25px;font-size:13px}
}
