/* 本文とアプリ内の表示に影響させない、共通ヘッダーとフッター。 */
:root{--ms-site-chrome-height:80px}
.ms-site-header,.ms-site-footer{box-sizing:border-box;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:14px;font-weight:400;line-height:1.6;letter-spacing:normal;text-align:left}
.ms-site-header *,.ms-site-footer *,.ms-site-header *::before,.ms-site-header *::after,.ms-site-footer *::before,.ms-site-footer *::after{box-sizing:border-box}
.ms-site-header{--ms-site-header-height:var(--ms-site-chrome-height);--ms-site-admin-offset:0px;position:fixed;inset:var(--ms-site-admin-offset) 0 auto;z-index:1000;height:var(--ms-site-header-height);margin:0;padding:0;border:0;border-bottom:1px solid #d5dfdd;background:#fff;color:#111b20}
.ms-site-header[data-ms-site-admin="1"]{--ms-site-admin-offset:32px}
.ms-site-header-inner{display:flex;align-items:center;gap:24px;width:100%;height:100%;margin:0 auto;padding:0 clamp(20px,3.3vw,64px)}
.ms-site-header a,.ms-site-footer a{color:inherit;text-decoration:none;box-shadow:none}
.ms-site-header button{appearance:none;margin:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;letter-spacing:normal;box-shadow:none;cursor:pointer}
.ms-site-header :is(a,button):focus-visible,.ms-site-footer a:focus-visible{outline:3px solid #007e78;outline-offset:4px}
.ms-site-brand{display:block;flex:0 0 154px;width:154px;height:40px;margin:0;padding:0;overflow:hidden;line-height:1}
.ms-site-brand .ms-site-brand-image{display:block;width:196px;height:49px;max-width:none;margin:0;padding:0;transform:translate(-21px,-4.5px);border:0;box-shadow:none;mix-blend-mode:multiply}
.ms-site-desktop-nav{display:flex;align-items:stretch;align-self:stretch;gap:16px;min-width:0;margin:0 0 0 auto;padding:0;font-size:14px;font-weight:600}
.ms-site-nav-link{display:flex;align-items:center;min-height:44px;margin:0;padding:0;white-space:nowrap;line-height:1.6}
.ms-site-nav-link:hover,.ms-site-business-toggle:hover{color:#007e78}
.ms-site-business{position:relative;display:flex;align-items:center;align-self:stretch;margin:0;padding:0}
.ms-site-header .ms-site-business-toggle{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:44px;padding:10px 0;font-size:14px;font-weight:600;line-height:1.6;white-space:nowrap}
.ms-site-chevron{display:inline-block;flex:0 0 7px;width:7px;height:7px;margin:-3px 2px 0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .18s ease}
.ms-site-business-toggle[aria-expanded="true"] .ms-site-chevron{transform:translateY(3px) rotate(225deg)}
.ms-site-submenu{position:absolute;inset:100% auto auto 0;z-index:2;display:grid;width:320px;max-width:calc(100vw - 32px);margin:0;padding:12px;border:1px solid #d5dfdd;background:#fff;box-shadow:0 12px 30px #102a2414;color:#111b20}
.ms-site-submenu a{display:flex;align-items:center;min-height:44px;margin:0;padding:12px;font-size:14px;font-weight:500;line-height:1.6;white-space:normal;overflow-wrap:anywhere}
.ms-site-submenu a:hover,.ms-site-submenu a:focus-visible{background:#f0f5f3;color:#007e78}
.ms-site-header .ms-site-cta{position:relative;display:inline-flex;align-items:center;justify-content:space-between;flex:0 0 auto;gap:16px;min-height:48px;min-width:168px;margin:0;padding:11px 16px;overflow:hidden;border:0;border-radius:0;background:#111b20;color:#fff;font-size:14px;font-weight:600;line-height:1.6;white-space:nowrap;text-align:left}
.ms-site-header .ms-site-cta:hover{background:#263d37;color:#fff}
.ms-site-cta::after{position:absolute;inset:-60% auto -60% -50%;width:28px;background:linear-gradient(90deg,transparent,#ffffff5c,transparent);transform:rotate(25deg);animation:ms-site-shine 7s infinite;pointer-events:none;content:""}
@keyframes ms-site-shine{0%,78%{left:-50%}96%,100%{left:150%}}
.ms-site-arrow{display:block;flex:0 0 18px;width:18px;height:18px;margin:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ms-site-header .ms-site-menu-toggle{position:relative;display:none;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:10px}
.ms-site-menu-toggle>span{position:absolute;left:10px;width:24px;height:1px;margin:0;background:currentColor;transition:transform .18s ease,top .18s ease}
.ms-site-menu-toggle>span:first-child{top:17px}
.ms-site-menu-toggle>span:last-child{top:26px}
.ms-site-menu-toggle[aria-expanded="true"]>span:first-child{top:22px;transform:rotate(45deg)}
.ms-site-menu-toggle[aria-expanded="true"]>span:last-child{top:22px;transform:rotate(-45deg)}
.ms-site-drawer{position:fixed;inset:calc(var(--ms-site-header-height) + var(--ms-site-admin-offset)) 0 0;z-index:1;margin:0;padding:24px 7vw calc(32px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;background:#f7f9f8;color:#111b20}
.ms-site-mobile-nav{max-width:760px;margin:0 auto;padding:0}
.ms-site-mobile-nav>a,.ms-site-mobile-business>.ms-site-business-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;margin:0;padding:15px 0;border:0;border-bottom:1px solid #d5dfdd;font-size:16px;font-weight:600;line-height:1.8;white-space:normal}
.ms-site-mobile-submenu{margin:0;padding:4px 0 12px;border-bottom:1px solid #d5dfdd}
.ms-site-mobile-submenu a{display:flex;align-items:center;min-height:44px;margin:0;padding:11px 0 11px 20px;font-size:14px;font-weight:500;line-height:1.8}
.ms-site-mobile-nav a:hover{color:#007e78}
.ms-site-menu-note{margin:24px 0 0;padding:0;font-size:14px;line-height:1.8;color:#596e68}
.ms-site-header :is(.ms-site-submenu,.ms-site-mobile-submenu,.ms-site-drawer)[hidden]{display:none!important}
.ms-site-skip{position:fixed;top:-150px;left:16px;z-index:100001;margin:0;padding:12px 16px;border:1px solid #007e78;background:#fff;color:#111b20;font:600 14px/1.6 ui-sans-serif,system-ui,sans-serif}
.ms-site-skip:focus{top:12px}
body.ms-site-menu-open{overflow:hidden;overscroll-behavior:contain}
#body_wrap.ms-shared-chrome-legacy{padding-top:var(--ms-site-chrome-height)}
/* 既存の目次が固定ヘッダーの高さを計測できるよう、旧要素の高さだけを保つ。 */
#body_wrap.ms-shared-chrome-legacy>:is(#header.l-header,#fix_header){display:block!important;visibility:hidden!important;pointer-events:none!important;box-sizing:border-box!important;height:var(--ms-site-chrome-height)!important;min-height:var(--ms-site-chrome-height)!important;max-height:var(--ms-site-chrome-height)!important;inset:0 0 auto!important;width:auto!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important}
#body_wrap.ms-shared-chrome-legacy>#header.l-header{position:absolute!important}
#body_wrap.ms-shared-chrome-legacy>#fix_header{position:fixed!important}
#body_wrap.ms-shared-chrome-legacy>:is(#header.l-header,#fix_header) *{visibility:hidden!important;pointer-events:none!important}
#body_wrap.ms-shared-chrome-legacy>#sp_menu,#body_wrap.ms-shared-chrome-legacy>#footer.l-footer,#body_wrap.ms-shared-chrome-legacy>#before_footer_widget{display:none!important}
.ms-site-footer{margin:0;padding:64px 7% 28px;border:0;border-top:1px solid #3b4b50;background:#111b20;color:#f0f4f2}
.ms-site-footer-inner{max-width:1440px;margin:0 auto;padding:0}
.ms-site-footer-main{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,1.15fr);gap:40px;margin:0;padding:0 0 46px}
.ms-site-footer-brand,.ms-site-footer-copy{min-width:0;margin:0;padding:0}
.ms-site-footer .ms-site-brand{width:174px;height:44px}
.ms-site-footer .ms-site-brand-image{width:220px;height:55px;transform:translate(-23px,-5.5px);filter:grayscale(1) invert(1);mix-blend-mode:screen}
.ms-site-company-label{margin:18px 0 0;padding:0;color:#b7c6c5;font-size:14px;line-height:1.8}
.ms-site-partner-badge{display:block;width:180px;height:auto;max-width:100%;margin:24px 0 0;padding:0;border:0;filter:none;box-shadow:none}
.ms-site-footer-copy>p{margin:0;padding:0;font-size:18px;line-height:1.9}
.ms-site-footer-copy>p+p{margin-top:18px;color:#b7c6c5;font-size:14px;line-height:1.8}
.ms-site-footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;align-content:start;margin:0;padding:0;font-size:14px;line-height:1.8}
.ms-site-footer-nav>a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px;margin:0;padding:0;overflow-wrap:anywhere}
.ms-site-footer a:hover{color:#74d5c4}
.ms-site-footer a:focus-visible{outline-color:#74d5c4}
.ms-site-footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:24px 0 0;border-top:1px solid #3b4b50;color:#b7c6c5;font-size:12px;line-height:1.8}
.ms-site-footer-bottom>small{margin:0;padding:0;font-size:inherit}
.ms-site-footer-bottom>nav{display:flex;flex-wrap:wrap;gap:14px 20px;margin:0;padding:0;font-size:12px}
.ms-site-footer-bottom a{display:flex;align-items:center;min-height:32px}
@media(max-width:1279px){
 .ms-site-header-inner{gap:16px;padding:0 24px}
 .ms-site-desktop-nav{display:none}
 .ms-site-header .ms-site-cta{margin-left:auto}
 .ms-site-header .ms-site-menu-toggle{display:inline-flex}
 .ms-site-footer-main{grid-template-columns:200px minmax(0,1fr);gap:36px}
 .ms-site-footer-nav{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:782px){.ms-site-header[data-ms-site-admin="1"]{--ms-site-admin-offset:46px}}
@media(max-width:760px){
 :root{--ms-site-chrome-height:68px}
 .ms-site-header-inner{gap:12px;padding:0 16px}
 .ms-site-brand{flex-basis:123px;width:123px;height:32px}
 .ms-site-brand .ms-site-brand-image{width:156px;height:39px;transform:translate(-16px,-3.5px)}
 .ms-site-header .ms-site-cta{gap:10px;min-width:0;min-height:44px;padding:10px;font-size:14px}
 .ms-site-cta .ms-site-arrow{flex-basis:16px;width:16px;height:16px}
 .ms-site-footer{padding:46px 7% calc(96px + env(safe-area-inset-bottom,0px))}
 .ms-site-footer .ms-site-brand{width:154px;height:40px}
 .ms-site-footer .ms-site-brand-image{width:196px;height:49px;transform:translate(-21px,-4.5px)}
 .ms-site-footer-main{grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:32px}
 .ms-site-footer-nav{grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
 .ms-site-footer-nav>a{min-height:44px}
 .ms-site-footer-copy>p{font-size:17px}
 .ms-site-footer-bottom{display:block}
 .ms-site-footer-bottom>nav{margin-top:12px}
}
@media(max-width:480px){.ms-site-header-inner{gap:8px;padding:0 12px}.ms-site-header .ms-site-brand{flex-basis:108px;width:108px;height:29px}.ms-site-header .ms-site-brand-image{width:138px;height:34.5px;transform:translate(-15px,-3px)}}
@media(max-width:359px){.ms-site-header-inner{padding:0 10px}.ms-site-header .ms-site-brand{flex-basis:96px;width:96px;height:26px}.ms-site-header .ms-site-brand-image{width:122px;height:30.5px;transform:translate(-13px,-2.5px)}}
@media(min-width:1280px){.ms-site-drawer{display:none!important}}
@media(prefers-reduced-motion:reduce){.ms-site-cta::after{animation:none;display:none}.ms-site-chevron,.ms-site-menu-toggle>span{transition:none}}

/* 主な相談先と補助情報の階層を分け、文字の大きさを保つ。 */
@media(min-width:1280px){
 .ms-site-header-inner{gap:28px}
 .ms-site-desktop-nav{gap:24px}
 .ms-site-business--utility .ms-site-submenu{inset:100% 0 auto auto;width:248px}
}