body.sv-body{font-size:16px;line-height:1.8;letter-spacing:.01em;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#22364f;background:#eef2f7}.skip-link{position:absolute;left:-9999px;top:10px;background:#fff;padding:10px 12px;border:2px solid #e4a941;border-radius:10px;z-index:9999}.skip-link:focus{left:10px}.sv-breadcrumb{background:#fff;border-bottom:1px solid rgba(18,48,86,.08)}.sv-breadcrumb .kr-shell__container{padding-top:12px;padding-bottom:12px}.sv-breadcrumb a,.sv-breadcrumb span{font-size:.92rem;text-decoration:none}.floating-cv{position:fixed;left:0;right:0;bottom:0;display:flex;z-index:2000}.floating-cv a{flex:1;text-align:center;padding:18px 12px;color:#fff;text-decoration:none;font-weight:900;display:flex;gap:8px;align-items:center;justify-content:center;min-height:44px}.floating-cv a .icon{width:18px;height:18px}.floating-cv .cv-form{background:#123056}.floating-cv .cv-tel{background:#2b4b66}.floating-cv .cv-line{background:#06C755}.fixed-cta{position:fixed;left:0;right:0;bottom:0;z-index:9999;display:flex;gap:8px;padding:10px;background:rgba(255,255,255,.96);backdrop-filter:saturate(180%) blur(10px);border-top:1px solid #e6e8ee}.fixed-cta__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 10px;border-radius:12px;font-weight:700;text-decoration:none;line-height:1;color:#fff}.fixed-cta__btn img{width:18px;height:18px;filter:brightness(0) invert(1)}.fixed-cta__btn--form{background:#0f3d6b}.fixed-cta__btn--tel{background:#2b4b66}.fixed-cta__btn--line{background:#06C755}@media (max-width:960px){.floating-cv{display:none}}@media (min-width:961px){.fixed-cta{display:none}}

/* phaseD mobile readability */
@media (max-width:980px){
  html{scroll-padding-top:140px;}
  body.sv-body{padding-bottom:90px;}
  .sv-price-nav__list{display:flex;flex-wrap:nowrap;overflow:auto;gap:10px;padding-bottom:4px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scroll-padding-inline:16px;}
  .sv-price-nav__list::-webkit-scrollbar{display:none;}
  .sv-price-nav__list a{flex:0 0 auto;scroll-snap-align:start;}
}
@media (max-width:767px){
  .fixed-cta{gap:6px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));}
  .fixed-cta__btn{min-height:44px;padding:10px 8px;font-size:.82rem;border-radius:10px;}
  .fixed-cta__btn img{width:16px;height:16px;}
  .sv-price-hero,.sv-price-card,.sv-breadcrumb .kr-shell__container{padding-left:16px;padding-right:16px;}
}


/* phaseD2 content typography */
body.sv-body main#mainContent,
body.sv-body .sv-price-main{
  font-family:'Noto Sans JP',sans-serif;
  font-size:16px;
  line-height:1.75;
}
body.sv-body main#mainContent :where(p,li,dt,dd,th,td,label,input,textarea,select,summary),
body.sv-body .sv-price-main :where(p,li,dt,dd,th,td,label,input,textarea,select,summary){
  font-family:'Noto Sans JP',sans-serif;
  font-size:1rem;
  line-height:1.75;
}
body.sv-body main#mainContent h2,
body.sv-body .sv-price-main h2{
  font-family:'Noto Serif JP',serif;
  font-size:clamp(1.6rem,2.1vw,1.85rem);
  line-height:1.35;
}
body.sv-body main#mainContent h3,
body.sv-body .sv-price-main h3{
  font-family:'Noto Serif JP',serif;
  font-size:clamp(1.08rem,1.4vw,1.18rem);
  line-height:1.45;
}



/* 2026-03-19 alignment: shared shell and footer */
.sv-breadcrumb .kr-shell__container,.sv-price-hero,.sv-price-card{width:min(1180px,calc(100% - 32px));margin:0 auto;}
body.sv-body main#mainContent,body.sv-body .sv-price-main{font-size:16px;line-height:1.8;color:#22364f;}
body.sv-body .site-footer-modern,body.sv-body .site-footer-modern *{font-family:'Yu Gothic','YuGothic','Hiragino Sans','Meiryo',sans-serif; font-variant-numeric:tabular-nums; font-feature-settings:'tnum' 1;}
body.sv-body .site-footer-modern{font-size:16px;}
@media (max-width:720px){.sv-breadcrumb .kr-shell__container,.sv-price-hero,.sv-price-card{width:min(100% - 24px,1180px);}}


/* Root footer parity */
.site-footer-modern,
.site-footer-modern * {
    box-sizing: border-box;
}
.site-footer-modern {
    background: #0f2748 !important;
    color: rgba(255,255,255,.82) !important;
    margin-top: 0 !important;
    font-family: "Yu Gothic", "YuGothic", "Hiragino Sans", "Meiryo", sans-serif !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: "lnum" 1, "tnum" 1;
}
.site-footer-modern__inner {
    max-width: 1120px;
    margin: 0 auto;
    padding: 28px 24px 28px;
}
.site-footer-modern__intro {
    max-width: 760px;
    margin: 0 auto 24px;
    text-align: center;
}
.site-footer-modern__intro h2 {
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    position: static !important;
    color: #fff !important;
    font-family: "Yu Gothic UI", "Yu Gothic", "YuGothic", "Hiragino Sans", "Meiryo", sans-serif !important;
    font-size: 24px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}
.site-footer-modern__intro h2::before,
.site-footer-modern__grid h3::before {
    content: none !important;
    display: none !important;
}
.site-footer-modern__intro p {
    margin: 0 !important;
    color: rgba(255,255,255,.78) !important;
    font-family: "Yu Gothic", "YuGothic", "Hiragino Sans", "Meiryo", sans-serif !important;
    font-size: 12.8px !important;
    line-height: 1.75 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}
.site-footer-modern__grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 22px;
    align-items: start;
}
.site-footer-modern__grid section {
    min-width: 0;
}
.site-footer-modern__grid h3 {
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    position: static !important;
    color: #fff !important;
    font-family: "Yu Gothic UI", "Yu Gothic", "YuGothic", "Hiragino Sans", "Meiryo", sans-serif !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}
.site-footer-modern__grid ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
}
.site-footer-modern__grid li,
.site-footer-modern__grid a {
    color: rgba(255,255,255,.78) !important;
    font-family: "Yu Gothic", "YuGothic", "Hiragino Sans", "Meiryo", sans-serif !important;
    font-size: 12.8px !important;
    line-height: 1.65 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}
.site-footer-modern__grid li {
    word-break: break-word;
}
.site-footer-modern__grid a {
    text-decoration: none;
}
.site-footer-modern__grid a:hover {
    color: #fff !important;
    text-decoration: underline;
}
.site-footer-modern__bottom {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.12);
    font-size: 11.2px !important;
    line-height: 1.6 !important;
    text-align: center;
}
.site-footer-modern__bottom p {
    margin: 0 !important;
    color: rgba(255,255,255,.78) !important;
    font-family: "Yu Gothic", "YuGothic", "Hiragino Sans", "Meiryo", sans-serif !important;
    font-size: 11.2px !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}
@media (max-width: 767px) {
    .site-footer-modern__inner {
        padding: 28px 18px 76px;
    }
    .site-footer-modern__grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 520px) {
    .site-footer-modern__grid {
        grid-template-columns: 1fr;
    }
}
