/* Adopted header + B1 footer; component-scoped rules from locked comps. */
.lv-nav *{box-sizing:border-box}
.lv-nav{margin:0;color:#222;background:#fff;-webkit-font-smoothing:antialiased}
.lv-nav a{color:inherit;text-decoration:none}
.lv-nav button{font:inherit;color:inherit;cursor:pointer}
.lv-nav h1,.lv-nav h2,.lv-nav p,.lv-nav ul{margin:0}
.lv-nav ul{list-style:none;padding:0}
.lv-nav img{display:block;max-width:100%;height:auto}
.lv-nav a:focus-visible,.lv-nav button:focus-visible,.lv-nav summary:focus-visible{outline:3px solid #04384c;outline-offset:4px}
.lv-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.lv-nav button:disabled{cursor:default}
.lv-nav [hidden]{display:none!important}
.lv-nav .menu-inner{width:calc(100% - 160px);max-width:1280px;margin-inline:auto}
.lv-nav .nav-toggle{white-space:nowrap;font-size:13px;font-weight:600;line-height:1.6}
.lv-nav .nav-toggle{min-height:48px;display:inline-flex;align-items:center}
.lv-nav .nav-toggle{border:0;padding:0;background:none;gap:8px;position:relative}
.lv-nav .nav-toggle[aria-expanded=true]:after{position:absolute;content:'';bottom:-21px;height:3px;inset-inline:0;background:#04384c}
.lv-nav .chevron{width:7px;height:7px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg);margin-top:-4px;flex:none}
.lv-nav .nav-toggle[aria-expanded=true] .chevron{transform:rotate(225deg);margin-top:4px}
.lv-nav .cta{min-height:48px;display:flex;align-items:center;justify-content:center;gap:20px;background:#04384c;color:#fff;font-size:13px;font-weight:600;line-height:1.6;padding:12px 20px}
.lv-nav .cta:hover{background:#0a4b62;text-decoration:none}
.lv-nav .menu-panel{position:absolute;top:100%;inset-inline:0;background:#fff;border-bottom:1px solid #c8d5db;box-shadow:0 16px 24px #04384c0a}
.lv-nav .menu-inner{display:grid;grid-template-columns:280px minmax(0,1fr);gap:44px;padding-block:36px 40px}
.lv-nav .menu-inner h2,.lv-nav .compact-inner h2{font-size:16px;line-height:1.6;font-weight:600;color:#04384c;letter-spacing:0}
.lv-nav .total-column{padding:26px 24px;background:#eef2f4}
.lv-nav .total-column h2{line-height:1.65}
.lv-nav .total-links{margin-top:18px}
.lv-nav .total-link{display:block;padding:21px 0 23px;border-bottom:1px solid #c7d5dc}
.lv-nav .total-link:last-child{border-bottom:0;padding-bottom:0}
.lv-nav .total-name{display:flex;justify-content:space-between;align-items:center;font-size:21px;font-weight:600;line-height:1.5;color:#04384c}
.lv-nav .total-name i{font-style:normal;font-size:17px;font-weight:400}
.lv-nav .total-description{display:block;margin-top:9px;font-size:13px;line-height:1.9;color:#39494f}
.lv-nav .total-link:hover{text-decoration:none}
.lv-nav .total-link:hover .total-name{text-decoration:underline;text-underline-offset:6px}
.lv-nav .individual-column{padding-top:3px}
.lv-nav .individual-top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.lv-nav .index-link{font-size:12px;line-height:1.8;display:inline-flex;align-items:center;gap:17px;color:#385361;white-space:nowrap}
.lv-nav .category-grid{margin-top:30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;row-gap:32px}
.lv-nav .category-title{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:14px;line-height:1.6;font-weight:600;color:#04384c;padding-bottom:12px;border-bottom:1px solid #c9d6dc;margin-bottom:10px;min-height:36px}
.lv-nav .category-title span{font-weight:400;font-size:13px}
.lv-nav .category ul a,.lv-nav .compact-inner ul a{display:flex;justify-content:space-between;align-items:baseline;gap:10px;line-height:1.8;font-size:13px;padding:7px 0;min-height:36px}
.lv-nav .arrow{font-size:11px;flex:none;color:#738b97}
.lv-nav .compact-inner{width:calc(100% - 160px);max-width:1280px;margin:auto;padding:36px 0 40px}
.lv-nav .compact-inner>ul{display:flex;gap:28px;margin-top:22px}
.lv-nav .compact-inner>ul>li{width:290px}
.lv-nav .compact-inner ul a{border-top:1px solid #c9d6dc;padding:18px 0;font-size:15px}
.lv-nav .mobile-head{height:66px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid #d8e1e5}
.lv-nav .mobile-scroll{padding:24px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0}
.lv-nav .mobile-section-title{font-size:15px;line-height:1.7;font-weight:600;color:#04384c}
.lv-nav .mobile-total{margin-top:14px;background:#eef2f4;padding:0 20px}
.lv-nav .mobile-total .total-link{padding-block:16px}
.lv-nav .mobile-total .total-name{font-size:18px}
.lv-nav .mobile-total .total-description{font-size:12px;line-height:1.8;margin-top:5px}
.lv-nav .individual-title{margin-top:28px;margin-bottom:10px}
.lv-nav .accordion{border-bottom:1px solid #c7d5dc}
.lv-nav .accordion summary{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:14px;list-style:none;font-size:14px;font-weight:500;line-height:1.7;cursor:pointer;padding-block:12px}
.lv-nav .accordion summary::-webkit-details-marker{display:none}
.lv-nav .plus{width:11px;height:11px;flex:none;position:relative;margin-right:2px}
.lv-nav .plus:before,.lv-nav .plus:after{content:'';position:absolute;background:#4d6976}
.lv-nav .plus:before{width:11px;height:1px;top:5px;left:0}
.lv-nav .plus:after{width:1px;height:11px;left:5px;top:0}
.lv-nav .accordion[open] .plus:after{display:none}
.lv-nav .accordion-body{padding:0 0 16px 12px}
.lv-nav .accordion-body .category-title{display:none}
.lv-nav .accordion-body ul a{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:13px;line-height:1.8;min-height:44px;padding:9px 0}
.lv-nav .mobile-other{margin-top:20px}
.lv-nav .mobile-utilities{display:flex;gap:24px;margin-top:12px}
.lv-nav .mobile-utilities a{display:flex;justify-content:space-between;align-items:center;flex:1;gap:20px;min-height:44px;font-size:14px}
.lv-nav .mobile-action{padding:14px 24px 20px;background:#fff;border-top:1px solid #d8e1e5;flex:none}
.lv-nav .mobile-action .cta{font-size:15px;min-height:52px;justify-content:space-between;padding-inline:24px}
@media(min-width:1600px){.lv-nav .menu-inner,.lv-nav .compact-inner{max-width:1440px}
.lv-nav .menu-inner{grid-template-columns:310px 1fr;gap:56px}
}
@media(max-width:1299px){.lv-nav .menu-inner,.lv-nav .compact-inner{width:calc(100% - 64px)}
.lv-nav .nav-toggle{font-size:12px}
}
@media(max-width:1199px){.lv-nav .menu-panel{display:none!important}
}
.lv-nav .mobile-index{display:flex;justify-content:space-between;min-height:44px;margin-top:8px;font-size:13px}
.lv-nav .link-label{min-width:0}
.lv-nav .link-label .lv-type-phrase{display:inline-block;white-space:nowrap}
.lv-footer *{box-sizing:border-box}
.lv-footer{margin:0;color:#222;background:#fff;-webkit-font-smoothing:antialiased}
.lv-footer a{color:inherit;text-decoration:none}
.lv-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.lv-footer a:focus-visible,.lv-footer summary:focus-visible{outline:3px solid #04384c;outline-offset:4px}
.lv-footer h2,.lv-footer h3,.lv-footer p,.lv-footer ul{margin:0}
.lv-footer ul{list-style:none;padding:0}
.lv-footer img{display:block;max-width:100%;height:auto}
.lv-footer{border-top:1px solid #d1dde3}
.lv-footer .shell{max-width:1280px;width:calc(100% - 160px);margin-inline:auto;padding-top:42px}
.lv-footer .brand img{width:158px}
.lv-footer .brand-row{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:32px}
.lv-footer .arrow{flex:none;font-weight:400;font-size:14px;color:#486878}
.lv-footer .label{min-width:0}
.lv-footer .phrase{display:inline-block;white-space:nowrap}
.lv-footer h2{font-size:15px;line-height:1.7;font-weight:600;color:#04384c}
.lv-footer .minor{width:242px}
.lv-footer .disclosure>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;min-height:56px;padding-block:14px;font-size:15px;line-height:1.7;font-weight:500;color:#04384c}
.lv-footer .disclosure>summary::-webkit-details-marker{display:none}
.lv-footer .plus{position:relative;width:12px;height:12px;flex:none;margin-inline:2px}
.lv-footer .plus:before,.lv-footer .plus:after{content:'';position:absolute;background:#486878}
.lv-footer .plus:before{width:12px;height:1px;left:0;top:5px}
.lv-footer .plus:after{height:12px;width:1px;left:5px;top:0}
.lv-footer .disclosure[open]>summary .plus:after{display:none}
.lv-footer .disclosure-body{padding:8px 0 20px}
.lv-footer .minor>summary{min-height:44px;font-size:13px;line-height:1.8;padding-block:10px;color:#394d57}
.lv-footer .minor .disclosure-body a{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;line-height:1.8;min-height:44px}
.lv-footer .bottom{border-top:1px solid #d7e0e4;margin-top:8px;padding:22px 0 26px;display:flex;align-items:center;gap:32px;font-size:11px;line-height:1.8;color:#5d707b}
.lv-footer .bottom small{font-size:11px}
.lv-footer .to-top{margin-left:auto;display:flex;gap:18px;align-items:center;min-height:32px}
.lv-footer .children{padding-left:12px;border-left:1px solid #cbd8df;margin:4px 0 7px 2px}
.lv-footer .children a{font-size:12.5px;min-height:34px;padding-block:5px;color:#526c79}
@media(min-width:1600px){.lv-footer .shell{max-width:1440px}
}
@media(max-width:1150px){.lv-footer .shell{width:calc(100% - 80px)}
.lv-footer .minor{width:230px}
}
@media(max-width:800px){.lv-footer .shell{width:calc(100% - 48px);padding-top:30px}
.lv-footer .brand-row{gap:24px;margin-bottom:24px}
.lv-footer .brand img{width:146px}
.lv-footer h2{font-size:14px}
.lv-footer .minor{width:auto;grid-column:1/-1}
.lv-footer .minor>summary{min-height:46px;padding-block:12px}
.lv-footer .bottom{margin-top:0;padding:18px 0 24px;gap:7px;flex-wrap:wrap;font-size:10px}
.lv-footer .bottom>a:first-child{width:100%;min-height:28px}
.lv-footer .bottom small{font-size:10px}
.lv-footer .to-top{gap:12px;font-size:10px}
.lv-footer .children a{font-size:13px;min-height:44px}
.lv-footer .disclosure-body{padding-bottom:20px}
}
.lv-footer.footer-refined{background:#f2f5f6}
.lv-footer.footer-refined .shell{padding-top:36px}
.lv-footer.footer-refined a:hover{text-decoration:none}
.lv-footer.footer-refined .brand-row{margin-bottom:26px}
.lv-footer.footer-refined h2{font-size:15px;font-weight:600;line-height:1.7}
.lv-footer .consultation{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;width:208px;padding:11px 16px;border:1px solid #8ba5b3;border-radius:6px;background:#fff;color:#04384c;font-size:14px;font-weight:600;transition:background .15s,border-color .15s}
.lv-footer .consultation:hover{background:#e5edf1;border-color:#04384c}
.lv-footer .consultation .arrow{font-size:16px}
.lv-footer .group-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}
.lv-footer .index-link{font-size:12px;color:#536b77;display:inline-flex;align-items:center;gap:14px;min-height:44px;flex:none}
.lv-footer .index-link:hover .label{text-decoration:underline;text-underline-offset:4px}
.lv-footer .service-button,.lv-footer .field-link{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #c9d8e0;border-radius:6px;background:#f8fafb;color:#04384c;transition:background .15s,border-color .15s,box-shadow .15s}
.lv-footer .service-button:hover,.lv-footer .field-link:hover{background:#e3edf2;border-color:#829faa;box-shadow:0 2px 8px #04384c0b}
.lv-footer .service-button{min-height:72px;padding:15px 20px;font-size:22px;line-height:1.5;font-weight:600}
.lv-footer .service-button .arrow{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e6edf1;font-size:17px;color:#315969}
.lv-footer .total-buttons{display:grid;gap:12px}
.lv-footer .field-link{min-height:72px;padding:14px 16px;font-size:14px;line-height:1.65;font-weight:500}
.lv-footer .field-link .arrow{width:22px;height:22px;display:grid;place-items:center;flex:none;color:#486c7b;font-size:14px}
.lv-footer .field-icon{width:20px;height:20px;flex:none;color:#527586}
.lv-footer .field-link.with-icon{gap:10px}
.lv-footer .field-link.with-icon .label{margin-right:auto}
.lv-footer .panel-layout{display:grid;grid-template-columns:1fr 1.95fr;gap:20px}
.lv-footer .service-panel{background:#fff;border:1px solid #d5e0e5;border-radius:8px;padding:24px}
.lv-footer .total-panel .group-head{min-height:44px}
.lv-footer.b1 .service-button{background:#eef3f6;border-color:transparent}
.lv-footer.b1 .service-button:hover{background:#dfeaf0;border-color:#b5cbd5}
.lv-footer.b1 .field-link{background:#fff}
.lv-footer.b1 .field-link:hover{background:#edf4f7}
.lv-footer .support-strip{display:grid;grid-template-columns:1.25fr 1.25fr .65fr 1fr .7fr;gap:16px;align-items:start;border-top:1px solid #cbd8df;margin-top:26px;padding-top:16px}
.lv-footer .support-strip .minor{width:auto}
.lv-footer .support-strip .minor>summary{padding:10px 0;min-height:48px;font-size:13px;color:#394d57}
.lv-footer .support-strip summary:hover>span:first-child{text-decoration:underline;text-underline-offset:5px}
.lv-footer .support-link{min-height:48px;font-size:13px;line-height:1.8;display:flex;align-items:center;justify-content:space-between;gap:14px;padding-left:10px}
.lv-footer .support-link:hover .label{text-decoration:underline;text-underline-offset:5px}
.lv-footer.footer-refined .bottom{border-top:0;margin-top:12px;padding-top:15px}
@media(max-width:1150px) and (min-width:801px){.lv-footer .panel-layout{grid-template-columns:1fr 1.8fr;gap:16px}
.lv-footer .service-panel{padding:20px}
.lv-footer.b1 .field-link{min-height:66px}
.lv-footer.b1 .service-button{min-height:105px}
.lv-footer .support-strip{grid-template-columns:1.2fr 1.2fr .7fr 1fr .7fr;gap:12px}
.lv-footer .support-link{padding-left:0;font-size:12px}
.lv-footer .support-strip .minor>summary{font-size:12px}
.lv-footer .group-head{gap:10px;flex-wrap:wrap}
.lv-footer .group-head .index-link{min-height:28px}
.lv-footer.b1 .total-panel .group-head{min-height:70px}
.lv-footer.b1 .individual-panel .group-head{min-height:44px}
}
@media(max-width:800px){.lv-footer.footer-refined .shell{padding-top:26px}
.lv-footer.footer-refined .brand-row{gap:18px;margin-bottom:22px}
.lv-footer.footer-refined .brand img{width:138px}
.lv-footer .consultation{width:158px;min-height:44px;font-size:12px;padding:10px 12px;gap:12px}
.lv-footer .consultation .arrow{font-size:14px}
.lv-footer.footer-refined h2{font-size:14px}
.lv-footer .group-head{display:block;margin-bottom:13px}
.lv-footer .index-link{font-size:12px;min-height:32px;margin-top:2px;gap:14px}
.lv-footer .total-buttons{grid-template-columns:1fr 1fr;gap:10px}
.lv-footer .service-button{font-size:18px;min-height:62px;padding:12px 14px;gap:10px}
.lv-footer .service-button .arrow{width:22px;height:22px;font-size:15px}
.lv-footer .panel-layout{display:block}
.lv-footer .service-panel{padding:18px 16px;border-radius:7px}
.lv-footer .service-panel+.service-panel{margin-top:12px}
.lv-footer .total-panel .group-head{min-height:0}
.lv-footer .field-link{min-height:60px;font-size:13px;padding:11px 12px;gap:7px;line-height:1.7}
.lv-footer .field-link .arrow{width:16px;height:20px;font-size:13px}
.lv-footer .field-icon{display:none}
.lv-footer .field-link.with-icon{gap:7px}
.lv-footer .support-strip{grid-template-columns:1fr 1fr 1fr;gap:0 16px;margin-top:22px;padding-top:10px}
.lv-footer .support-strip>.minor{grid-column:1/-1}
.lv-footer .support-strip .minor>summary{min-height:46px;font-size:12.5px}
.lv-footer .support-link{font-size:12px;min-height:46px;gap:8px;padding-left:0}
.lv-footer .support-link .arrow{font-size:12px}
.lv-footer.footer-refined .bottom{margin-top:8px;padding-top:12px;padding-bottom:22px}
}
@media(prefers-reduced-motion:reduce){.lv-footer .consultation,.lv-footer .service-button,.lv-footer .field-link{transition:none}
}
@media(max-width:800px){.lv-footer .group-head{display:flex;gap:10px;align-items:center}
.lv-footer .group-head .index-link{margin-top:0;gap:8px}
.lv-footer .service-panel{padding-block:16px}
.lv-footer .field-link{min-height:54px;padding-block:10px}
.lv-footer .support-strip{grid-template-columns:.9fr 1.3fr .8fr}
.lv-footer .support-link{gap:6px}
.lv-footer .support-link .label{white-space:nowrap}
}
@media(max-width:359px){.lv-footer .support-strip{grid-template-columns:1fr 1fr}
.lv-footer .group-head{flex-wrap:wrap}
}
.lv-footer .panel-layout{align-items:start}
.lv-footer .category-controls{display:none}
.lv-footer .service-picker[data-enhanced] .category-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.lv-footer .category-control{font-family:inherit;text-align:left;cursor:pointer;appearance:none}
.lv-footer .category-control .label{margin-right:auto}
.lv-footer .category-control .plus{margin-left:2px;margin-right:2px}
.lv-footer .category-control:focus-visible,.lv-footer .panel-close:focus-visible{outline:3px solid #04384c;outline-offset:4px}
.lv-footer .category-panel{margin-top:20px;border-top:1px solid #d5e1e7;padding-top:12px;scroll-margin-top:24px}
.lv-footer .category-panel[hidden]{display:none}
.lv-footer .category-panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:7px}
.lv-footer .category-panel h3{font-family:inherit;font-size:14px;line-height:1.8;font-weight:600;color:#04384c;margin:0}
.lv-footer .category-panel h3:focus-visible{outline:2px solid #8ba5b3;outline-offset:4px}
.lv-footer .panel-close{display:none;min-height:44px;align-items:center;gap:14px;background:none;border:0;color:#536b77;padding:6px 0;font-family:inherit;font-size:12px;cursor:pointer}
.lv-footer .service-picker[data-enhanced] .panel-close{display:inline-flex}
.lv-footer .panel-close span{font-size:18px}
.lv-footer .panel-close:hover{text-decoration:underline;text-underline-offset:4px}
.lv-footer .category-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 24px}
.lv-footer .category-service-list>li:has(.children){grid-column:1/-1}
.lv-footer .category-service-list a{display:flex;align-items:baseline;justify-content:space-between;gap:16px;min-height:44px;padding:10px 0;font-size:14px;line-height:1.8}
.lv-footer .category-service-list a:hover .label{text-decoration:underline;text-underline-offset:4px}
.lv-footer .category-service-list a .arrow{font-size:12px}
.lv-footer .category-service-list .children{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:3px 0 10px 2px}
.lv-footer .category-service-list .children a{min-height:44px;padding:8px 0;font-size:13px;line-height:1.8}
.lv-footer.footer-refined .bottom{border-top:1px solid #d7e0e4;padding-top:18px;margin-top:10px}
@media(max-width:1150px) and (min-width:801px){.lv-footer .service-picker[data-enhanced] .category-controls{grid-template-columns:1fr 1fr}
.lv-footer .category-service-list{grid-template-columns:1fr}
.lv-footer .category-service-list .children{grid-template-columns:1fr}
}
@media(max-width:800px){.lv-footer .service-picker[data-enhanced] .category-controls{grid-template-columns:1fr 1fr;gap:10px}
.lv-footer .category-control{gap:8px}
.lv-footer .category-control .plus{width:12px;height:12px;flex:none}
.lv-footer .category-panel{margin-top:18px;padding-top:10px}
.lv-footer .category-panel-head{margin-bottom:6px}
.lv-footer .category-panel h3{font-size:13px}
.lv-footer .category-service-list{grid-template-columns:1fr;gap:0}
.lv-footer .category-service-list a{font-size:13px;min-height:44px;line-height:1.85;padding-block:10px}
.lv-footer .category-service-list .children{grid-template-columns:1fr;gap:0;margin-bottom:8px}
.lv-footer .category-service-list .children a{font-size:12.5px;min-height:44px}
.lv-footer.footer-refined .bottom{margin-top:8px;padding-top:16px}
}
/* SWELL adapters: retain its containers, cloned header and toggleMenu contract. */
:is(#header,#fix_header):has(.lv-nav){background:#fff;color:#04384c;border-bottom:1px solid #d8e1e5}
:is(#header,#fix_header):has(.lv-nav) :is(.l-header__inner,.l-fixHeader__inner){max-width:1280px;width:calc(100% - 160px);height:88px;min-height:88px;margin:auto;padding:0;gap:30px;position:static;flex-wrap:nowrap}
:is(#header,#fix_header):has(.lv-nav) :is(.l-header__logo,.l-fixHeader__logo){padding:0;margin:0;flex:none}
:is(#header,#fix_header):has(.lv-nav) .c-headLogo{margin:0;line-height:1}
:is(#header,#fix_header):has(.lv-nav) .c-headLogo__link{padding:0}
:is(#header,#fix_header):has(.lv-nav) .c-headLogo__img{width:158px;max-width:none;height:auto;max-height:none}
:is(#header,#fix_header):has(.lv-nav) .c-catchphrase{display:none}
:is(#header,#fix_header):has(.lv-nav) :is(:is(.l-header__gnav,.l-fixHeader__gnav),.c-gnavWrap,.c-gnav,.lv-nav,.lv-nav-disclosure){position:static;overflow:visible}
:is(#header,#fix_header):has(.lv-nav) :is(.l-header__gnav,.l-fixHeader__gnav){margin-left:auto}
:is(#header,#fix_header):has(.lv-nav) .c-gnav{display:flex;align-items:center;gap:25px;margin:0;padding:0;list-style:none}
:is(#header,#fix_header) .lv-nav{margin:0;padding:0;border:0;min-width:0;line-height:1.6;background:transparent;letter-spacing:0;font-family:var(--lv-font-ui,'Noto Sans JP',sans-serif)}
:is(#header,#fix_header) .lv-nav:before,:is(#header,#fix_header) .lv-nav:after{display:none}
:is(#header,#fix_header) .lv-nav>details>summary{list-style:none;min-height:48px;padding:0;color:#04384c;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
:is(#header,#fix_header) .lv-nav summary::-webkit-details-marker{display:none}
:is(#header,#fix_header) .lv-nav-disclosure[open]>.nav-toggle:after{position:absolute;content:'';bottom:-21px;height:3px;inset-inline:0;background:#04384c}
:is(#header,#fix_header) .lv-nav-disclosure[open]>.nav-toggle .chevron{transform:rotate(225deg);margin-top:4px}
:is(#header,#fix_header) .lv-nav-utility>a{height:auto;min-height:48px;padding:0;font-size:13px;line-height:1.6;font-weight:600;color:#04384c;background:transparent;white-space:nowrap}
:is(#header,#fix_header) .lv-nav a:after{display:none}
.lv-nav .menu-panel{z-index:5;overflow:auto;overscroll-behavior:contain}
.lv-nav h2{padding:0;background:none;border:0;border-radius:0;box-shadow:none;letter-spacing:0}
.lv-nav h2:before,.lv-nav h2:after{display:none}
.lv-nav .category h2{font-size:inherit}
.lv-nav a{height:auto;text-align:left}
.lv-nav .lv-type-phrase{display:inline-block;white-space:nowrap}
.lv-nav .menu-inner,.lv-nav .compact-inner{width:calc(100% - 160px);max-width:1280px}
:is(#header,#fix_header):has(.lv-nav) .w-header{margin:0;padding:0;flex:none}
:is(#header,#fix_header):has(.lv-nav) .w-header a{min-height:48px;min-width:0;border:0;border-radius:0;background:#04384c;color:#fff;font-size:13px;font-weight:600;line-height:1.6;padding:12px 20px;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:none}
:is(#header,#fix_header):has(.lv-nav) .w-header :is(p,.widget_text,.textwidget,.c-widget){margin:0;padding:0}
/* Footer widget owns this component; hide only SWELL's duplicate copyright. */
#footer:has(.lv-footer){background:#f2f5f6;color:#04384c}
#footer:has(.lv-footer) :is(.l-footer__widgetArea,.l-container.w-footer,.w-footer__box,.c-widget,.custom-html-widget){padding:0;margin:0;width:100%;max-width:none}
#footer:has(.lv-footer) .l-footer__foot{display:none}
.lv-footer{font-family:var(--lv-font-ui,'Noto Sans JP',sans-serif);font-size:14px;letter-spacing:0;line-height:1.6;text-align:left}
.lv-footer :is(h2,h3){padding:0;background:none;border:0;border-radius:0;box-shadow:none;letter-spacing:0}
.lv-footer :is(h2,h3):before,.lv-footer :is(h2,h3):after{display:none}
.lv-footer :is(a,button,summary){text-decoration:none;box-shadow:none}
.lv-footer .category-control{color:#04384c}
.lv-footer .category-panel h3{font-weight:600}
.lv-footer .category-service-list a:after{display:none}
@media(min-width:1600px){:is(#header,#fix_header):has(.lv-nav) :is(.l-header__inner,.l-fixHeader__inner),.lv-nav .menu-inner,.lv-nav .compact-inner{max-width:1440px}:is(#header,#fix_header):has(.lv-nav) .c-gnav{gap:34px}}
@media(max-width:1299px){:is(#header,#fix_header):has(.lv-nav) :is(.l-header__inner,.l-fixHeader__inner),.lv-nav .menu-inner,.lv-nav .compact-inner{width:calc(100% - 64px)}:is(#header,#fix_header):has(.lv-nav) .c-gnav{gap:18px}:is(#header,#fix_header):has(.lv-nav) .c-headLogo__img{width:140px}:is(#header,#fix_header) .lv-nav>details>summary,:is(#header,#fix_header) .lv-nav-utility>a{font-size:12px}}
@media(min-width:1200px){:is(#header,#fix_header):has(.lv-nav) .l-header__menuBtn{display:none!important}}
@media(max-width:1199px){
 #fix_header:has(.lv-nav){display:none!important}
 #header:has(.lv-nav) :is(.l-header__inner,.l-fixHeader__inner){width:calc(100% - 64px);height:70px;min-height:70px;justify-content:space-between}
 #header:has(.lv-nav) :is(:is(.l-header__gnav,.l-fixHeader__gnav),.w-header){display:none!important}
 #header:has(.lv-nav) .c-headLogo__img{width:150px}
 #header:has(.lv-nav) .l-header__menuBtn{display:block!important;position:static;order:3;width:44px;margin:0;padding:0}
 #header:has(.lv-nav) .l-header__menuBtn button{width:44px;height:48px;color:#04384c;padding:0}
 #header:has(.lv-nav) .c-iconBtn__label{font-size:9px;line-height:1.1;letter-spacing:.05em}
 #sp_menu:has(.lv-mobile-nav){position:fixed;inset:0;width:100%;height:100dvh;z-index:99999;padding:0}
 #sp_menu:has(.lv-mobile-nav) .p-spMenu__inner{position:absolute;inset:0;max-width:none;width:100%;height:100%;padding:0;transform:none!important;background:#fff;box-shadow:none}
 #sp_menu:has(.lv-mobile-nav) .p-spMenu__body{position:absolute;inset:0;padding:0;overflow:hidden;overscroll-behavior:contain}
 #sp_menu:has(.lv-mobile-nav) :is(.p-spMenu__nav,.c-spnav){height:100%;margin:0;padding:0;border:0}
 #sp_menu:has(.lv-mobile-nav) .c-widget__title{display:none}
 #sp_menu:has(.lv-mobile-nav) .p-spMenu__closeBtn{position:absolute;top:11px;right:24px;z-index:2}
 #sp_menu:has(.lv-mobile-nav) .p-spMenu__closeBtn button{width:66px;height:44px;color:#04384c;border:0;background:none}
 #sp_menu:has(.lv-mobile-nav) .p-spMenu__closeBtn button:before{content:'閉じる';font-family:inherit;font-size:12px;margin-right:10px}
 #sp_menu:has(.lv-mobile-nav) .p-spMenu__closeBtn i{font-size:23px}
 #sp_menu .lv-mobile-nav{display:flex;flex-direction:column;height:100%;margin:0;padding:0;border:0;background:#fff;color:#04384c;line-height:1.6;font-family:var(--lv-font-ui,'Noto Sans JP',sans-serif)}
 #sp_menu .lv-mobile-nav:before,#sp_menu .lv-mobile-nav:after{display:none}
 #sp_menu .lv-mobile-nav a{padding-right:0;border:0;background:none}
 #sp_menu .lv-mobile-nav a:after{display:none}
 #sp_menu .lv-mobile-nav .mobile-head{height:66px;min-height:66px;padding:0 24px;display:flex;align-items:center;border-bottom:1px solid #d8e1e5}
 #sp_menu .lv-mobile-nav .mobile-head a{padding:0;display:block}
 #sp_menu .lv-mobile-nav .mobile-head img{width:146px;height:auto}
 #sp_menu .lv-mobile-nav .mobile-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;flex:1}
 #sp_menu .lv-mobile-nav .category-title{display:none}
 #sp_menu .lv-mobile-nav .mobile-action .cta{display:flex;background:#04384c;color:#fff;padding:12px 24px;text-decoration:none}
 #sp_menu .lv-mobile-nav .mobile-action{padding-bottom:max(20px,env(safe-area-inset-bottom))}
 #sp_menu .lv-mobile-nav .total-link{padding:17px 0 19px}
 #sp_menu .lv-mobile-nav .mobile-section-title{padding:0;background:none;border:0}
 #sp_menu .lv-mobile-nav .mobile-section-title:before,#sp_menu .lv-mobile-nav .mobile-section-title:after{display:none}
}
@media(max-width:900px){#header:has(.lv-nav) :is(.l-header__inner,.l-fixHeader__inner){height:66px;min-height:66px;width:calc(100% - 48px)}#header:has(.lv-nav) .c-headLogo__img{width:146px}}
@media(prefers-reduced-motion:reduce){.lv-footer *,.lv-nav *{transition:none!important;scroll-behavior:auto!important}}
.lv-nav{text-align:left}
@media(max-width:1199px){
 html[data-spmenu="opened"]{overflow:hidden}
 html[data-spmenu="opened"] #sp_menu:has(.lv-mobile-nav){display:block;visibility:visible;opacity:1}
 #sp_menu:has(.lv-mobile-nav) .p-spMenu__overlay{display:none}
 #header:has(.lv-nav) .l-header__menuBtn button:after{content:'MENU';display:block;font:9px/1.1 var(--lv-font-ui,'Noto Sans JP',sans-serif);letter-spacing:.05em;margin-top:4px}
}

.lv-nav a:before{display:none!important}
/* Invisible hit-area expansion keeps secondary links comfortable on touch. */
.lv-footer .brand{display:flex;align-items:center;min-height:44px}
.lv-footer .index-link{min-height:44px}
/* The parent lazily loads drawer CSS; closed must stay hidden after that load. */
@media(max-width:1199px){html:not([data-spmenu="opened"]) #sp_menu:has(.lv-mobile-nav){display:none;visibility:hidden}}
.lv-footer .category-control.is-open{background:#edf4f7!important;border-color:#7a9aaa}
.lv-footer .category-control.is-open .plus:after{display:none}
@media(max-width:1199px){
 #sp_menu:has(.lv-mobile-nav) .p-spMenu__closeBtn button{display:inline-flex;align-items:center;justify-content:center;gap:10px}
 #sp_menu:has(.lv-mobile-nav) .p-spMenu__closeBtn button:before{margin-right:0}
 #sp_menu .lv-mobile-nav .mobile-total .total-link:not(:last-child){border-bottom:1px solid #c7d5dc}
}
@media(max-width:1199px){
 #sp_menu:has(.lv-mobile-nav) .p-spMenu__closeBtn button{width:80px;flex-direction:row}
 #sp_menu:has(.lv-mobile-nav) .p-spMenu__closeBtn button:before{white-space:nowrap;flex:none}
 #sp_menu:has(.lv-mobile-nav) .p-spMenu__closeBtn i{position:static;flex:none;line-height:1}
}
/* Fixed-header logo inherits a 32px crop from SWELL; retain the full canonical mark. */
:is(#header,#fix_header):has(.lv-nav) :is(.c-headLogo,.c-headLogo__link){height:auto;max-height:none;overflow:visible}
:is(#header,#fix_header):has(.lv-nav) .c-headLogo__img{display:block}
/* SWELL's fixed-header ::before background must stay behind its logo. */
#fix_header:has(.lv-nav) .l-fixHeader__logo{position:relative;z-index:1}

/* Adopted footer lower A, 2026-11-04. Source: lower-options@5f80e557. */
.lv-footer .lo-lower,
.lv-footer .lo-lower *{
  box-sizing: border-box;
}
.lv-footer .lo-lower{
  border-top: 1px solid #cbd8df;
  margin-top: 26px;
  color: #24343b;
}
.lv-footer .lo-lower .support-strip{
  display: block;
  border-top: 0;
  margin-top: 0;
  padding-top: 20px;
}
.lv-footer .lo-lower h2,
.lv-footer .lo-lower h3,
.lv-footer .lo-lower p,
.lv-footer .lo-lower ul{
  margin: 0;
}
.lv-footer .lo-lower ul{
  list-style: none;
  padding: 0;
}
.lv-footer .lo-lower a{
  color: #24343b;
  text-decoration: none;
}
.lv-footer .lo-lower a:hover .label{
  text-decoration: underline;
  text-underline-offset: 4px;
}
.lv-footer .lo-lower a:focus-visible,
.lv-footer .lo-lower summary:focus-visible{
  outline: 3px solid #04384c;
  outline-offset: 4px;
}
.lv-footer .lo-lower .label{
  min-width: 0;
}
.lv-footer .lo-lower .arrow{
  flex: none;
  color: #486878;
  font-size: 14px;
  font-weight: 400;
}
.lv-footer .lo-lower h2{
  color: #04384c;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.7;
}
.lv-footer .lo-lower .lo-link{
  align-items: center;
  border-bottom: 1px solid #d4dfe4;
  display: flex;
  font-size: 15px;
  gap: 16px;
  justify-content: space-between;
  line-height: 1.7;
  min-height: 48px;
  padding: 10px 0;
}
.lv-footer .lo-lower .lo-utility{
  background: #fff;
  border: 1px solid #d1dde3;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 24px;
}
.lv-footer .lo-lower .lo-utility-link{
  align-items: center;
  border-right: 1px solid #d1dde3;
  display: flex;
  font-size: 14px;
  gap: 10px;
  justify-content: space-between;
  line-height: 1.65;
  min-height: 50px;
  min-width: 0;
  padding: 10px 14px;
}
.lv-footer .lo-lower .lo-utility-link:last-child{
  border-right: 0;
}
.lv-footer .lo-a .lo-directory{
  display: grid;
  gap: clamp(36px, 6vw, 84px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.lv-footer .lo-a .lo-column h2{
  margin-bottom: 6px;
}
.lv-footer .lo-lower .lo-bottom{
  align-items: center;
  border-top: 1px solid #d1dde3;
  display: flex;
  font-size: 13px;
  gap: 20px;
  line-height: 1.7;
  margin-top: 24px;
  min-height: 58px;
  padding: 10px 0 14px;
}
.lv-footer .lo-bottom .lo-privacy{
  align-items: center;
  display: flex;
  min-height: 44px;
  padding: 6px 0;
}
.lv-footer .lo-bottom small{
  color: #5d707b;
  font-size: 12px;
}
.lv-footer .lo-bottom .lo-top{
  align-items: center;
  border: 1px solid #9eb2bd;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  margin-left: auto;
  min-height: 44px;
  padding: 8px 13px;
}
@media (max-width: 1150px){
.lv-footer .lo-a .lo-directory{
    gap: 40px;
  }
.lv-footer .lo-lower .lo-utility-link{
    padding-inline: 10px;
  }
}
@media (max-width: 800px){
.lv-footer .lo-lower .support-strip{
    padding-top: 18px;
  }
.lv-footer .lo-a .lo-directory{
    display: block;
  }
.lv-footer .lo-a .lo-column + .lo-column{
    margin-top: 26px;
  }
.lv-footer .lo-lower .lo-utility{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
.lv-footer .lo-lower .lo-utility-link{
    border-bottom: 1px solid #d1dde3;
  }
.lv-footer .lo-lower .lo-utility-link:nth-child(1){
    grid-column: 1;
    grid-row: 1;
  }
.lv-footer .lo-lower .lo-utility-link:nth-child(2){
    border-right: 0;
    grid-column: 2;
    grid-row: 1;
  }
.lv-footer .lo-lower .lo-utility-link:nth-child(3){
    border-bottom: 0;
    border-right: 0;
    grid-column: 1 / -1;
    grid-row: 2;
  }
.lv-footer .lo-lower .lo-utility-link{
    font-size: 14px;
    min-height: 54px;
    padding-inline: 8px;
  }
.lv-footer .lo-lower .lo-bottom{
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: 22px;
    padding-top: 10px;
  }
.lv-footer .lo-bottom .lo-privacy{
    width: 100%;
  }
.lv-footer .lo-bottom .lo-top{
    margin-left: auto;
  }
}
.lv-footer .lo-lower .lo-bottom .lo-privacy,
.lv-footer .lo-lower .lo-bottom .lo-top{
  min-height: 44px;
  font-size: 13px;
}
