.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");
* { box-sizing: border-box; }
body { margin: 0px; font-family: "Noto Sans JP", sans-serif; color: rgb(51, 51, 51); background: rgb(255, 255, 255); -webkit-font-smoothing: antialiased; }
.bs-wrap img { max-width: 100%; }
.bs-wrap a { color: rgb(0, 84, 167); text-decoration: none; }
.bs-wrap h1, .bs-wrap h2, .bs-wrap h3 { margin: 0px; }
.bs-wrap ul, .bs-wrap ol { margin: 0px; padding: 0px; list-style: none; }
.bs-wrap { width: 100%; overflow-x: hidden; }
.bs-wrap .bs-header { position: sticky; top: 0px; z-index: 40; background: rgba(255, 255, 255, 0.94); backdrop-filter: blur(10px); border-bottom: 1px solid rgb(230, 234, 239); }
.bs-wrap .bs-header__in { max-width: 1240px; margin: 0px auto; padding: 0px 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, 0.95vw, 13.5px); font-weight: 500; white-space: nowrap; }
.bs-wrap .bs-nav a { color: rgb(0, 84, 167); }
.bs-wrap .bs-nav a.bs-btn-pill { background: rgb(18, 85, 162); color: rgb(255, 255, 255); font-size: 13px; font-weight: 700; padding: 11px clamp(14px, 1.6vw, 26px); border-radius: 999px; }
.bs-wrap .bs-nav a.bs-btn-pill:hover { background: rgb(11, 61, 116); color: rgb(255, 255, 255); }
.bs-wrap .bs-btn { display: flex; align-items: center; height: 55px; padding: 0px 30px; font-size: 15px; font-weight: 700; border-radius: 999px; }
.bs-wrap .bs-btn--primary { background: rgb(18, 85, 162); color: rgb(255, 255, 255); box-shadow: rgba(18, 85, 162, 0.22) 0px 8px 20px; }
.bs-wrap .bs-btn--primary:hover { background: rgb(11, 61, 116); color: rgb(255, 255, 255); }
.bs-wrap .bs-lang { display: flex; align-items: center; gap: 8px; padding-left: 8px; border-left: 1px solid #D8E1EA; font-family: Outfit, sans-serif; font-size: 12px; font-weight: 600; }
.bs-wrap .bs-lang a { color: rgb(0, 84, 167); }
.bs-wrap .bs-lang span { color: rgb(11, 61, 116); }
.bs-wrap .bs-nav a.bs-btn--sm, .bs-wrap .bs-btn--sm { height: auto; padding: 11px clamp(14px, 1.5vw, 22px); font-size: 13px; white-space: nowrap; }
.bs-wrap .bs-nav a.bs-btn--sm { box-shadow: none; }
.bs-wrap .bs-nav a.bs-btn--primary { color: rgb(255, 255, 255); }
.bs-wrap .bs-hero { position: relative; overflow: hidden; }
.bs-wrap .bs-hero__bg { position: absolute; inset: 0px; background: url("https://assets.nicepagecdn.com/d786c942/5322040/images/Top-20260908.webp") 62% top / cover no-repeat; }
.bs-wrap .bs-hero__veil { position: absolute; inset: 0px; background: linear-gradient(90deg, rgba(255, 255, 255, 0.72) 0%, rgba(255, 255, 255, 0.45) 34%, rgba(255, 255, 255, 0.08) 58%, rgba(255, 255, 255, 0) 74%); }
.bs-wrap .bs-hero__fade { position: absolute; left: 0px; right: 0px; bottom: 0px; height: 46vw; max-height: 1200px; z-index: 1; background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.12) 28%, rgba(255, 255, 255, 0.38) 48%, rgba(255, 255, 255, 0.72) 64%, rgba(255, 255, 255, 0.93) 76%, rgb(255, 255, 255) 86%, rgb(255, 255, 255) 100%); }
.bs-wrap .bs-hero__in { position: relative; z-index: 3; max-width: 1240px; margin: 0px auto; padding: clamp(56px, 6.5vw, 104px) clamp(20px, 4vw, 56px) clamp(200px, 37vw, 1200px); }
.bs-wrap .bs-hero__h1 { margin: 0px; font-weight: 400; }
.bs-wrap .bs-hero__eyebrow { display: block; text-shadow: rgb(255, 255, 255) 0px 0px 3px, rgb(255, 255, 255) 0px 0px 6px, rgb(255, 255, 255) 0px 0px 10px, rgb(255, 255, 255) 0px 0px 16px, rgb(255, 255, 255) 0px 0px 24px, rgb(255, 255, 255) 0px 0px 36px, rgba(255, 255, 255, 0.95) 0px 0px 52px; margin: 0px; font-size: clamp(18px, 2.4vw, 34px); font-weight: 700; color: rgb(18, 40, 61); letter-spacing: 0.04em; }
.bs-wrap .bs-hero__wordmark { display: block; text-shadow: rgb(255, 255, 255) 0px 0px 3px, rgb(255, 255, 255) 0px 0px 6px, rgb(255, 255, 255) 0px 0px 10px, rgb(255, 255, 255) 0px 0px 16px, rgb(255, 255, 255) 0px 0px 24px, rgb(255, 255, 255) 0px 0px 36px, rgba(255, 255, 255, 0.95) 0px 0px 52px; margin: clamp(8px, 1vw, 14px) 0px 0px; font-family: Outfit, sans-serif; font-size: clamp(56px, 8vw, 116px); font-weight: 600; line-height: 1.02; letter-spacing: -0.02em; color: rgb(35, 24, 21); }
.bs-wrap .bs-hero__wordmark span { font-weight: 300; }
.bs-wrap .bs-hero__lead { text-shadow: rgb(255, 255, 255) 0px 0px 3px, rgb(255, 255, 255) 0px 0px 6px, rgb(255, 255, 255) 0px 0px 10px, rgb(255, 255, 255) 0px 0px 16px, rgb(255, 255, 255) 0px 0px 24px, rgb(255, 255, 255) 0px 0px 36px, rgba(255, 255, 255, 0.95) 0px 0px 52px; margin: clamp(16px, 1.8vw, 24px) 0px 0px; font-size: clamp(13px, 1.05vw, 15.5px); font-weight: 400; line-height: 1.85; color: rgb(51, 51, 51); max-width: 32em; text-wrap: pretty; }
.bs-wrap .bs-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: clamp(22px, 2.6vw, 34px); }
.bs-wrap .bs-cta-a { display: flex; align-items: center; height: 55px; padding: 0px 32px; background: rgb(18, 85, 162); color: rgb(255, 255, 255); font-size: 15px; font-weight: 700; border-radius: 999px; box-shadow: rgba(18, 85, 162, 0.15) 0px 8px 20px; }
.bs-wrap .bs-cta-a:hover { background: rgb(11, 61, 116); color: rgb(255, 255, 255); }
.bs-wrap .bs-cta-b { display: flex; align-items: center; height: 55px; padding: 0px 32px; background: rgb(255, 255, 255); color: rgb(18, 85, 162); font-size: 15px; font-weight: 700; border-radius: 999px; box-shadow: rgb(18, 85, 162) 0px 0px 0px 1px inset; }
.bs-wrap .bs-cta-b:hover { background: rgb(234, 245, 252); color: rgb(18, 85, 162); }
@media (max-width: 700px) {
  .bs-wrap .bs-hero__in { padding-top: 20px; padding-bottom: 26vw; }
  .bs-wrap .bs-hero__cta { margin-top: 78vw; }
}
.bs-wrap .bs-hero__illust { position: absolute; left: 0px; right: 0px; bottom: 0px; display: block; width: 100%; height: auto; z-index: 2; pointer-events: none; }
.bs-wrap .bs-sec { padding: clamp(48px, 6vw, 96px) clamp(20px, 4vw, 56px); }
.bs-wrap .bs-sec--grey { background: rgb(243, 244, 243); }
.bs-wrap .bs-sec--white { background: rgb(255, 255, 255); }
.bs-wrap .bs-sec--fade { background: linear-gradient(rgb(255, 255, 255) 0%, rgb(243, 244, 243) 100%); }
.bs-wrap .bs-split { max-width: 1360px; margin: 0px auto; display: flex; flex-wrap: wrap; gap: clamp(28px, 4vw, 56px); align-items: center; }
.bs-wrap .bs-split--rev { flex-wrap: wrap-reverse; }
.bs-wrap .bs-col { flex: 1 1 460px; min-width: 0px; }
.bs-wrap .bs-h2 { font-size: clamp(26px, 2.7vw, 38px); font-weight: 900; line-height: 1.6; color: rgb(18, 40, 61); }
.bs-wrap .bs-h2 em, .bs-wrap .bs-h2 span.acc, .bs-wrap .bs-mb__h2 span.acc { font-style: normal; color: rgb(18, 85, 162); background: linear-gradient(transparent 62%, #CCECFA 62%, #CCECFA 94%, transparent 94%); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.bs-wrap .bs-sub { margin: 22px 0px 0px; font-size: clamp(19px, 2vw, 30px); font-weight: 300; line-height: 1.5; color: rgb(51, 51, 51); }
.bs-wrap .bs-p { margin: 22px 0px 0px; font-size: clamp(14px, 1.3vw, 18.7px); font-weight: 300; line-height: 1.95; color: rgb(51, 51, 51); }
.bs-wrap .bs-p--tight { margin-top: 10px; }
.bs-wrap .bs-img-r { display: block; width: 100%; height: auto; border-radius: 15px; }
.bs-wrap .bs-arrowbtn { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; height: 56px; padding: 0px 20px 0px 44px; background: rgb(0, 84, 167); color: rgb(255, 255, 255); font-size: 18px; font-weight: 700; border-radius: 999px; }
.bs-wrap .bs-arrowbtn:hover { background: rgb(18, 85, 162); color: rgb(255, 255, 255); }
.bs-wrap .bs-arrowbtn svg { flex-shrink: 0; width: 27px; height: 27px; }
.bs-wrap .bs-arrowbtn--lg { height: 65px; font-size: 22.5px; padding: 0px 18px 0px 40px; width: 100%; max-width: 396px; }
.bs-wrap .bs-arrowbtn--lg svg { width: 32px; height: 32px; }
.bs-wrap .bs-head-c { text-align: center; }
.bs-wrap .bs-h2-c { font-size: clamp(28px, 3vw, 45px); font-weight: 900; line-height: 1.3; color: rgb(18, 40, 61); }
.bs-wrap .bs-en { margin: 10px 0px 0px; font-family: Outfit, sans-serif; font-size: 12px; letter-spacing: 0.1em; color: rgb(76, 98, 116); }
.bs-wrap .bs-mb { position: relative; background: rgb(255, 255, 255); padding: clamp(48px, 6vw, 96px) clamp(20px, 4vw, 56px) clamp(56px, 7vw, 104px); }
.bs-wrap .bs-mb__curve { position: absolute; left: 0px; top: -1px; width: 100%; height: clamp(48px, 7vw, 96px); transform: scaleY(-1); }
.bs-wrap .bs-mb__in { position: relative; max-width: 1310px; margin: 0px auto; }
.bs-wrap .bs-mb__ital { margin: 0px; font-family: Outfit, sans-serif; font-size: clamp(22px, 2.4vw, 33px); font-weight: 500; font-style: italic; color: rgb(18, 85, 162); letter-spacing: 0.01em; }
.bs-wrap .bs-mb__h2 { margin: 14px 0px 0px; font-size: clamp(28px, 3vw, 45px); font-weight: 900; line-height: 1.35; color: rgb(18, 40, 61); }
.bs-wrap .bs-mb__p { margin: 26px 0px 0px; font-size: clamp(14px, 1.35vw, 20px); font-weight: 300; line-height: 1.9; color: rgb(51, 51, 51); max-width: 34em; }
.bs-wrap .bs-cards3 { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:clamp(14px,1.5vw,26px); margin-top:clamp(32px,4vw,56px); }
.bs-wrap .bs-card-blue { background:#EAF5FC; border-radius:10.5px; padding:34px 28px 30px; display:flex; flex-direction:column; gap:18px; }
.bs-wrap .bs-card-blue__head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding-bottom:14px; border-bottom:1.5px solid #C6DBEE; }
.bs-wrap .bs-card-blue__head h3 { font-size:clamp(20px,1.9vw,27px); font-weight:700; line-height:1.25; color:#12283D; }
.bs-wrap .bs-card-blue__sub { font-size:.68em; letter-spacing:.02em; color:#1255A2; }
.bs-wrap .bs-card-blue__head svg { flex-shrink: 0; width: 27px; height: 27px; margin-top: 4px; }
.bs-wrap .bs-card-blue p { margin:0; font-size:14.5px; font-weight:400; line-height:1.85; color:#41566A; text-wrap:pretty; }
.bs-wrap .bs-center { display: flex; justify-content: center; margin-top: clamp(32px, 4vw, 56px); }
.bs-wrap .bs-howto { max-width: 1040px; margin: 0px auto; }
.bs-wrap .bs-howto__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: clamp(16px, 2vw, 28px); margin-top: clamp(32px, 4vw, 56px); align-items: stretch; grid-template-rows: repeat(5, auto); }
.bs-wrap .bs-plan { background: rgb(255, 255, 255); border-radius: 7.5px; overflow: hidden; box-shadow: rgba(18, 40, 61, 0.06) 0px 10px 30px; display: grid; grid-row: span 5; grid-template-rows: subgrid; }
.bs-wrap .bs-plan__top { background: rgb(18, 85, 162); padding: 30px 32px; display: flex; align-items: center; gap: 18px; }
.bs-wrap .bs-plan__top svg { display: block; flex-shrink: 0; }
.bs-wrap .bs-plan__brand { margin: 0px; font-family: Outfit, sans-serif; font-size: clamp(22px, 2vw, 30px); font-weight: 700; line-height: 1.1; color: rgb(255, 255, 255); }
.bs-wrap .bs-plan__kind { margin: 4px 0px 0px; font-size: clamp(20px, 1.9vw, 28px); font-weight: 700; line-height: 1.15; color: rgb(255, 255, 255); }
.bs-wrap .bs-plan__body { padding: clamp(26px, 3vw, 40px) clamp(24px, 3vw, 36px); display: grid; grid-row: span 4; grid-template-rows: subgrid; }
.bs-wrap .bs-plan__foot { display: flex; flex-direction: column; }
.bs-wrap .bs-plan__h3 { font-size: clamp(20px, 2vw, 28px); font-weight: 700; line-height: 1.45; color: rgb(51, 51, 51); text-align: center; }
.bs-wrap .bs-plan__box { margin-top: 28px; background: rgb(243, 244, 243); border-radius: 3.75px; padding: 28px 24px; }
.bs-wrap .bs-plan__box > p { margin: 0px 0px 20px; font-size: 17.25px; font-weight: 300; color: rgb(51, 51, 51); text-align: center; }
.bs-wrap .bs-checks { display: flex; flex-direction: column; gap: 20px; }
.bs-wrap .bs-checks li { display: flex; gap: 12px; align-items: flex-start; }
.bs-wrap .bs-checks svg { flex-shrink: 0; width: 25px; height: 25px; }
.bs-wrap .bs-checks span { font-size: clamp(15px, 1.35vw, 18.75px); font-weight: 300; line-height: 1.45; color: rgb(51, 51, 51); }
.bs-wrap .bs-rule { display: flex; align-items: center; gap: 14px; margin-top: 30px; }
.bs-wrap .bs-rule span.l { flex: 1 1 0%; height: 1px; background: rgb(0, 84, 167); }
.bs-wrap .bs-tag { border: 1px solid rgb(0, 84, 167); border-radius: 999px; padding: 5px 22px; font-size: 17.25px; font-weight: 300; color: rgb(0, 84, 167); white-space: nowrap; }
.bs-wrap .bs-steps { margin: 26px 0px 0px; display: flex; flex-direction: column; gap: 14px; align-items: center; }
.bs-wrap .bs-steps li { font-size: clamp(15px, 1.35vw, 18.75px); font-weight: 300; color: rgb(51, 51, 51); }
.bs-wrap .bs-steps li.ar { color: rgb(0, 84, 167); line-height: 1; }
.bs-wrap .bs-steps--c li { text-align: center; line-height: 1.6; }
.bs-wrap .bs-hr { height: 1px; background: rgb(0, 84, 167); margin: 30px 0px 26px; }
.bs-wrap .bs-price { display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; }
.bs-wrap .bs-price__tag { border: 1px solid rgb(0, 84, 167); border-radius: 999px; padding: 7px 22px; font-size: 20.25px; font-weight: 300; color: rgb(0, 84, 167); }
.bs-wrap .bs-price__num { font-family: Outfit, sans-serif; font-size: clamp(34px, 3.4vw, 43.5px); font-weight: 400; color: rgb(51, 51, 51); line-height: 1; }
.bs-wrap .bs-price__unit { font-size: 20.25px; font-weight: 300; color: rgb(51, 51, 51); }
.bs-wrap .bs-price__free { font-size: clamp(24px, 2.4vw, 30px); font-weight: 300; color: rgb(51, 51, 51); }
.bs-wrap .bs-note-s { margin: 20px 0px 0px; font-size: 13.5px; font-weight: 300; line-height: 1.7; color: rgb(86, 86, 86); }
.bs-wrap .bs-bang { display: flex; align-items: center; gap: 14px; margin-top: 30px; }
.bs-wrap .bs-bang__i { width: 40.5px; height: 40.5px; border-radius: 50%; background: rgb(18, 85, 162); color: rgb(255, 255, 255); font-family: Outfit, sans-serif; font-size: 26px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bs-wrap .bs-bang span.t { font-size: clamp(17px, 1.6vw, 22.5px); font-weight: 300; color: rgb(51, 51, 51); }
.bs-wrap .bs-inline-link { display: inline-block; margin-top: 16px; font-size: 18px; font-weight: 300; color: rgb(0, 84, 167); }
.bs-wrap .bs-inline-link:hover { color:#0B3D74; text-decoration:underline; text-underline-offset:3px; }
.bs-wrap .bs-voc { max-width: 1310px; margin: 0px auto; }
.bs-wrap .bs-voc__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: clamp(16px, 2vw, 28px); margin-top: clamp(32px, 4vw, 56px); }
.bs-wrap .bs-voc__card { border: 1.5px solid rgb(230, 234, 239); border-radius: 24.8px; padding: 32px; background: rgb(255, 255, 255); display: block; color: rgb(18, 40, 61); }
.bs-wrap .bs-voc__card:hover { border-color: rgb(0, 158, 229); color: rgb(18, 40, 61); }
.bs-wrap .bs-voc__card img { width: 100%; aspect-ratio: 493 / 320; object-fit: cover; border-radius: 14px; display: block; }
.bs-wrap .bs-voc__card h3 { margin: 26px 0px 0px; font-size: clamp(17px, 1.6vw, 23.2px); font-weight: 700; line-height: 1.6; color: rgb(18, 40, 61); }
.bs-wrap .bs-voc__card p { margin: 14px 0px 0px; font-size: 15px; font-weight: 400; color: rgb(76, 98, 116); }
.bs-wrap .bs-media__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: clamp(18px, 2vw, 32px); margin-top: clamp(32px, 4vw, 56px); align-items: center; }
.bs-wrap .bs-media__grid img { width: 100%; height: clamp(48px, 4.6vw, 68px); object-fit: contain; }
.bs-wrap .bs-media__note { margin: clamp(20px, 2.4vw, 30px) 0px 0px; text-align: center; font-size: 12.5px; line-height: 1.9; color: rgb(76, 98, 116); }
.bs-wrap .bs-news { max-width: 1120px; margin: 0px auto; }
.bs-wrap .bs-news__h2 { font-size: clamp(24px, 2.2vw, 31.7px); font-weight: 400; line-height: 1.45; color: rgb(18, 40, 61); }
.bs-wrap .bs-news__en { margin: 6px 0px 0px; font-family: Outfit, sans-serif; font-size: 12px; letter-spacing: 0.1em; color: rgb(76, 98, 116); }
.bs-wrap .bs-news__list { margin-top: 24px; background: rgb(255, 255, 255); border-radius: 14px; overflow: hidden; }
.bs-wrap .bs-news__row { display: grid; grid-template-columns: 96px 120px 1fr; gap: 8px 20px; align-items: center; padding: 20px 28px; border-bottom: 1px solid rgb(230, 234, 239); color: rgb(51, 51, 51); }
.bs-wrap .bs-news__row:last-child { border-bottom: 0px; }
.bs-wrap .bs-news__row:hover { background: rgb(243, 244, 243); color: rgb(51, 51, 51); }
.bs-wrap .bs-news__date { font-family: Outfit, sans-serif; font-size: 12px; color: rgb(76, 98, 116); }
.bs-wrap .bs-news__cat { font-size: 11px; font-weight: 700; }
.bs-wrap .bs-news__title { font-size: 14px; line-height: 1.7; }
@media (max-width: 640px) {
  .bs-wrap .bs-news__row { grid-template-columns: 96px 1fr; }
  .bs-wrap .bs-news__title { grid-column: 1 / -1; }
}
.bs-wrap .bs-footer { background:#0B3D74; 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; font-weight:400; 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; }
body { overflow-x: clip; }
/* サイトCSS(nicepage-site.css)の打ち消し: bodyレベル継承を.bs-wrapで再確立 */
.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; }
@media (max-width:767px){
.bs-wrap .bs-header__in{flex-wrap:wrap !important;height:auto !important;justify-content:center !important;padding:10px 14px 12px !important;row-gap:8px !important;}
.bs-wrap .bs-nav{width:100% !important;flex-wrap:wrap !important;justify-content:center !important;height:auto !important;gap:8px 14px !important;font-size:12.5px !important;}
}
/* h1 shield */
.bs-wrap .bs-hero__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;}
}
/* モバイル用ヒーロー画像（2026-09-08） */
@media (max-width:700px){
  .bs-wrap .bs-hero__bg{ background-image:url("https://assets.nicepagecdn.com/d786c942/5322040/images/FV-mobile-20260908.webp"); background-position:60% top; }
  .bs-wrap .bs-hero__veil{ background:linear-gradient(180deg,rgba(255,255,255,.80) 0%,rgba(255,255,255,.62) 18%,rgba(255,255,255,.30) 30%,rgba(255,255,255,0) 42%); }
}
/* タブレット幅では「！」が右で切れるので寄せを戻す（2026-09-08） */
@media (min-width:701px) and (max-width:1023px){
  .bs-wrap .bs-hero__bg{ background-position:78% top; }
}
/* ---------- メディア掲載：5件のリスト（2026-09-25） ---------- */
.bs-wrap .bs-mlist { box-sizing:border-box; max-width:880px; margin:40px auto 0; padding:0; list-style:none; border-top:1px solid #E6EAEF; }
.bs-wrap .bs-mlist__item { padding:20px 4px; border-bottom:1px solid #E6EAEF; }
.bs-wrap .bs-mlist__ttl { margin:0; font-size:16px; font-weight:500; line-height:1.7; color:#12283D; }
.bs-wrap .bs-mlist__src { margin:4px 0 0; font-size:13px; line-height:1.7; color:#4C6274; }
@media (max-width:700px) {
  .bs-wrap .bs-mlist { margin-top:28px; }
  .bs-wrap .bs-mlist__item { padding:16px 0; }
  .bs-wrap .bs-mlist__ttl { font-size:15px; }
  .bs-wrap .bs-mlist__src { font-size:12.5px; }
}
/* ============================================================
   TOP ブランドセクション rev5 — ページCSS（新規クラスのみ）
   - HTMLに付けるのは class だけ。インラインstyleは使わない
   - 見出しは .bs-h1/.bs-h2/.bs-h3 を使わない（ の !important を避ける）
   - リンク色は  ではなく中の span に付ける（.bs-wrap a:hover に左右されない）
   - 色は実測済みリストの4色のみ：#12283D / #41566A / #4C6274 / #0054A7
   ============================================================ */
/* ---------- 新設：監修セクション ---------- */
/* サイト側の全体リセットの有無に左右されないよう、幅を持つ要素は自分で border-box にする */
.bs-wrap .bs-brand,
.bs-wrap .bs-brand__lead,
.bs-wrap .bs-brand__card { box-sizing:border-box; }
.bs-wrap .bs-brand { background:#F3F4F3; padding:84px 48px; }
.bs-wrap .bs-brand__inner { max-width:1104px; margin:0 auto; }
.bs-wrap .bs-brand__header { text-align:center; }
.bs-wrap .bs-brand__title { margin:0; font-size:36px; font-weight:900; line-height:1.4; color:#12283D; text-align:center; }
.bs-wrap .bs-brand__nb { display:inline-block; }          /* 「東北大学加齢医学研究所」を割らない */
.bs-wrap .bs-brand__br { display:none; }                   /* 390px だけ「監修：」の後で改行 */
.bs-wrap .bs-brand__label { margin:10px 0 0; font-family:Outfit,sans-serif; font-size:12px; letter-spacing:.1em; color:#4C6274; }
.bs-wrap .bs-brand__body { display:flex; flex-direction:column; align-items:center; gap:48px; margin-top:40px; }
.bs-wrap .bs-brand__lead { width:100%; max-width:800px; }
.bs-wrap .bs-brand__lead p { margin:0; font-size:16px; line-height:2.05; color:#41566A; text-wrap:pretty; }
.bs-wrap .bs-brand__lead p + p { margin-top:1.3em; }
.bs-wrap .bs-brand__card { width:100%; max-width:800px; background:#fff; border-radius:20px; padding:36px 40px 12px; }
/* カード上部：1200px は（写真＋名前）｜肩書、390px は 写真｜名前 ／ 肩書（全幅） */
.bs-wrap .bs-brand__head {
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  grid-template-areas:"photo roles" "name roles";
  column-gap:32px;
}
.bs-wrap .bs-brand__photo { grid-area:photo; align-self:end; justify-self:center; width:104px; height:104px; border-radius:50%; object-fit:cover; display:block; }
.bs-wrap .bs-brand__name { grid-area:name; align-self:start; margin:12px 0 0; text-align:center; font-size:19px; font-weight:700; line-height:1.45; color:#12283D; }
.bs-wrap .bs-brand__kana { display:block; font-size:12.5px; font-weight:400; color:#4C6274; }
/* 肩書4行：スペース区切りの単位を割らない＋「／」のぶら下げ */
.bs-wrap .bs-brand__roles { grid-area:roles; align-self:center; font-size:14px; line-height:1.8; letter-spacing:.02em; color:#41566A; }
.bs-wrap .bs-brand__role { margin:0; padding-left:1em; font-size:14px; line-height:1.8; }
.bs-wrap .bs-brand__role--sep { text-indent:-1em; }
.bs-wrap .bs-brand__u { display:inline; text-indent:0; max-width:100%; }  /* max-width：1単位が行より長いときの保険 */
.bs-wrap .bs-brand__u + .bs-brand__u { margin-left:0; }
.bs-wrap .bs-brand__spec { margin:14px 0 0; font-size:14px; line-height:1.85; color:#41566A; text-wrap:pretty; }
/* 記事リンク3本 */
.bs-wrap .bs-brand__links { margin-top:26px; border-top:1px solid #E6EAEF; }
.bs-wrap .bs-brand__link { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:56px; padding:10px 0; border-bottom:1px solid #E6EAEF; text-decoration:none; }
.bs-wrap .bs-brand__link:last-child { border-bottom:0; }
.bs-wrap .bs-brand__linktext { font-size:15px; font-weight:500; line-height:1.6; color:#0054A7; }
.bs-wrap .bs-brand__link:hover .bs-brand__linktext { text-decoration:underline; text-underline-offset:3px; }
.bs-wrap .bs-brand__link:focus-visible { outline:2px solid #12283D; outline-offset:3px; }
.bs-wrap .bs-brand__arrow { flex:0 0 auto; width:8px; height:8px; margin-right:6px; border-top:2px solid #0054A7; border-right:2px solid #0054A7; transform:rotate(45deg); }
/* ---------- 390px ---------- */
@media (max-width:700px) {
  .bs-wrap .bs-brand { padding:56px 20px; }
  .bs-wrap .bs-brand__title { font-size:26px; line-height:1.45; }
  .bs-wrap .bs-brand__br { display:inline; }
  .bs-wrap .bs-brand__body { gap:32px; margin-top:32px; }
  .bs-wrap .bs-brand__lead p { font-size:15px; line-height:2; }
  .bs-wrap .bs-brand__lead p + p { margin-top:1.2em; }
  .bs-wrap .bs-brand__card { border-radius:16px; padding:22px 20px 4px; }
  .bs-wrap .bs-brand__head {
    grid-template-columns:80px minmax(0,1fr);
    grid-template-areas:"photo name" "roles roles";
    column-gap:16px;
  }
  .bs-wrap .bs-brand__photo { align-self:center; width:80px; height:80px; }
  .bs-wrap .bs-brand__name { align-self:center; margin:0; text-align:left; }
  .bs-wrap .bs-brand__roles { margin-top:16px; font-size:13.5px; line-height:1.75; }
  .bs-wrap .bs-brand__role { font-size:13.5px; line-height:1.75; }
  .bs-wrap .bs-brand__role + .bs-brand__role { margin-top:4px; }
  .bs-wrap .bs-brand__spec { font-size:13.5px; }
  .bs-wrap .bs-brand__links { margin-top:18px; }
  .bs-wrap .bs-brand__link { gap:12px; min-height:48px; padding:12px 0; }
  .bs-wrap .bs-brand__linktext { font-size:14.5px; }
  .bs-wrap .bs-brand__arrow { width:7px; height:7px; margin-right:4px; }
}
/* ============================================================
   TOP 関連サービス（BrainUp）— 2026-09-25
   ============================================================ */
.bs-wrap .bs-bu,
.bs-wrap .bs-bu *,
.bs-wrap .bs-bu *::before,
.bs-wrap .bs-bu *::after { box-sizing:border-box; }
.bs-wrap .bs-bu { background:#fff; padding:clamp(48px,6vw,72px) clamp(20px,4vw,56px); }
.bs-wrap .bs-bu__inner { max-width:1120px; margin:0 auto; }
.bs-wrap .bs-bu__sechead { margin:0; font-size:clamp(24px,2.2vw,31.7px); font-weight:400; line-height:1.45; color:#12283D; }
.bs-wrap .bs-bu__secen { margin:6px 0 0; font-family:Outfit,sans-serif; font-size:12px; letter-spacing:.1em; color:#4C6274; }
.bs-wrap .bs-bu__secen:empty { display: none; }
.bs-wrap .bs-bu__card { margin-top:24px; display:flex; flex-wrap:wrap; align-items:center; gap:clamp(20px,3vw,40px); }
.bs-wrap .bs-bu__media { flex:0 0 auto; display:block; width:clamp(120px,13vw,160px); }
.bs-wrap .bs-bu__img { display:block; width:100%; height:auto; transition:opacity .15s; }
.bs-wrap .bs-bu__media:hover .bs-bu__img { opacity:.86; }
.bs-wrap .bs-bu__text { flex:1 1 320px; min-width:0; }
.bs-wrap .bs-bu__label { margin:0; font-size:12.5px; font-weight:700; line-height:1.6; letter-spacing:.04em; color:#1255A2; }
.bs-wrap .bs-bu__title { margin:6px 0 0; font-size:clamp(22px,2vw,28px); font-weight:900; line-height:1.35; color:#12283D; }
.bs-wrap .bs-bu__pre { margin-right:.5em; font-size:.6em; font-weight:700; color:#1255A2; }
.bs-wrap .bs-bu__body { margin:12px 0 0; max-width:36em; font-size:14.5px; line-height:1.9; color:#41566A; text-wrap:pretty; }
.bs-wrap .bs-bu__note { margin:10px 0 0; font-size:13px; line-height:1.8; color:#12283D; }
.bs-wrap .bs-bu__notelink { font-size:13px; font-weight:500; color:#0054A7; text-decoration:underline; text-underline-offset:3px; }
.bs-wrap .bs-bu__notelink:hover { color:#0B3D74; }
.bs-wrap .bs-bu__notelink:focus-visible { outline:2px solid #12283D; outline-offset:2px; }
.bs-wrap .bs-bu__cta { flex:0 0 auto; }
.bs-wrap .bs-bu__btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; max-width:100%; min-height:48px; padding:12px 28px; border-radius:999px; background:#fff; box-shadow:inset 0 0 0 2px #1255A2; color:#1255A2; font-size:15px; font-weight:700; line-height:1.4; text-align:center; text-decoration:none; }
.bs-wrap .bs-bu__btn:hover { background:#EAF5FC; color:#1255A2; }
.bs-wrap .bs-bu__btn:focus-visible { outline:2px solid #12283D; outline-offset:3px; }
.bs-wrap .bs-bu__ext { flex:0 0 auto; width:13px; height:13px; }
@media (max-width:700px) {
  .bs-wrap .bs-bu__cta, .bs-wrap .bs-bu__btn { width:100%; }
  .bs-wrap .bs-bu__btn { display:flex; }
}
.bs-wrap .bs-header__logo:hover { opacity: .86; }
.bs-wrap .bs-nav a:hover { color: #0B3D74; text-decoration: underline; text-underline-offset: 4px; }
.bs-wrap .bs-lang a:hover { color: #0B3D74; text-decoration: underline; text-underline-offset: 4px; }
.bs-wrap .bs-nav a.bs-btn:hover, .bs-wrap .bs-nav a.bs-btn-pill:hover, .bs-wrap .bs-nav a.bs-btn--primary:hover { color: #fff; text-decoration: none; } 