.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 a:hover { color: rgb(11, 61, 116); }
.bs-wrap h1, .bs-wrap h2, .bs-wrap h3 { margin: 0px; }
.bs-wrap ul { 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.is-on { color: rgb(0, 158, 229); }
.bs-wrap .bs-nav a.bs-btn-pill { background: rgb(0, 158, 229); 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(0, 84, 167); color: rgb(255, 255, 255); }
.bs-wrap .bs-fv { background: rgb(255, 255, 255); padding: clamp(18px, 2vw, 26px) clamp(20px, 4vw, 56px) clamp(28px, 3.5vw, 48px); }
.bs-wrap .bs-fv__in { max-width: 1128px; margin: 0px auto; }
.bs-wrap .bs-crumb { margin: 0px; font-size: 11px; line-height: 1.45; color: rgb(91, 114, 136); }
.bs-wrap .bs-fv__row { display: flex; flex-wrap: wrap; gap: clamp(24px, 3vw, 48px); align-items: center; margin-top: clamp(14px, 1.8vw, 24px); }
.bs-wrap .bs-fv__col { flex: 1 1 400px; min-width: 0px; }
.bs-wrap .bs-fv__eyebrow { margin: 0px; font-size: 13.5px; font-weight: 700; color: rgb(0, 158, 229); letter-spacing: 0.16em; }
.bs-wrap .bs-h1 { margin: 10px 0px 0px; font-size: clamp(28px, 3.7vw, 54px); font-weight: 700; line-height: 1.44; color: rgb(18, 40, 61); }
.bs-wrap .bs-h1 em { font-style: normal; color: rgb(0, 158, 229); }
.bs-wrap .bs-fv__lead { margin: 20px 0px 0px; font-size: 14.5px; font-weight: 400; line-height: 1.95; color: rgb(65, 86, 106); max-width: 33em; text-wrap: pretty; }
.bs-wrap .bs-fv__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.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-btn--outline { background: rgb(255, 255, 255); color: rgb(18, 85, 162); box-shadow: rgb(18, 85, 162) 0px 0px 0px 2px inset; }
.bs-wrap .bs-btn--outline:hover { background: rgb(234, 245, 252); color: rgb(18, 85, 162); }
.bs-wrap .bs-fv__fig { flex: 1.25 1 460px; min-width: 0px; margin: 0px; }
.bs-wrap .bs-fv__fig img { display: block; width: 100%; height: auto; border-radius: 16px; box-shadow: rgba(12, 29, 46, 0.16) 0px 16px 40px; }
.bs-wrap .bs-head-c { text-align: center; }
.bs-wrap .bs-h2-c { font-size: clamp(26px, 2.9vw, 37.44px); font-weight: 700; line-height: 1.44; color: rgb(18, 40, 61); }
.bs-wrap .bs-en-c { margin: 8px 0px 0px; font-family: Outfit, sans-serif; font-size: 12px; line-height: 1.25; letter-spacing: 1.2px; color: rgb(124, 135, 148); }
.bs-wrap .bs-feat { background: linear-gradient(rgb(243, 244, 243) 0%, rgb(255, 255, 255) 100%); padding: clamp(56px, 6.5vw, 86px) clamp(20px, 4vw, 56px); }
.bs-wrap .bs-feat__in { max-width: 1120px; margin: 0px auto; }
.bs-wrap .bs-feat__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: clamp(16px, 1.8vw, 25px); margin-top: clamp(32px, 4vw, 44px); }
.bs-wrap .bs-card { background: rgb(255, 255, 255); border-radius: 16px; box-shadow: rgb(220, 233, 242) 0px 0px 0px 1px inset; padding: 31px; }
.bs-wrap .bs-card p.bs-num { margin: 0px; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: rgb(0, 160, 233); font-family: Outfit, sans-serif; font-size: 19px; font-weight: 600; line-height: 1; color: rgb(255, 255, 255); }
.bs-wrap .bs-card h3 { margin: 14px 0px 0px; font-size: 20px; font-weight: 700; line-height: 1.6; color: rgb(18, 40, 61); }
.bs-wrap .bs-card p { margin: 14px 0px 0px; font-size: 15px; font-weight: 400; line-height: 1.9; color: rgb(76, 98, 116); }
.bs-wrap .bs-flow { background: rgb(255, 255, 255); padding: clamp(24px, 3vw, 40px) clamp(20px, 4vw, 56px) clamp(48px, 6vw, 80px); }
.bs-wrap .bs-flow__in { max-width: 1120px; margin: 0px auto; }
.bs-wrap .bs-flow__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 16px; margin-top: clamp(28px, 3.5vw, 44px); }
.bs-wrap .bs-step { background: rgb(243, 244, 243); border-radius: 16px; padding: 24px; }
.bs-wrap .bs-step p.bs-step__no { margin: 0px; font-family: Outfit, sans-serif; font-size: 26px; font-weight: 600; line-height: 1; color: rgb(0, 158, 229); }
.bs-wrap .bs-step h3 { margin: 14px 0px 0px; font-size: 15px; font-weight: 700; line-height: 1.4; color: rgb(18, 40, 61); }
.bs-wrap .bs-step p { margin: 10px 0px 0px; font-size: 13px; font-weight: 400; line-height: 1.9; color: rgb(76, 98, 116); }
.bs-wrap .bs-price { position: relative; background: rgb(243, 244, 243); padding: clamp(56px, 7vw, 100px) clamp(20px, 4vw, 56px); }
.bs-wrap .bs-price__curve { position: absolute; left: 0px; top: -1px; width: 100%; height: clamp(40px, 5vw, 72px); }
.bs-wrap .bs-price__in { position: relative; max-width: 1120px; margin: 0px auto; }
.bs-wrap .bs-price__row { display: flex; flex-wrap: wrap; gap: clamp(16px, 2vw, 24px); margin-top: clamp(32px, 4vw, 48px); align-items: stretch; }
.bs-wrap .bs-price__box { flex: 1 1 380px; min-width: 0px; background: rgb(255, 255, 255); border-radius: 20px; box-shadow: rgb(220, 233, 242) 0px 0px 0px 1px inset; padding: clamp(28px, 3vw, 40px); display: flex; flex-direction: column; }
.bs-wrap .bs-price__label { margin: 0px; font-size: 13px; font-weight: 700; letter-spacing: 0.12em; color: rgb(0, 158, 229); }
.bs-wrap .bs-price__amount { margin: 14px 0px 0px; display: flex; align-items: baseline; gap: 8px; color: rgb(18, 40, 61); }
.bs-wrap .bs-price__amount b { font-family: Outfit, sans-serif; font-size: clamp(40px, 5vw, 58px); font-weight: 600; line-height: 1; }
.bs-wrap .bs-price__amount span { font-size: 16px; font-weight: 700; }
.bs-wrap .bs-price__note { margin: 12px 0px 0px; font-size: 13px; line-height: 1.9; color: rgb(76, 98, 116); }
.bs-wrap .bs-price__buy { margin-top: auto; padding-top: 24px; display: flex; }
.bs-wrap .bs-price__buy span { display: flex; align-items: center; justify-content: center; width: 100%; height: 56px; background: rgb(18, 85, 162); color: rgb(255, 255, 255); font-size: 15px; font-weight: 700; border-radius: 999px; }
.bs-wrap .bs-price__buy:hover span { background: rgb(11, 61, 116); }
.bs-wrap .bs-price__box h3 { font-size: 18px; font-weight: 700; line-height: 1.5; color: rgb(18, 40, 61); }
.bs-wrap .bs-dots { margin: 20px 0px 0px; display: flex; flex-direction: column; gap: 14px; }
.bs-wrap .bs-dots li { display: flex; gap: 12px; align-items: baseline; font-size: 14px; line-height: 1.8; color: rgb(65, 86, 106); }
.bs-wrap .bs-dots li i { width: 8px; height: 8px; border-radius: 50%; background: rgb(0, 158, 229); flex-shrink: 0; }
.bs-wrap .bs-price__fine { margin: 22px 0px 0px; padding-top: 18px; border-top: 1px solid rgb(230, 234, 239); font-size: 12px; line-height: 1.9; color: rgb(124, 140, 160); }
.bs-wrap .bs-bannerwrap { background: rgb(255, 255, 255); padding: clamp(56px, 6.5vw, 86px) clamp(20px, 4vw, 56px) clamp(24px, 3vw, 32px); }
.bs-wrap .bs-bannerwrap--b { padding: clamp(56px, 6.5vw, 86px) clamp(20px, 4vw, 56px); }
.bs-wrap .bs-banner { max-width: 1120px; margin: 0px auto; border-radius: 20px; padding: clamp(28px, 3.5vw, 44px); display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; }
.bs-wrap .bs-banner--grey { background: rgb(243, 244, 243); }
.bs-wrap .bs-banner--pale { background: rgb(234, 245, 252); }
.bs-wrap .bs-banner__col { flex: 1 1 460px; min-width: 0px; }
.bs-wrap .bs-banner__col p.bs-banner__label { margin: 0px; font-size: 12.5px; font-weight: 700; letter-spacing: 0.14em; color: rgb(18, 85, 162); }
.bs-wrap .bs-banner__col h2 { margin: 10px 0px 0px; font-size: clamp(21px, 2.2vw, 28px); font-weight: 700; line-height: 1.5; color: rgb(18, 40, 61); }
.bs-wrap .bs-banner__col p { margin: 14px 0px 0px; font-size: 14px; line-height: 1.95; color: rgb(65, 86, 106); }
.bs-wrap .bs-banner .bs-btn { flex-shrink: 0; }
.bs-wrap .bs-notice { background: rgb(243, 244, 243); padding: clamp(56px, 6.5vw, 86px) clamp(20px, 4vw, 56px); }
.bs-wrap .bs-notice__in { max-width: 1120px; margin: 0px auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; }
.bs-wrap .bs-notice__box { background: rgb(255, 255, 255); border-radius: 16px; padding: 32px; }
.bs-wrap .bs-notice__box h3 { font-size: 21px; font-weight: 700; line-height: 1.43; color: rgb(18, 40, 61); }
.bs-wrap .bs-notice__box p { margin: 20px 0px 0px; font-size: 13px; font-weight: 400; line-height: 2; color: rgb(76, 98, 116); }
.bs-wrap .bs-faq { background: rgb(255, 255, 255); padding: clamp(56px, 7vw, 96px) clamp(20px, 4vw, 56px); }
.bs-wrap .bs-faq__in { max-width: 860px; margin: 0px auto; }
.bs-wrap .bs-faq__h2 { font-size: clamp(22px, 2.2vw, 28px); font-weight: 700; line-height: 1.43; color: rgb(18, 40, 61); text-align: center; }
.bs-wrap .bs-faq__list { display: flex; flex-direction: column; gap: 12px; margin-top: clamp(24px, 3vw, 40px); }
.bs-wrap .bs-faq__item { background: rgb(243, 244, 243); border-radius: 12px; padding: 20px 24px; }
.bs-wrap .bs-faq__q { margin: 0px; font-size: 14px; font-weight: 700; line-height: 1.43; color: rgb(18, 40, 61); }
.bs-wrap .bs-faq__a { margin: 8px 0px 0px; font-size: 13px; font-weight: 400; line-height: 1.9; color: rgb(76, 98, 116); }
.bs-wrap .bs-cta { background: rgb(18, 85, 162); padding: clamp(48px, 6vw, 66px) clamp(20px, 4vw, 56px); }
.bs-wrap .bs-cta__in { max-width: 1120px; margin: 0px auto; text-align: center; }
.bs-wrap .bs-cta__in h2 { font-size: clamp(24px, 2.6vw, 34px); font-weight: 700; line-height: 1.4; color: rgb(255, 255, 255); }
.bs-wrap .bs-cta__in p { margin: 16px 0px 0px; font-size: 15px; font-weight: 700; line-height: 1.65; color: rgb(255, 255, 255); }
.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: 0px 32px; background: rgb(255, 255, 255); color: rgb(18, 85, 162); font-size: 15px; font-weight: 700; border-radius: 999px; }
.bs-wrap .bs-cta__btn:hover { background: rgb(230, 245, 253); color: rgb(18, 85, 162); }
.bs-wrap .bs-cta__btn--ghost { background: rgb(18, 85, 162); color: rgb(255, 255, 255); box-shadow: rgb(255, 255, 255) 0px 0px 0px 2px inset; }
.bs-wrap .bs-cta__btn--ghost:hover { background: rgb(255, 255, 255); color: rgb(18, 85, 162); }
.bs-wrap .bs-footer { background: rgb(11, 61, 116); padding: clamp(40px, 5vw, 49px) clamp(20px, 4vw, 56px) 24px; }
.bs-wrap .bs-footer__top { max-width: 1120px; margin: 0px 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: 0px; font-family: Outfit, sans-serif; font-size: 20px; font-weight: 700; line-height: 1.25; color: rgb(255, 255, 255); }
.bs-wrap .bs-footer__note { margin: 14px 0px 0px; font-size: 11px; font-weight: 400; line-height: 1.9; color: rgb(255, 255, 255); }
.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: 0px; font-size: 12px; font-weight: 700; line-height: 1.42; color: rgb(255, 255, 255); }
.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: rgb(198, 219, 238); }
.bs-wrap .bs-footer__links a:hover { color: rgb(255, 255, 255); }
.bs-wrap .bs-footer__bottom { max-width: 1120px; margin: 28px auto 0px; padding-top: 21px; border-top: 1px solid rgba(255, 255, 255, 0.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: rgb(159, 190, 220); }
.bs-wrap .bs-footer__legal { display: flex; gap: 10px; font-size: 11px; }
.bs-wrap .bs-footer__legal a { color: rgb(159, 190, 220); }
.bs-wrap .bs-footer__legal a:hover { color: rgb(255, 255, 255); }
body { overflow-x: clip; }
/* サイト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; }
@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;}
} 
/* 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;}
}
/* en header - note3 sec4-1 (2026-09-23) */
.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:#0054A7; }
.bs-wrap .bs-lang span { color:#0B3D74; }
.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:#fff; }
/* en shared blocks - note4 sec2-3 (2026-09-23) */
.bs-wrap .bs-head-c + .bs-notice__in { margin-top:44px; }
.bs-wrap .bs-notice--grey { background:#F3F4F3; }
.bs-wrap .bs-notice--grey .bs-notice__box { background:#FFFFFF; }
.bs-wrap .bs-note { margin:14px 0 0; font-size:13px; line-height:1.85; color:#5B7288; }
.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; }
.bs-wrap .bs-nav a.is-on{text-decoration: underline;text-underline-offset: 4px;text-decoration-thickness: 2px}