.u-section-1 .u-sheet-1 {
  min-height: 400px;
}

.u-section-1 .u-custom-html-1 {
  margin-bottom: 60px;
  margin-top: 0;
}@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&family=Outfit:wght@300;400;500;600;700&display=swap);
:root { --navy:#0B3D74; --ink:#12283D; --body:#41566A; --blue:#009EE5; --line:#E6EAEF; --mute:#7C8794; }
* { box-sizing:border-box; }
body { margin:0; font-family:'Noto Sans JP',sans-serif; color:#333; background:#fff; -webkit-font-smoothing:antialiased; }
.bs-wrap img { max-width:100%; }
.bs-wrap a { color:#0054A7; text-decoration:none; }
.bs-wrap a:hover { color:var(--blue); }
.bs-wrap { width:100%; overflow-x:clip; }
.bs-wrap .bs-inner { max-width:1128px; margin:0 auto; }
/* header */
.bs-wrap .bs-header { position:sticky; top:0; z-index:40; background:rgba(255,255,255,.94); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.bs-wrap .bs-header__in { max-width:1240px; margin:0 auto; padding:0 clamp(20px,3vw,40px); height:67px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.bs-wrap .bs-header__logo { display:flex; align-items:center; flex-shrink:0; }
.bs-wrap .bs-header__logo img { height:clamp(24px,2.3vw,33px); width:auto; }
.bs-wrap .bs-nav { display:flex; align-items:center; gap:clamp(8px,1.4vw,22px); font-size:clamp(11px,.95vw,13.5px); font-weight:500; white-space:nowrap; }
.bs-wrap .bs-nav a.bs-btn { display:inline-flex; align-items:center; background:var(--blue); color:#fff; font-size:13px; font-weight:700; padding:11px clamp(14px,1.6vw,26px); border-radius:999px; }
.bs-wrap .bs-nav a.bs-btn:hover { background:#0054A7; color:#fff; }
/* page head */
.bs-wrap .bs-head { background:#fff; padding:clamp(18px,2vw,26px) clamp(20px,4vw,56px) clamp(32px,3.6vw,48px); }
.bs-wrap .bs-crumb { margin:0; font-size:11px; line-height:1.45; color:#5B7288; }
.bs-wrap .bs-h1 { margin:18px 0 0; font-size:clamp(28px,3.4vw,52px); font-weight:700; line-height:1.5; color:var(--ink); }
.bs-wrap .bs-h1sub { margin:8px 0 0; font-family:Outfit,sans-serif; font-size:12px; letter-spacing:.1em; color:#5B7288; }
/* news list */
.bs-wrap .bs-news { background:#fff; padding:clamp(28px,3.2vw,44px) clamp(20px,4vw,56px) clamp(48px,6vw,80px); }
.bs-wrap .bs-tabs { display:flex; flex-wrap:wrap; gap:8px; }
.bs-wrap .bs-tab { display:inline-flex; cursor:default; align-items:center; height:38px; padding:0 20px; border:1px solid #CBD8E4; border-radius:999px; background:#fff; color:#41566A; font-size:13px; font-weight:700; }
.bs-wrap .bs-tab.is-on { background:var(--navy); border-color:var(--navy); color:#fff; }
.bs-wrap .bs-news__list { margin-top:22px; border-top:1px solid #E6EDF3; }
.bs-wrap .bs-news__row { display:grid; grid-template-columns:100px 116px 1fr; gap:8px 20px; align-items:center; padding:20px 6px; border-bottom:1px solid #E6EDF3; color:#333; }
.bs-wrap .bs-news__row:hover { background:#F3F4F3; color:#333; }
.bs-wrap .bs-news__date { font-family:Outfit,sans-serif; font-size:12px; color:var(--mute); }
.bs-wrap .bs-news__cat { font-size:11px; font-weight:700; line-height:1.7; }
.bs-wrap .bs-news__title { font-size:14.5px; line-height:1.7; }
.bs-wrap .bs-news__note { margin:26px 0 0; font-size:12px; line-height:1.9; color:#5B7288; }
@media (max-width:640px) {
  .bs-wrap .bs-news__row { grid-template-columns:92px 1fr; }
  .bs-wrap .bs-news__title { grid-column:1 / -1; }
}
/* cta */
.bs-wrap .bs-cta { background:#1255A2; padding:clamp(48px,6vw,66px) clamp(20px,4vw,56px); }
.bs-wrap .bs-cta__in { max-width:1120px; margin:0 auto; text-align:center; }
.bs-wrap .bs-cta__in h2 { margin:0; font-size:clamp(24px,2.6vw,34px); font-weight:700; line-height:1.4; color:#fff; }
.bs-wrap .bs-cta__in p { margin:16px 0 0; font-size:15px; font-weight:700; line-height:1.65; color:#fff; }
.bs-wrap .bs-cta__btns { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:28px; }
.bs-wrap .bs-cta__btn { display:flex; align-items:center; height:55px; padding:0 32px; background:#fff; color:#1255A2; font-size:15px; font-weight:700; border-radius:999px; }
.bs-wrap .bs-cta__btn:hover { background:#E6F5FD; color:#1255A2; }
.bs-wrap .bs-cta__btn--ghost { background:#1255A2; color:#fff; box-shadow:inset 0 0 0 2px #fff; }
.bs-wrap .bs-cta__btn--ghost:hover { background:#fff; color:#1255A2; }
/* footer */
.bs-wrap .bs-footer { background:var(--navy); padding:clamp(40px,5vw,49px) clamp(20px,4vw,56px) 24px; }
.bs-wrap .bs-footer__top { max-width:1120px; margin:0 auto; display:flex; flex-wrap:wrap; gap:clamp(28px,4vw,32px); }
.bs-wrap .bs-footer__brand { flex:0 1 260px; }
.bs-wrap .bs-footer__brand > p:first-child { margin:0; font-family:Outfit,sans-serif; font-size:20px; font-weight:700; line-height:1.25; color:#fff; }
.bs-wrap .bs-footer__note { margin:14px 0 0; font-size:11px; line-height:1.9; color:#fff; }
.bs-wrap .bs-footer__cols { flex:1 1 480px; display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:24px; }
.bs-wrap .bs-footer__title { margin:0; font-size:12px; font-weight:700; line-height:1.42; color:#fff; }
.bs-wrap .bs-footer__links { display:flex; flex-direction:column; gap:10px; margin-top:14px; font-size:12px; }
.bs-wrap .bs-footer__links a { color:#C6DBEE; }
.bs-wrap .bs-footer__links a:hover { color:#fff; }
.bs-wrap .bs-footer__bottom { max-width:1120px; margin:28px auto 0; padding-top:21px; border-top:1px solid rgba(255,255,255,.28); display:flex; flex-wrap:wrap; gap:16px; justify-content:space-between; align-items:center; }
.bs-wrap .bs-footer__copy { font-family:Outfit,sans-serif; font-size:11px; color:#9FBEDC; }
.bs-wrap .bs-footer__legal { display:flex; gap:10px; font-size:11px; }
.bs-wrap .bs-footer__legal a { color:#9FBEDC; }
.bs-wrap .bs-footer__legal a:hover { color:#fff; }
/* サイトCSS(nicepage-site.css)の打ち消し */
.bs-wrap { font-family:'Noto Sans JP',sans-serif; font-size:16px; color:#333; line-height:normal; }
.bs-wrap a { font-size:inherit; line-height:inherit; }
.bs-wrap p { line-height:normal; margin:1em 0; }
.bs-wrap h1 { font-size:2em; line-height:normal; }
/* SPナビ折り返し（2026-09-05 汎用版・クラス非依存） */
@media (max-width:767px){
.bs-wrap header{position:static !important;}
.bs-wrap header > div:first-child{flex-wrap:wrap !important;height:auto !important;justify-content:center !important;padding:10px 14px 12px !important;row-gap:8px !important;}
.bs-wrap header > div:first-child > nav{width:100% !important;flex-wrap:wrap !important;justify-content:center !important;height:auto !important;gap:8px 14px !important;font-size:12.5px !important;white-space:normal !important;}
.bs-wrap header > div:first-child > nav a{white-space:nowrap !important;}
}