/*
  One common visual system for Easy Calculators + file tools.
  Component styles remain in site.css/tools.css/filepat.css; this file alone owns
  the shared page shell, header, language switch, reading widths, and footer.
*/
:root {
  --b:#1b55a3; --bd:#123f7d; --bl:#eaf1fa; --bg:#f4f6f9;
  --ln:#d3dbe7; --tx:#1f2933; --mu:#5f6b7a; --ac:#e8761a;
  --site-content:1160px; --site-gutter:clamp(16px,3vw,32px);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{width:100%;min-width:0;max-width:100%;margin:0;background:var(--bg);scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{overflow-x:clip!important}
body{width:100%;min-width:0;max-width:100%;margin:0!important;background:var(--bg)!important;color:var(--tx)!important;font-family:Inter,"Noto Sans JP","Yu Gothic UI","Hiragino Sans",Meiryo,Arial,sans-serif!important;font-size:16px;line-height:1.75;letter-spacing:0!important;word-break:normal;overflow-wrap:break-word;text-rendering:optimizeLegibility}
img,svg,video,canvas,iframe{max-width:100%}
button,input,select,textarea{font-family:inherit;max-width:100%}
button,a,select{-webkit-tap-highlight-color:transparent}
a{color:var(--b)}
/* Japanese/English content spans are authored in each page; the stylesheet only switches visibility. */
html[lang="ja"] [lang="en"],html:not([lang="en"]) [lang="en"]{display:none!important}
html[lang="en"] [lang="ja"]{display:none!important}
html[data-lang="ja"] .lang-en,html:not([data-lang="en"]) .lang-en{display:none!important}
html[data-lang="en"] .lang-ja,html[lang="en"] .lang-ja{display:none!important}
html[data-lang="en"] .lang-en,html[lang="en"] .lang-en{display:inline!important}
/* Never zoom the whole body: it caused clipped, non-full-width headers on large text settings. */
html[data-font-scale="small"] body,html[data-font-scale="large"] body{zoom:1!important}
html[data-font-scale="small"] body{font-size:15px!important}
html[data-font-scale="normal"] body,html:not([data-font-scale]) body{font-size:16px!important}
html[data-font-scale="large"] body{font-size:17px!important}
/* Headers: both original header structures share identical full-bleed background and central alignment. */
html body header.hd,html body header.topbar,html body .seo-page>header.topbar{
  position:sticky!important;top:0!important;z-index:1000!important;display:block!important;
  width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;min-height:64px!important;
  margin:0!important;padding:0!important;transform:none!important;box-sizing:border-box!important;
  background:var(--b)!important;color:#fff!important;border:0!important;border-bottom:4px solid var(--bd)!important;
  border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;overflow:visible!important
}
/* Calculator header inner frame */
html body header.hd>.hdin{
  width:min(var(--site-content),calc(100% - 40px))!important;max-width:var(--site-content)!important;min-width:0!important;
  min-height:60px!important;height:auto!important;margin:0 auto!important;padding:8px 0!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;box-sizing:border-box!important
}
html body header.hd .logo{display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important;background:transparent!important;color:#fff!important;font-family:inherit!important;font-size:21px!important;font-weight:750!important;line-height:1.2!important;letter-spacing:0!important;text-decoration:none!important;white-space:nowrap!important}
html body header.hd .gnav{display:flex!important;flex:1 1 auto!important;align-items:center!important;justify-content:center!important;gap:4px!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important}
html body header.hd .gnav>a,html body header.topbar .mainnav>a{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;flex:0 0 auto!important;
  min-width:0!important;min-height:36px!important;height:auto!important;margin:0!important;padding:7px 9px!important;
  border:1px solid transparent!important;border-radius:6px!important;background:transparent!important;color:#fff!important;
  font-family:inherit!important;font-size:12px!important;font-weight:650!important;line-height:1.25!important;letter-spacing:0!important;
  text-decoration:none!important;white-space:nowrap!important;box-shadow:none!important;transform:none!important
}
html body header.hd .gnav>a:hover,html body header.hd .gnav>a[aria-current="page"],
html body header.topbar .mainnav>a:hover,html body header.topbar .mainnav>a[aria-current="page"]{background:rgba(255,255,255,.15)!important;color:#fff!important}
html body header.hd .gnav>a.xsite,html body header.topbar .mainnav>a.xsite{gap:7px!important;border-color:rgba(255,255,255,.5)!important;background:rgba(255,255,255,.07)!important}
html body header.hd .gnav>a.xsite::after,html body header.topbar .mainnav>a.xsite::after{content:none!important;display:none!important}
html body .filepat-nav-logo{display:inline-block!important;flex:0 0 auto!important;width:76px!important;max-width:76px!important;height:24px!important;max-height:24px!important;object-fit:contain!important;vertical-align:middle!important;margin:0 2px 0 0!important;padding:2px 5px!important;border:0!important;border-radius:4px!important;background:#fff!important}
/* File-tool header uses the same centered measure; its background is still edge-to-edge. */
html body header.topbar{
  display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;grid-template-areas:"brand nav lang"!important;
  align-items:center!important;gap:14px!important;padding:8px max(20px,calc((100% - var(--site-content))/2))!important
}
html body header.topbar>.brand{grid-area:brand!important;position:static!important;display:inline-flex!important;align-items:center!important;gap:8px!important;flex:0 0 auto!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;transform:none!important;overflow:visible!important;color:#fff!important;font-family:inherit!important;font-size:21px!important;font-weight:750!important;line-height:1.2!important;letter-spacing:0!important;text-decoration:none!important;white-space:nowrap!important}
html body header.topbar>.brand .brand-name,html body header.topbar>.brand span{display:inline!important;color:#fff!important}
html body header.topbar>.brand .logo{display:inline-grid!important;place-items:center!important;width:28px!important;height:28px!important;min-width:28px!important;margin:0!important;border-radius:5px!important;background:#fff!important;color:var(--b)!important}
html body header.topbar>.brand .logo::before{content:none!important}
html body header.topbar .mainnav{grid-area:nav!important;position:static!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:1 1 auto!important;flex-wrap:nowrap!important;gap:4px!important;min-width:0!important;max-width:none!important;width:auto!important;margin:0!important;padding:0!important;overflow:visible!important;border:0!important;background:transparent!important;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important}
html body header.topbar .mainnav>a.calc-link{border-color:rgba(255,255,255,.48)!important;background:rgba(255,255,255,.07)!important;color:#fff!important}
html body header.topbar .filepat-language-switch{grid-area:lang!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;gap:2px!important;min-width:0!important;max-width:none!important;margin:0!important;padding:3px!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;white-space:nowrap!important}
html body header.topbar .filepat-language-switch a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:65px!important;min-height:30px!important;margin:0!important;padding:6px 9px!important;border:0!important;border-radius:5px!important;background:transparent!important;color:var(--bd)!important;font-family:inherit!important;font-size:12px!important;font-weight:700!important;line-height:1.2!important;text-decoration:none!important;white-space:nowrap!important}
html body header.topbar .filepat-language-switch a.active,html body header.topbar .filepat-language-switch a[aria-current="page"]{background:var(--b)!important;color:#fff!important}
html body header.topbar .filepat-language-switch a:not(.active):hover{background:var(--bl)!important;color:var(--bd)!important}
html body header.hd .lang,html body header.hd .font-ctrl{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;gap:2px!important;margin:0!important;padding:3px!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:8px!important;background:#fff!important;white-space:nowrap!important}
html body header.hd .lang button,html body header.hd .font-ctrl button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:28px!important;min-height:29px!important;margin:0!important;padding:5px 7px!important;border:0!important;border-radius:5px!important;background:transparent!important;color:var(--bd)!important;font-family:inherit!important;font-size:11px!important;font-weight:700!important;line-height:1.15!important;white-space:nowrap!important;box-shadow:none!important;cursor:pointer!important}
html body header.hd .lang button{min-width:64px!important;font-size:12px!important}
html body header.hd .lang button[aria-pressed="true"],html body header.hd .font-ctrl button.active{background:var(--b)!important;color:#fff!important}
html body header.hd .lang button:not([aria-pressed="true"]):hover,html body header.hd .font-ctrl button:not(.active):hover{background:var(--bl)!important}
html body header.hd .burger{display:none!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;min-width:36px!important;min-height:36px!important;padding:8px!important;border:1px solid rgba(255,255,255,.55)!important;border-radius:6px!important;background:transparent!important;color:#fff!important}
html body header.topbar .filepat-menu-toggle{display:none!important}
html body header.topbar .filepat-a11y{display:inline-flex!important;align-items:center!important;gap:4px!important;flex:0 0 auto!important;margin:0 0 0 4px!important;padding:0!important;background:transparent!important;border:0!important}
html body header.topbar .filepat-a11y__label,html body header.topbar .filepat-a11y__sub{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
html body header.topbar .filepat-a11y__group{display:inline-flex!important;align-items:center!important;gap:2px!important;margin:0!important;padding:3px!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:8px!important;background:#fff!important}
html body header.topbar .filepat-a11y__btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:28px!important;min-height:29px!important;margin:0!important;padding:4px 6px!important;border:0!important;border-radius:5px!important;background:transparent!important;color:var(--bd)!important;font-family:inherit!important;font-size:12px!important;font-weight:700!important;line-height:1!important}
html body header.topbar .filepat-a11y__btn.active{background:var(--b)!important;color:#fff!important}
html body header.topbar .filepat-a11y__contrast{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:30px!important;min-width:30px!important;height:30px!important;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.65)!important;border-radius:7px!important;background:#fff!important;color:var(--bd)!important;font-size:0!important}
html body header.topbar .filepat-a11y__contrast::before{content:"◐"!important;font-size:16px!important}
html body header.topbar .filepat-a11y__contrast span{display:none!important}
/* One outer page width; content is centered, while header/footer remain full bleed. */
html body .seo-page{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;background:transparent!important;box-sizing:border-box!important}
html body main.seo-main,html body .seo-page>.seo-main,html body main.tool-main,html body main.fp-tool-main{display:block!important;width:min(var(--site-content),calc(100% - 40px))!important;max-width:var(--site-content)!important;min-width:0!important;margin:0 auto!important;padding:30px 0 46px!important;float:none!important;box-sizing:border-box!important}
html body .seo-main>.eyebrow,html body .tool-main>.eyebrow{margin:0 0 8px!important;color:#64748b!important;font-size:12px!important;font-weight:700!important;letter-spacing:.08em!important;line-height:1.4!important}
html body .seo-main>h1,html body .tool-main>h1,html body main.fp-tool-main .fp-tool-hero h1{max-width:100%!important;margin:0 0 10px!important;color:var(--bd)!important;font-family:inherit!important;font-size:clamp(26px,3vw,36px)!important;font-weight:750!important;line-height:1.3!important;letter-spacing:0!important;text-align:left!important;overflow-wrap:anywhere!important}
html body .seo-main>.lead,html body .tool-main>.lead{max-width:78ch!important;margin:0 0 22px!important;color:#526174!important;font-size:15px!important;line-height:1.8!important}
html body .filepat-runtime{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;box-sizing:border-box!important}
html body .filepat-runtime>.tool-layout,html body .seo-main .tool-layout.filepat-standalone-layout{display:grid!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;gap:0!important;overflow:hidden!important;border:1px solid var(--ln)!important;border-radius:10px!important;background:#fff!important;box-shadow:0 1px 4px rgba(17,45,80,.05)!important;box-sizing:border-box!important}
html body .filepat-runtime .runtime-panel{min-width:0!important;max-width:none!important;box-sizing:border-box!important;background:#fff!important}
html body .directory{display:block!important;width:min(var(--site-content),calc(100% - 40px))!important;max-width:var(--site-content)!important;min-width:0!important;margin:0 auto!important;padding:28px 0 46px!important;box-sizing:border-box!important}
html body .directory-section,html body .directory-section-head,html body .feature-grid{min-width:0!important;max-width:100%!important}
html body .directory-foot{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
html body .filepat-home-intro{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
html body .fp-content-guide,html body .fp-content-guide--home{display:none!important}
html body .footer-wrap{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;box-sizing:border-box!important}
html body footer.fp-footer-v2,html body footer.ft{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding-left:0!important;padding-right:0!important;box-sizing:border-box!important}
html body footer.fp-footer-v2 .footer-inner,html body footer.fp-footer-v2 .copyright,html body footer.ft>.in{width:min(var(--site-content),calc(100% - 40px))!important;max-width:var(--site-content)!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important}
html body :where(p,li,dd,td){overflow-wrap:anywhere}
html body :where(h1,h2,h3,h4){text-wrap:pretty;overflow-wrap:anywhere;line-height:1.4}
/* Tablet: shared two-row header, no clipped links. */
@media(max-width:1080px){
 html body header.topbar{grid-template-columns:minmax(0,1fr) auto auto!important;grid-template-areas:"brand lang toggle" "nav nav nav"!important;gap:8px 10px!important;padding:8px 16px!important}
 html body header.topbar .mainnav{justify-content:flex-start!important;flex-wrap:nowrap!important;min-width:0!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important}
 html body header.topbar .mainnav::-webkit-scrollbar{display:none!important}
 html body header.topbar .filepat-menu-toggle{grid-area:toggle!important;display:none!important}
 html body header.topbar .filepat-language-switch{justify-self:end!important}
 html body header.hd>.hdin{width:calc(100% - 32px)!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;grid-template-areas:"brand lang font" "nav nav nav"!important;gap:7px 10px!important;padding:8px 0!important}
 html body header.hd .logo{grid-area:brand!important}
 html body header.hd .lang{grid-area:lang!important;justify-self:end!important}
 html body header.hd .font-ctrl{grid-area:font!important;justify-self:end!important}
 html body header.hd .gnav{grid-area:nav!important;justify-content:flex-start!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;padding:2px 0!important}
 html body header.hd .gnav::-webkit-scrollbar{display:none!important}
}
/* Mobile: keep language selection visible and tuck the navigation behind a labelled menu. */
@media(max-width:760px){
 html body header.topbar{grid-template-columns:minmax(0,1fr) auto auto!important;grid-template-areas:"brand lang toggle" "nav nav nav"!important;padding:8px 12px!important;gap:8px!important}
 html body header.topbar>.brand{font-size:15px!important;white-space:normal!important}
 html body header.topbar .filepat-menu-toggle{display:inline-flex!important;grid-area:toggle!important;align-items:center!important;justify-content:center!important;width:36px!important;height:36px!important;min-width:36px!important;border:1px solid rgba(255,255,255,.65)!important;border-radius:7px!important;background:transparent!important;color:#fff!important;cursor:pointer!important}
 html body header.topbar .filepat-menu-toggle span{display:block!important;width:16px!important;height:2px!important;margin:2px auto!important;background:#fff!important}
 html body header.topbar .mainnav{display:none!important;grid-area:nav!important;flex-wrap:wrap!important;gap:4px!important;width:100%!important;padding:6px 0 2px!important;overflow:visible!important}
 html.filepat-menu-open body header.topbar .mainnav{display:flex!important}
 html body header.topbar .mainnav>a{min-height:34px!important;padding:7px 8px!important;font-size:11px!important}
 html body header.topbar .filepat-language-switch a{min-width:58px!important;min-height:30px!important;padding:5px 7px!important;font-size:11px!important}
 html body header.topbar .filepat-a11y{gap:4px!important;margin-left:0!important}
 html body header.topbar .filepat-a11y__btn{min-width:27px!important;min-height:28px!important}
 html body header.hd>.hdin{width:calc(100% - 24px)!important;grid-template-columns:minmax(0,1fr) auto auto!important;grid-template-areas:"brand lang burger" "nav nav nav" "font font font"!important;gap:8px!important}
 html body header.hd .logo{font-size:15px!important;white-space:normal!important}
 html body header.hd .lang{justify-self:end!important}
 html body header.hd .font-ctrl{grid-area:font!important;justify-self:center!important}
 html body header.hd .burger{display:inline-flex!important;grid-area:burger!important}
 html body header.hd .gnav{display:none!important;grid-area:nav!important;flex-wrap:wrap!important;white-space:normal!important;overflow:visible!important;justify-content:flex-start!important;padding:6px 0!important}
 html body header.hd .gnav.open{display:flex!important}
 html body header.hd .gnav>a{min-height:34px!important;padding:7px 8px!important;font-size:11px!important}
 html body main.seo-main,html body .seo-page>.seo-main,html body main.tool-main,html body main.fp-tool-main{width:calc(100% - 28px)!important;padding:22px 0 32px!important}
 html body .directory{width:calc(100% - 28px)!important;padding:22px 0 32px!important}
 html body .filepat-runtime>.tool-layout,html body .seo-main .tool-layout.filepat-standalone-layout{grid-template-columns:minmax(0,1fr)!important}
 html body .filepat-runtime .runtime-panel{padding:16px!important}
 html body footer.fp-footer-v2 .footer-inner,html body footer.fp-footer-v2 .copyright,html body footer.ft>.in{width:calc(100% - 28px)!important}
}
@media(max-width:420px){
 html body header.topbar>.brand{font-size:14px!important}
 html body .filepat-nav-logo{width:62px!important;max-width:62px!important;height:20px!important;max-height:20px!important}
 html body header.topbar .mainnav>a{font-size:10.5px!important;padding:6px 7px!important}
 html body header.topbar .filepat-language-switch a{min-width:52px!important;padding:5px 6px!important;font-size:10px!important}
 html body header.hd .lang button{min-width:56px!important;padding:5px 6px!important;font-size:11px!important}
 html body header.hd .font-ctrl button{min-width:25px!important;padding:4px 5px!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{transition:none!important}}


/* FINAL OVERRIDES: full-bleed responsive header + mutually exclusive language spans */
html[lang="ja"] [lang="en"], html[lang="ja"] .lang-en,
html[data-lang="ja"] [lang="en"], html[data-lang="ja"] .lang-en,
html:not([lang="en"]):not([data-lang="en"]) .lang-en { display:none !important; }
html[lang="en"] [lang="ja"], html[lang="en"] .lang-ja,
html[data-lang="en"] [lang="ja"], html[data-lang="en"] .lang-ja { display:none !important; }
html[lang="en"] .lang-en, html[data-lang="en"] .lang-en { display:inline !important; }
html[lang="ja"] .lang-ja, html[data-lang="ja"] .lang-ja { display:inline !important; }
html body header.topbar, html body header.hd {
  position:relative!important; left:50%!important; width:100vw!important; max-width:none!important;
  margin-left:-50vw!important; margin-right:0!important; box-sizing:border-box!important;
}
html body header.topbar { padding-left:max(16px,calc((100vw - var(--site-content))/2))!important; padding-right:max(16px,calc((100vw - var(--site-content))/2))!important; }
html body header.topbar>.brand .brand-name span { display:initial; }
html body header.topbar>.brand .brand-name .lang-ja,
html body header.topbar>.brand .brand-name .lang-en { display:initial; }
html body header.hd>.hdin { width:min(var(--site-content),calc(100% - 32px))!important; }
html body header.hd .logo [lang="ja"], html body header.hd .logo [lang="en"] { display:inline; }
/* Language controls are explicit, labelled segmented buttons. */
html body .lang, html body .filepat-language-switch { flex-shrink:0!important; }
html body .filepat-language-switch { border:1px solid rgba(255,255,255,.8)!important; border-radius:8px!important; padding:3px!important; background:#fff!important; }
html body .filepat-language-switch a { min-width:70px!important; font-size:12px!important; }
html body .filepat-language-switch a.active { background:var(--b)!important;color:#fff!important; }
/* Selection page gets a clear FilePat identity in the tool directory itself. */
html body .filepat-home-selection-v1 .fp-unified-head { position:relative!important; padding-top:58px!important; }
html body .filepat-home-selection-v1 .fp-unified-head:before { content:"FilePat  ·  ファイルツール"; position:absolute!important; top:0!important; left:0!important; display:inline-flex!important; align-items:center!important; min-height:34px!important; padding:5px 12px 5px 42px!important; border:1px solid #d7e2f1!important; border-radius:8px!important; background:#fff url("assets/filepat-logo.png") no-repeat 9px center!important; background-size:27px auto!important; color:#1b55a3!important; font-size:13px!important; font-weight:750!important; line-height:1.4!important; }
html[lang="en"] body .filepat-home-selection-v1 .fp-unified-head:before,
html[data-lang="en"] body .filepat-home-selection-v1 .fp-unified-head:before { content:"FilePat  ·  File tools"; }
@media(max-width:1080px){
 html body header.topbar { grid-template-columns:minmax(0,1fr) auto!important; grid-template-areas:"brand lang" "nav nav"!important; padding:8px 16px!important; }
 html body header.topbar .mainnav { width:100%!important; }
 html body header.hd>.hdin { flex-wrap:wrap!important; }
}
@media(max-width:760px){
 html body header.topbar { display:grid!important; grid-template-columns:minmax(0,1fr) auto!important; grid-template-areas:"brand lang" "nav nav"!important; gap:8px!important; padding:8px 12px!important; }
 html body header.topbar>.brand { white-space:normal!important; min-width:0!important; }
 html body header.topbar .filepat-language-switch a { min-width:64px!important; }
 html body header.hd>.hdin { width:calc(100% - 24px)!important; }
 html body .filepat-home-selection-v1 .fp-unified-head { padding-top:52px!important; }
}
@media(max-width:420px){
 html body header.topbar>.brand { font-size:13px!important; }
 html body header.topbar .filepat-language-switch a { min-width:58px!important;padding:5px 6px!important;font-size:11px!important; }
}

html body .filepat-selection-brand{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;margin:0 0 18px!important;padding:12px 14px!important;border:1px solid #d7e2f1!important;border-radius:10px!important;background:#fff!important;color:#29445f!important;font-size:14px!important;font-weight:650!important}
html body .filepat-selection-brand img{display:block!important;width:112px!important;height:auto!important;max-height:32px!important;object-fit:contain!important}
@media(max-width:480px){html body .filepat-selection-brand{align-items:flex-start!important;gap:8px!important;font-size:13px!important}}

/* Higher-specificity language visibility for header brand labels */
html[lang="ja"] body header.topbar>.brand .brand-name .lang-en,html[data-lang="ja"] body header.topbar>.brand .brand-name .lang-en,html[lang="ja"] body header.hd .logo [lang="en"],html[data-lang="ja"] body header.hd .logo [lang="en"]{display:none!important}
html[lang="en"] body header.topbar>.brand .brand-name .lang-ja,html[data-lang="en"] body header.topbar>.brand .brand-name .lang-ja,html[lang="en"] body header.hd .logo [lang="ja"],html[data-lang="en"] body header.hd .logo [lang="ja"]{display:none!important}
html[lang="en"] body header.topbar>.brand .brand-name .lang-en,html[data-lang="en"] body header.topbar>.brand .brand-name .lang-en,html[lang="en"] body header.hd .logo [lang="en"],html[data-lang="en"] body header.hd .logo [lang="en"]{display:inline!important}
html[lang="ja"] body header.topbar>.brand .brand-name .lang-ja,html[data-lang="ja"] body header.topbar>.brand .brand-name .lang-ja,html[lang="ja"] body header.hd .logo [lang="ja"],html[data-lang="ja"] body header.hd .logo [lang="ja"]{display:inline!important}


/* Page-specific practical guides v1: useful supporting content before the footer. */
.page-guide-shell{display:block;width:100%;max-width:none;box-sizing:border-box;margin:48px 0 0;padding:clamp(28px,4vw,52px) clamp(16px,3vw,32px);background:#f5f8fc;border-top:1px solid #dce4ef;color:#24364b;font-family:Inter,"Noto Sans JP","Yu Gothic UI",Meiryo,Arial,sans-serif;line-height:1.85;}
.page-guide-content{width:min(980px,100%);max-width:980px;min-width:0;box-sizing:border-box;margin:0 auto;}
.page-guide-content h2{margin:0 0 16px;padding:0;color:#163f78;font-size:clamp(22px,2.4vw,30px);font-weight:750;line-height:1.4;letter-spacing:.01em;}
.page-guide-content h3{margin:32px 0 12px;padding:0 0 9px;border-bottom:1px solid #d4dfeb;color:#204f8b;font-size:19px;font-weight:700;line-height:1.5;}
.page-guide-content h4{margin:0 0 7px;color:#243b57;font-size:16px;font-weight:700;line-height:1.55;}
.page-guide-content p{margin:0 0 14px;color:#34465c;font-size:15px;line-height:1.9;overflow-wrap:anywhere;}
.page-guide-content .page-guide-lead{margin-bottom:20px;font-size:16px;color:#40546b;}
.page-guide-content ol{margin:0;padding-left:1.5rem;color:#34465c;}
.page-guide-content li{margin:0 0 12px;padding-left:4px;font-size:15px;line-height:1.85;}
.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{margin:0 0 16px;padding:17px 18px;border:1px solid #dce4ee;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(25,55,90,.03);}
.page-guide-content .page-guide-term p,.page-guide-content .page-guide-faq p{margin:0;}
.page-guide-content .page-guide-locale{display:block;}
.page-guide-content .page-guide-bilingual .page-guide-ja,.page-guide-content .page-guide-bilingual .page-guide-en{display:block;}
html[lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja,html[data-lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja{display:none!important;}
html[lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html[data-lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html:not([lang="en"]):not([data-lang="en"]) .page-guide-content .page-guide-bilingual .page-guide-en{display:none!important;}
@media(max-width:640px){.page-guide-shell{margin-top:34px;padding:25px 16px 30px}.page-guide-content h2{font-size:22px}.page-guide-content h3{margin-top:26px;font-size:18px}.page-guide-content h4{font-size:15px}.page-guide-content p,.page-guide-content li{font-size:14px;line-height:1.85}.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{padding:14px 13px;border-radius:8px}}


/* Page-specific practical guides v1: useful supporting content before the footer. */
.page-guide-shell{display:block;width:100%;max-width:none;box-sizing:border-box;margin:48px 0 0;padding:clamp(28px,4vw,52px) clamp(16px,3vw,32px);background:#f5f8fc;border-top:1px solid #dce4ef;color:#24364b;font-family:Inter,"Noto Sans JP","Yu Gothic UI",Meiryo,Arial,sans-serif;line-height:1.85;}
.page-guide-content{width:min(980px,100%);max-width:980px;min-width:0;box-sizing:border-box;margin:0 auto;}
.page-guide-content h2{margin:0 0 16px;padding:0;color:#163f78;font-size:clamp(22px,2.4vw,30px);font-weight:750;line-height:1.4;letter-spacing:.01em;}
.page-guide-content h3{margin:32px 0 12px;padding:0 0 9px;border-bottom:1px solid #d4dfeb;color:#204f8b;font-size:19px;font-weight:700;line-height:1.5;}
.page-guide-content h4{margin:0 0 7px;color:#243b57;font-size:16px;font-weight:700;line-height:1.55;}
.page-guide-content p{margin:0 0 14px;color:#34465c;font-size:15px;line-height:1.9;overflow-wrap:anywhere;}
.page-guide-content .page-guide-lead{margin-bottom:20px;font-size:16px;color:#40546b;}
.page-guide-content ol{margin:0;padding-left:1.5rem;color:#34465c;}
.page-guide-content li{margin:0 0 12px;padding-left:4px;font-size:15px;line-height:1.85;}
.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{margin:0 0 16px;padding:17px 18px;border:1px solid #dce4ee;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(25,55,90,.03);}
.page-guide-content .page-guide-term p,.page-guide-content .page-guide-faq p{margin:0;}
.page-guide-content .page-guide-locale{display:block;}
.page-guide-content .page-guide-bilingual .page-guide-ja,.page-guide-content .page-guide-bilingual .page-guide-en{display:block;}
html[lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja,html[data-lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja{display:none!important;}
html[lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html[data-lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html:not([lang="en"]):not([data-lang="en"]) .page-guide-content .page-guide-bilingual .page-guide-en{display:none!important;}
@media(max-width:640px){.page-guide-shell{margin-top:34px;padding:25px 16px 30px}.page-guide-content h2{font-size:22px}.page-guide-content h3{margin-top:26px;font-size:18px}.page-guide-content h4{font-size:15px}.page-guide-content p,.page-guide-content li{font-size:14px;line-height:1.85}.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{padding:14px 13px;border-radius:8px}}


/* Page-specific practical guides v1: useful supporting content before the footer. */
.page-guide-shell{display:block;width:100%;max-width:none;box-sizing:border-box;margin:48px 0 0;padding:clamp(28px,4vw,52px) clamp(16px,3vw,32px);background:#f5f8fc;border-top:1px solid #dce4ef;color:#24364b;font-family:Inter,"Noto Sans JP","Yu Gothic UI",Meiryo,Arial,sans-serif;line-height:1.85;}
.page-guide-content{width:min(980px,100%);max-width:980px;min-width:0;box-sizing:border-box;margin:0 auto;}
.page-guide-content h2{margin:0 0 16px;padding:0;color:#163f78;font-size:clamp(22px,2.4vw,30px);font-weight:750;line-height:1.4;letter-spacing:.01em;}
.page-guide-content h3{margin:32px 0 12px;padding:0 0 9px;border-bottom:1px solid #d4dfeb;color:#204f8b;font-size:19px;font-weight:700;line-height:1.5;}
.page-guide-content h4{margin:0 0 7px;color:#243b57;font-size:16px;font-weight:700;line-height:1.55;}
.page-guide-content p{margin:0 0 14px;color:#34465c;font-size:15px;line-height:1.9;overflow-wrap:anywhere;}
.page-guide-content .page-guide-lead{margin-bottom:20px;font-size:16px;color:#40546b;}
.page-guide-content ol{margin:0;padding-left:1.5rem;color:#34465c;}
.page-guide-content li{margin:0 0 12px;padding-left:4px;font-size:15px;line-height:1.85;}
.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{margin:0 0 16px;padding:17px 18px;border:1px solid #dce4ee;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(25,55,90,.03);}
.page-guide-content .page-guide-term p,.page-guide-content .page-guide-faq p{margin:0;}
.page-guide-content .page-guide-locale{display:block;}
.page-guide-content .page-guide-bilingual .page-guide-ja,.page-guide-content .page-guide-bilingual .page-guide-en{display:block;}
html[lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja,html[data-lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja{display:none!important;}
html[lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html[data-lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html:not([lang="en"]):not([data-lang="en"]) .page-guide-content .page-guide-bilingual .page-guide-en{display:none!important;}
@media(max-width:640px){.page-guide-shell{margin-top:34px;padding:25px 16px 30px}.page-guide-content h2{font-size:22px}.page-guide-content h3{margin-top:26px;font-size:18px}.page-guide-content h4{font-size:15px}.page-guide-content p,.page-guide-content li{font-size:14px;line-height:1.85}.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{padding:14px 13px;border-radius:8px}}


/* Page-specific practical guides v1: useful supporting content before the footer. */
.page-guide-shell{display:block;width:100%;max-width:none;box-sizing:border-box;margin:48px 0 0;padding:clamp(28px,4vw,52px) clamp(16px,3vw,32px);background:#f5f8fc;border-top:1px solid #dce4ef;color:#24364b;font-family:Inter,"Noto Sans JP","Yu Gothic UI",Meiryo,Arial,sans-serif;line-height:1.85;}
.page-guide-content{width:min(980px,100%);max-width:980px;min-width:0;box-sizing:border-box;margin:0 auto;}
.page-guide-content h2{margin:0 0 16px;padding:0;color:#163f78;font-size:clamp(22px,2.4vw,30px);font-weight:750;line-height:1.4;letter-spacing:.01em;}
.page-guide-content h3{margin:32px 0 12px;padding:0 0 9px;border-bottom:1px solid #d4dfeb;color:#204f8b;font-size:19px;font-weight:700;line-height:1.5;}
.page-guide-content h4{margin:0 0 7px;color:#243b57;font-size:16px;font-weight:700;line-height:1.55;}
.page-guide-content p{margin:0 0 14px;color:#34465c;font-size:15px;line-height:1.9;overflow-wrap:anywhere;}
.page-guide-content .page-guide-lead{margin-bottom:20px;font-size:16px;color:#40546b;}
.page-guide-content ol{margin:0;padding-left:1.5rem;color:#34465c;}
.page-guide-content li{margin:0 0 12px;padding-left:4px;font-size:15px;line-height:1.85;}
.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{margin:0 0 16px;padding:17px 18px;border:1px solid #dce4ee;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(25,55,90,.03);}
.page-guide-content .page-guide-term p,.page-guide-content .page-guide-faq p{margin:0;}
.page-guide-content .page-guide-locale{display:block;}
.page-guide-content .page-guide-bilingual .page-guide-ja,.page-guide-content .page-guide-bilingual .page-guide-en{display:block;}
html[lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja,html[data-lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja{display:none!important;}
html[lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html[data-lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html:not([lang="en"]):not([data-lang="en"]) .page-guide-content .page-guide-bilingual .page-guide-en{display:none!important;}
@media(max-width:640px){.page-guide-shell{margin-top:34px;padding:25px 16px 30px}.page-guide-content h2{font-size:22px}.page-guide-content h3{margin-top:26px;font-size:18px}.page-guide-content h4{font-size:15px}.page-guide-content p,.page-guide-content li{font-size:14px;line-height:1.85}.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{padding:14px 13px;border-radius:8px}}


/* Page-specific practical guides v1: useful supporting content before the footer. */
.page-guide-shell{display:block;width:100%;max-width:none;box-sizing:border-box;margin:48px 0 0;padding:clamp(28px,4vw,52px) clamp(16px,3vw,32px);background:#f5f8fc;border-top:1px solid #dce4ef;color:#24364b;font-family:Inter,"Noto Sans JP","Yu Gothic UI",Meiryo,Arial,sans-serif;line-height:1.85;}
.page-guide-content{width:min(980px,100%);max-width:980px;min-width:0;box-sizing:border-box;margin:0 auto;}
.page-guide-content h2{margin:0 0 16px;padding:0;color:#163f78;font-size:clamp(22px,2.4vw,30px);font-weight:750;line-height:1.4;letter-spacing:.01em;}
.page-guide-content h3{margin:32px 0 12px;padding:0 0 9px;border-bottom:1px solid #d4dfeb;color:#204f8b;font-size:19px;font-weight:700;line-height:1.5;}
.page-guide-content h4{margin:0 0 7px;color:#243b57;font-size:16px;font-weight:700;line-height:1.55;}
.page-guide-content p{margin:0 0 14px;color:#34465c;font-size:15px;line-height:1.9;overflow-wrap:anywhere;}
.page-guide-content .page-guide-lead{margin-bottom:20px;font-size:16px;color:#40546b;}
.page-guide-content ol{margin:0;padding-left:1.5rem;color:#34465c;}
.page-guide-content li{margin:0 0 12px;padding-left:4px;font-size:15px;line-height:1.85;}
.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{margin:0 0 16px;padding:17px 18px;border:1px solid #dce4ee;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(25,55,90,.03);}
.page-guide-content .page-guide-term p,.page-guide-content .page-guide-faq p{margin:0;}
.page-guide-content .page-guide-locale{display:block;}
.page-guide-content .page-guide-bilingual .page-guide-ja,.page-guide-content .page-guide-bilingual .page-guide-en{display:block;}
html[lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja,html[data-lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja{display:none!important;}
html[lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html[data-lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html:not([lang="en"]):not([data-lang="en"]) .page-guide-content .page-guide-bilingual .page-guide-en{display:none!important;}
@media(max-width:640px){.page-guide-shell{margin-top:34px;padding:25px 16px 30px}.page-guide-content h2{font-size:22px}.page-guide-content h3{margin-top:26px;font-size:18px}.page-guide-content h4{font-size:15px}.page-guide-content p,.page-guide-content li{font-size:14px;line-height:1.85}.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{padding:14px 13px;border-radius:8px}}


/* Page-specific practical guides v1: useful supporting content before the footer. */
.page-guide-shell{display:block;width:100%;max-width:none;box-sizing:border-box;margin:48px 0 0;padding:clamp(28px,4vw,52px) clamp(16px,3vw,32px);background:#f5f8fc;border-top:1px solid #dce4ef;color:#24364b;font-family:Inter,"Noto Sans JP","Yu Gothic UI",Meiryo,Arial,sans-serif;line-height:1.85;}
.page-guide-content{width:min(980px,100%);max-width:980px;min-width:0;box-sizing:border-box;margin:0 auto;}
.page-guide-content h2{margin:0 0 16px;padding:0;color:#163f78;font-size:clamp(22px,2.4vw,30px);font-weight:750;line-height:1.4;letter-spacing:.01em;}
.page-guide-content h3{margin:32px 0 12px;padding:0 0 9px;border-bottom:1px solid #d4dfeb;color:#204f8b;font-size:19px;font-weight:700;line-height:1.5;}
.page-guide-content h4{margin:0 0 7px;color:#243b57;font-size:16px;font-weight:700;line-height:1.55;}
.page-guide-content p{margin:0 0 14px;color:#34465c;font-size:15px;line-height:1.9;overflow-wrap:anywhere;}
.page-guide-content .page-guide-lead{margin-bottom:20px;font-size:16px;color:#40546b;}
.page-guide-content ol{margin:0;padding-left:1.5rem;color:#34465c;}
.page-guide-content li{margin:0 0 12px;padding-left:4px;font-size:15px;line-height:1.85;}
.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{margin:0 0 16px;padding:17px 18px;border:1px solid #dce4ee;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(25,55,90,.03);}
.page-guide-content .page-guide-term p,.page-guide-content .page-guide-faq p{margin:0;}
.page-guide-content .page-guide-locale{display:block;}
.page-guide-content .page-guide-bilingual .page-guide-ja,.page-guide-content .page-guide-bilingual .page-guide-en{display:block;}
html[lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja,html[data-lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja{display:none!important;}
html[lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html[data-lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html:not([lang="en"]):not([data-lang="en"]) .page-guide-content .page-guide-bilingual .page-guide-en{display:none!important;}
@media(max-width:640px){.page-guide-shell{margin-top:34px;padding:25px 16px 30px}.page-guide-content h2{font-size:22px}.page-guide-content h3{margin-top:26px;font-size:18px}.page-guide-content h4{font-size:15px}.page-guide-content p,.page-guide-content li{font-size:14px;line-height:1.85}.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{padding:14px 13px;border-radius:8px}}


/* Page-specific practical guides v1: useful supporting content before the footer. */
.page-guide-shell{display:block;width:100%;max-width:none;box-sizing:border-box;margin:48px 0 0;padding:clamp(28px,4vw,52px) clamp(16px,3vw,32px);background:#f5f8fc;border-top:1px solid #dce4ef;color:#24364b;font-family:Inter,"Noto Sans JP","Yu Gothic UI",Meiryo,Arial,sans-serif;line-height:1.85;}
.page-guide-content{width:min(980px,100%);max-width:980px;min-width:0;box-sizing:border-box;margin:0 auto;}
.page-guide-content h2{margin:0 0 16px;padding:0;color:#163f78;font-size:clamp(22px,2.4vw,30px);font-weight:750;line-height:1.4;letter-spacing:.01em;}
.page-guide-content h3{margin:32px 0 12px;padding:0 0 9px;border-bottom:1px solid #d4dfeb;color:#204f8b;font-size:19px;font-weight:700;line-height:1.5;}
.page-guide-content h4{margin:0 0 7px;color:#243b57;font-size:16px;font-weight:700;line-height:1.55;}
.page-guide-content p{margin:0 0 14px;color:#34465c;font-size:15px;line-height:1.9;overflow-wrap:anywhere;}
.page-guide-content .page-guide-lead{margin-bottom:20px;font-size:16px;color:#40546b;}
.page-guide-content ol{margin:0;padding-left:1.5rem;color:#34465c;}
.page-guide-content li{margin:0 0 12px;padding-left:4px;font-size:15px;line-height:1.85;}
.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{margin:0 0 16px;padding:17px 18px;border:1px solid #dce4ee;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(25,55,90,.03);}
.page-guide-content .page-guide-term p,.page-guide-content .page-guide-faq p{margin:0;}
.page-guide-content .page-guide-locale{display:block;}
.page-guide-content .page-guide-bilingual .page-guide-ja,.page-guide-content .page-guide-bilingual .page-guide-en{display:block;}
html[lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja,html[data-lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja{display:none!important;}
html[lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html[data-lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html:not([lang="en"]):not([data-lang="en"]) .page-guide-content .page-guide-bilingual .page-guide-en{display:none!important;}
@media(max-width:640px){.page-guide-shell{margin-top:34px;padding:25px 16px 30px}.page-guide-content h2{font-size:22px}.page-guide-content h3{margin-top:26px;font-size:18px}.page-guide-content h4{font-size:15px}.page-guide-content p,.page-guide-content li{font-size:14px;line-height:1.85}.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{padding:14px 13px;border-radius:8px}}


/* Page-specific practical guides v1: useful supporting content before the footer. */
.page-guide-shell{display:block;width:100%;max-width:none;box-sizing:border-box;margin:48px 0 0;padding:clamp(28px,4vw,52px) clamp(16px,3vw,32px);background:#f5f8fc;border-top:1px solid #dce4ef;color:#24364b;font-family:Inter,"Noto Sans JP","Yu Gothic UI",Meiryo,Arial,sans-serif;line-height:1.85;}
.page-guide-content{width:min(980px,100%);max-width:980px;min-width:0;box-sizing:border-box;margin:0 auto;}
.page-guide-content h2{margin:0 0 16px;padding:0;color:#163f78;font-size:clamp(22px,2.4vw,30px);font-weight:750;line-height:1.4;letter-spacing:.01em;}
.page-guide-content h3{margin:32px 0 12px;padding:0 0 9px;border-bottom:1px solid #d4dfeb;color:#204f8b;font-size:19px;font-weight:700;line-height:1.5;}
.page-guide-content h4{margin:0 0 7px;color:#243b57;font-size:16px;font-weight:700;line-height:1.55;}
.page-guide-content p{margin:0 0 14px;color:#34465c;font-size:15px;line-height:1.9;overflow-wrap:anywhere;}
.page-guide-content .page-guide-lead{margin-bottom:20px;font-size:16px;color:#40546b;}
.page-guide-content ol{margin:0;padding-left:1.5rem;color:#34465c;}
.page-guide-content li{margin:0 0 12px;padding-left:4px;font-size:15px;line-height:1.85;}
.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{margin:0 0 16px;padding:17px 18px;border:1px solid #dce4ee;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(25,55,90,.03);}
.page-guide-content .page-guide-term p,.page-guide-content .page-guide-faq p{margin:0;}
.page-guide-content .page-guide-locale{display:block;}
.page-guide-content .page-guide-bilingual .page-guide-ja,.page-guide-content .page-guide-bilingual .page-guide-en{display:block;}
html[lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja,html[data-lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja{display:none!important;}
html[lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html[data-lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html:not([lang="en"]):not([data-lang="en"]) .page-guide-content .page-guide-bilingual .page-guide-en{display:none!important;}
@media(max-width:640px){.page-guide-shell{margin-top:34px;padding:25px 16px 30px}.page-guide-content h2{font-size:22px}.page-guide-content h3{margin-top:26px;font-size:18px}.page-guide-content h4{font-size:15px}.page-guide-content p,.page-guide-content li{font-size:14px;line-height:1.85}.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{padding:14px 13px;border-radius:8px}}


/* Page-specific practical guides v1: useful supporting content before the footer. */
.page-guide-shell{display:block;width:100%;max-width:none;box-sizing:border-box;margin:48px 0 0;padding:clamp(28px,4vw,52px) clamp(16px,3vw,32px);background:#f5f8fc;border-top:1px solid #dce4ef;color:#24364b;font-family:Inter,"Noto Sans JP","Yu Gothic UI",Meiryo,Arial,sans-serif;line-height:1.85;}
.page-guide-content{width:min(980px,100%);max-width:980px;min-width:0;box-sizing:border-box;margin:0 auto;}
.page-guide-content h2{margin:0 0 16px;padding:0;color:#163f78;font-size:clamp(22px,2.4vw,30px);font-weight:750;line-height:1.4;letter-spacing:.01em;}
.page-guide-content h3{margin:32px 0 12px;padding:0 0 9px;border-bottom:1px solid #d4dfeb;color:#204f8b;font-size:19px;font-weight:700;line-height:1.5;}
.page-guide-content h4{margin:0 0 7px;color:#243b57;font-size:16px;font-weight:700;line-height:1.55;}
.page-guide-content p{margin:0 0 14px;color:#34465c;font-size:15px;line-height:1.9;overflow-wrap:anywhere;}
.page-guide-content .page-guide-lead{margin-bottom:20px;font-size:16px;color:#40546b;}
.page-guide-content ol{margin:0;padding-left:1.5rem;color:#34465c;}
.page-guide-content li{margin:0 0 12px;padding-left:4px;font-size:15px;line-height:1.85;}
.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{margin:0 0 16px;padding:17px 18px;border:1px solid #dce4ee;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(25,55,90,.03);}
.page-guide-content .page-guide-term p,.page-guide-content .page-guide-faq p{margin:0;}
.page-guide-content .page-guide-locale{display:block;}
.page-guide-content .page-guide-bilingual .page-guide-ja,.page-guide-content .page-guide-bilingual .page-guide-en{display:block;}
html[lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja,html[data-lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja{display:none!important;}
html[lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html[data-lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html:not([lang="en"]):not([data-lang="en"]) .page-guide-content .page-guide-bilingual .page-guide-en{display:none!important;}
@media(max-width:640px){.page-guide-shell{margin-top:34px;padding:25px 16px 30px}.page-guide-content h2{font-size:22px}.page-guide-content h3{margin-top:26px;font-size:18px}.page-guide-content h4{font-size:15px}.page-guide-content p,.page-guide-content li{font-size:14px;line-height:1.85}.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{padding:14px 13px;border-radius:8px}}


/* Page-specific practical guides v1: useful supporting content before the footer. */
.page-guide-shell{display:block;width:100%;max-width:none;box-sizing:border-box;margin:48px 0 0;padding:clamp(28px,4vw,52px) clamp(16px,3vw,32px);background:#f5f8fc;border-top:1px solid #dce4ef;color:#24364b;font-family:Inter,"Noto Sans JP","Yu Gothic UI",Meiryo,Arial,sans-serif;line-height:1.85;}
.page-guide-content{width:min(980px,100%);max-width:980px;min-width:0;box-sizing:border-box;margin:0 auto;}
.page-guide-content h2{margin:0 0 16px;padding:0;color:#163f78;font-size:clamp(22px,2.4vw,30px);font-weight:750;line-height:1.4;letter-spacing:.01em;}
.page-guide-content h3{margin:32px 0 12px;padding:0 0 9px;border-bottom:1px solid #d4dfeb;color:#204f8b;font-size:19px;font-weight:700;line-height:1.5;}
.page-guide-content h4{margin:0 0 7px;color:#243b57;font-size:16px;font-weight:700;line-height:1.55;}
.page-guide-content p{margin:0 0 14px;color:#34465c;font-size:15px;line-height:1.9;overflow-wrap:anywhere;}
.page-guide-content .page-guide-lead{margin-bottom:20px;font-size:16px;color:#40546b;}
.page-guide-content ol{margin:0;padding-left:1.5rem;color:#34465c;}
.page-guide-content li{margin:0 0 12px;padding-left:4px;font-size:15px;line-height:1.85;}
.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{margin:0 0 16px;padding:17px 18px;border:1px solid #dce4ee;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(25,55,90,.03);}
.page-guide-content .page-guide-term p,.page-guide-content .page-guide-faq p{margin:0;}
.page-guide-content .page-guide-locale{display:block;}
.page-guide-content .page-guide-bilingual .page-guide-ja,.page-guide-content .page-guide-bilingual .page-guide-en{display:block;}
html[lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja,html[data-lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja{display:none!important;}
html[lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html[data-lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,html:not([lang="en"]):not([data-lang="en"]) .page-guide-content .page-guide-bilingual .page-guide-en{display:none!important;}
@media(max-width:640px){.page-guide-shell{margin-top:34px;padding:25px 16px 30px}.page-guide-content h2{font-size:22px}.page-guide-content h3{margin-top:26px;font-size:18px}.page-guide-content h4{font-size:15px}.page-guide-content p,.page-guide-content li{font-size:14px;line-height:1.85}.page-guide-content .page-guide-term,.page-guide-content .page-guide-faq{padding:14px 13px;border-radius:8px}}


/* Practical guide: plain editorial/legal-document layout (no cards). */
.page-guide-shell {
  width: 100%;
  max-width: none;
  margin: 44px 0 0;
  padding: clamp(28px, 4vw, 48px) 20px 60px;
  box-sizing: border-box;
  color: #202c3a;
  background: #fff;
  border-top: 1px solid #e1e6ed;
  font-family: Inter, "Noto Sans JP", "Yu Gothic UI", Meiryo, Arial, sans-serif;
  line-height: 1.9;
}
.page-guide-content {
  width: min(1120px, 100%);
  max-width: 1120px;
  min-width: 0;
  margin: 0 auto;
  box-sizing: border-box;
}
.page-guide-content h2 {
  margin: 0 0 16px;
  padding: 0 0 14px;
  color: #163f78;
  border-bottom: 1px solid #dce3ec;
  font-size: clamp(23px, 2.4vw, 30px);
  font-weight: 750;
  line-height: 1.45;
}
.page-guide-content h3 {
  margin: 36px 0 14px;
  padding: 0 0 9px;
  color: #204f8b;
  border-bottom: 1px solid #dce3ec;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.55;
}
.page-guide-content h4 {
  margin: 0 0 6px;
  color: #243b57;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}
.page-guide-content p {
  margin: 0 0 15px;
  color: #34465c;
  font-size: 15px;
  line-height: 1.95;
  overflow-wrap: anywhere;
}
.page-guide-content .page-guide-lead {
  max-width: 100ch;
  margin: 0 0 24px;
  color: #40546b;
  font-size: 16px;
  line-height: 1.9;
}
.page-guide-content ol,
.page-guide-content ul {
  margin: 0 0 20px;
  padding-left: 1.5rem;
  color: #34465c;
}
.page-guide-content li {
  margin: 0 0 10px;
  padding-left: 4px;
  font-size: 15px;
  line-height: 1.9;
}
/* These used to look like separate cards. Render them as plain document sections. */
.page-guide-content .page-guide-term,
.page-guide-content .page-guide-faq {
  display: block;
  margin: 0 0 21px;
  padding: 0 0 17px;
  border: 0;
  border-bottom: 1px solid #e4e8ee;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.page-guide-content .page-guide-term p,
.page-guide-content .page-guide-faq p {
  margin: 0 0 11px;
}
.page-guide-content .page-guide-term p:last-child,
.page-guide-content .page-guide-faq p:last-child {
  margin-bottom: 0;
}
.page-guide-content .page-guide-locale { display: block; }
.page-guide-content .page-guide-bilingual .page-guide-ja,
.page-guide-content .page-guide-bilingual .page-guide-en { display: block; }
html[lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja,
html[data-lang="en"] .page-guide-content .page-guide-bilingual .page-guide-ja { display: none !important; }
html[lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,
html[data-lang="ja"] .page-guide-content .page-guide-bilingual .page-guide-en,
html:not([lang="en"]):not([data-lang="en"]) .page-guide-content .page-guide-bilingual .page-guide-en { display: none !important; }
@media (min-width: 1500px) {
  .page-guide-content { width: min(1160px, 100%); max-width: 1160px; }
}
@media (max-width: 640px) {
  .page-guide-shell { margin-top: 30px; padding: 26px 18px 40px; }
  .page-guide-content h2 { font-size: 22px; }
  .page-guide-content h3 { margin-top: 29px; font-size: 18px; }
  .page-guide-content h4 { font-size: 15px; }
  .page-guide-content p,
  .page-guide-content li { font-size: 14px; line-height: 1.9; }
  .page-guide-content .page-guide-term,
  .page-guide-content .page-guide-faq { margin-bottom: 18px; padding-bottom: 15px; }
}


/* Homepage: align the guide headings and site information with the calculator catalogue column. */
html[data-site-group="index.html"] .page-guide-content {
  width: min(844px, 100%);
  max-width: 844px;
  margin-left: auto;
  margin-right: auto;
}
html[data-site-group="index.html"] .home-site-info {
  margin: 0 0 44px;
  padding: 0 0 36px;
  border-bottom: 1px solid #e1e6ed;
}
html[data-site-group="index.html"] .home-site-info h2 + p { margin-top: 0; }
html[data-site-group="index.html"] .home-site-info ol { margin-bottom: 0; }
@media (max-width: 640px) {
  html[data-site-group="index.html"] .page-guide-content { width: 100%; max-width: 100%; }
  html[data-site-group="index.html"] .home-site-info { margin-bottom: 34px; padding-bottom: 28px; }
}

/* Homepage editorial section: align every heading to the calculator catalogue text column. */
html[data-site-group="index.html"] .page-guide-content h2 {
  background: transparent !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  padding: 0 0 14px !important;
  box-shadow: none !important;
}

/* Final alignment polish: brand size and back-to-top arrow centering */
.fp-back-to-top{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  line-height:1!important;
  text-align:center!important;
}
.fp-back-to-top::first-letter{line-height:1!important;}
.fp-back-to-top{ transform:translateY(0)!important; }
@media(max-width:600px){
  html body header.topbar>.brand .brand-name{font-size:20px!important;}
  .fp-back-to-top{right:16px!important;bottom:16px!important;}
}
