		/* Header branding: the supplied crest is the logo; the adjacent text is not repeated. */
		.will-static-page .header .brand>span{display:none}
		.will-static-page .header .brand img{width:96px;height:76px;object-fit:contain}
		.will-static-page .header-advisor{margin:0;padding:2px 0 2px 10px;border-left:1px solid var(--gold);color:#536477;font-size:15px;font-weight:600;line-height:1.55;letter-spacing:.02em;white-space:nowrap}
		.will-static-page .header-contact a{font-size:24px!important;white-space:nowrap}
		.will-static-page .header-contact span{font-size:13px!important}
		.will-static-page .header-advisor span{display:inline}
		.will-static-page .header-advisor button{margin:0 2px;padding:4px 10px;border:1px solid var(--gold);border-radius:999px;background:var(--gold);color:#fff;font:700 10px/1.2 "Noto Sans JP",sans-serif;letter-spacing:.06em;vertical-align:1px;cursor:pointer}
		.will-static-page .hero .checklist li::before{line-height:1;padding-bottom:2px;font-family:"Noto Sans JP",sans-serif}
		.will-static-page h1[id]{font-size:clamp(32px,4.3vw,57px)}
		.will-static-page h2[id]{font-size:clamp(24px,2.4vw,31px)}
		.will-static-page .final h2,.will-static-page .cta h2{color:#fff}
		@media(max-width:820px){.will-static-page .header .brand{flex:0 0 60px}.will-static-page .header .brand img{width:60px;height:60px}.will-static-page .header-inner{width:calc(100% - 20px);gap:5px}.will-static-page .header-advisor{order:1;flex:0 1 130px;margin-left:8px;padding:2px 0;border-left:0;font-size:10px;line-height:1.45;letter-spacing:-.03em;white-space:normal}.will-static-page .header-advisor button{margin:0;padding:3px 7px;font-size:9px}.will-static-page .header-advisor span{display:inline}.will-static-page .header-contact{order:2;flex:0 0 auto;min-width:100px;margin-left:0;text-align:right}.will-static-page .header-contact a{font-size:14px!important;letter-spacing:0;white-space:nowrap}.will-static-page .header-contact span{font-size:10px!important;white-space:nowrap}.will-static-page .menu-toggle{order:3;flex:0 0 48px;margin-left:auto}.will-static-page h1[id]{font-size:clamp(30px,9.8vw,39px)}.will-static-page h2[id]{font-size:clamp(22px,6.2vw,28px)}}
@media(max-width:480px){.will-static-page h2[id]{gap:6px;font-size:clamp(20px,5.5vw,22px);letter-spacing:0;white-space:nowrap}.will-static-page h2[id]::before,.will-static-page h2[id]::after{display:block;width:clamp(12px,4vw,20px);flex:0 0 auto}.will-static-page #report-title{display:flex;align-items:center;justify-content:center;gap:7px;font-size:clamp(18px,5.1vw,21px)!important;letter-spacing:-.045em}.will-static-page #report-title::before,.will-static-page #report-title::after{display:block;width:14px!important;flex:0 0 14px;margin:0!important}.will-static-page .key-stats-panel #key-stats-title{gap:11px;font-size:20px!important;letter-spacing:.04em}.will-static-page .key-stats-panel #key-stats-title::before{display:grid;width:21px;height:21px;flex:0 0 21px;margin:0!important;line-height:1;transform:translateY(-1px)}.will-static-page .key-stats-panel #key-stats-title::after{display:none!important;content:none!important}}

/* Shared interaction treatment: keyboard focus and touch-friendly report tables. */
/* Shared design tokens for the static-page renderer.
   Use html rather than :root so they also apply reliably inside the generated page wrapper. */
html {
  --navy: #08274e;
  --deep: #041a35;
  --gold: #a68145;
  --paper: #f8f7f4;
  --soft: #edf0f1;
  --line: #d5dade;
  --text: #263747;
  --muted: #536373;
}

.will-static-page :where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #d4a849;outline-offset:3px}
.will-static-page .table-scroll{position:relative;overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;scrollbar-color:#a68145 #e5e9ec;scrollbar-width:thin}
.will-static-page .table-scroll :is(th,td){white-space:nowrap}
@media(max-width:900px){.will-static-page .table-scroll{margin-bottom:30px;padding-bottom:4px;border-bottom:1px solid #a68145}.will-static-page .table-scroll::after{position:absolute;right:0;bottom:-24px;color:#a68145;font-family:"Noto Sans JP",sans-serif;font-size:12px;font-weight:700;letter-spacing:.04em;content:"横にスワイプ  →"}}

/* SP header: the phone and reception hours sit above the consultation location. */
@media(max-width:820px){
  .will-static-page .header-inner{
    display:grid;
    grid-template-columns:60px minmax(0,1fr) 48px;
    grid-template-rows:auto auto;
    column-gap:10px;
    row-gap:1px;
    min-height:92px;
    padding-block:7px;
  }
  .will-static-page .header .brand{grid-column:1;grid-row:1 / span 2;align-self:center;margin:0}
  .will-static-page .header-contact{
    grid-column:2;
    grid-row:1;
    justify-self:center;
    min-width:0;
    margin:0;
    text-align:center;
    white-space:nowrap;
  }
  .will-static-page .header-contact a{font-size:17px!important;line-height:1.1}
  .will-static-page .header-contact span{font-size:11px!important;line-height:1.25}
  .will-static-page .header-advisor{
    grid-column:2;
    grid-row:2;
    justify-self:center;
    min-width:0;
    margin:0;
    padding:0;
    border:0;
    color:#536477;
    font-size:12px;
    font-weight:700;
    line-height:1.3;
    letter-spacing:-.02em;
    text-align:center;
  }
  .will-static-page .header-advisor button{padding:3px 8px;font-size:10px;vertical-align:1px}
  .will-static-page .menu-toggle{grid-column:3;grid-row:1 / span 2;justify-self:end;align-self:center;margin:0}
  .will-static-page .header .nav{top:92px;height:calc(100dvh - 92px)}
}

/* Keep each SP contact message on one line by letting the consultation row use the full header width. */
@media(max-width:820px){
  .will-static-page .header-inner{
    grid-template-rows:60px auto;
    row-gap:3px;
    min-height:101px;
    padding-block:5px;
  }
  .will-static-page .header .brand{grid-row:1}
  .will-static-page .header-contact{grid-row:1}
  .will-static-page .menu-toggle{grid-row:1}
  .will-static-page .header-advisor{
    grid-column:1 / -1;
    grid-row:2;
    font-size:14px;
    line-height:1.35;
    letter-spacing:-.04em;
    white-space:nowrap;
  }
  .will-static-page .header-advisor span{display:none}
  .will-static-page .header-contact a{font-size:18px!important}
  .will-static-page .header-contact span{font-size:12px!important}
  .will-static-page .header-advisor button{padding:3px 9px;font-size:11px}
  .will-static-page .header .nav{top:101px;height:calc(100dvh - 101px)}
}

@media(max-width:820px){
  .will-static-page .header-contact{display:flex;align-items:baseline;justify-content:center;gap:7px}
  .will-static-page .header-contact span{display:inline;white-space:nowrap}
}

/* On smaller screens, keep the location note and contact details side by side. */
@media(max-width:820px){
  .will-static-page .header-inner{
    grid-template-columns:60px minmax(0,1fr) 48px;
    grid-template-rows:60px auto;
    column-gap:10px;
    row-gap:2px;
    min-height:98px;
    padding-block:5px;
  }
  .will-static-page .header .brand{grid-column:1;grid-row:1}
  .will-static-page .header-advisor{
    grid-column:1 / -1;
    grid-row:2;
    align-self:start;
    font-size:12px;
    line-height:1.35;
    letter-spacing:-.04em;
    text-align:center;
    white-space:nowrap;
  }
  .will-static-page .header-advisor span{display:none}
  .will-static-page .header-contact{
    display:flex;
    grid-column:2;
    grid-row:1;
    align-items:baseline;
    align-self:center;
    gap:7px;
    justify-self:center;
    text-align:center;
    white-space:nowrap;
  }
  .will-static-page .header-contact a{font-size:18px!important;line-height:1.1}
  .will-static-page .header-contact span{display:inline;font-size:12px!important;line-height:1.25;white-space:nowrap}
  .will-static-page .menu-toggle{grid-column:3;grid-row:1}
  .will-static-page .header .nav{top:98px;height:calc(100dvh - 98px)}
}

/* Keep the phone and consultation note within the logo-height header on SP. */
@media(max-width:820px){
  .will-static-page .header-inner{
    grid-template-rows:60px;
    min-height:70px;
    padding-block:5px;
  }
  .will-static-page .header-contact{
    grid-column:2;
    grid-row:1;
    align-self:start;
    margin-top:6px;
  }
  .will-static-page .header-advisor{
    grid-column:2;
    grid-row:1;
    align-self:end;
    margin-bottom:4px;
    font-size:10px;
    line-height:1.1;
    letter-spacing:-.06em;
    white-space:nowrap;
  }
  .will-static-page .header-advisor span{display:none}
  .will-static-page .header-advisor button{padding:2px 6px;font-size:9px}
  .will-static-page .header .nav{top:70px;height:calc(100dvh - 70px)}
}

/* Final mobile alignment for the legacy static-page header.
   The contact note is injected after the navigation, so it needs explicit
   placement rather than taking part in the old two-row grid. */
@media(max-width:820px){
  .will-static-page .header .header-inner{
    display:grid;
    grid-template-columns:56px minmax(0, 1fr) 48px;
    grid-template-rows:104px;
    align-items:center;
    column-gap:8px;
    height:104px;
    min-height:104px;
    padding:0 10px;
  }
  .will-static-page .header .brand{
    grid-column:1;
    grid-row:1;
    align-self:center;
    justify-self:start;
    margin:0;
  }
  .will-static-page .header .brand img{width:56px;height:56px}
  .will-static-page .header .header-contact{
    display:flex;
    grid-column:2;
    grid-row:1;
    align-items:baseline;
    justify-self:center;
    gap:6px;
    min-width:0;
    margin:-23px 0 0;
    color:var(--navy);
    line-height:1;
    text-align:center;
    white-space:nowrap;
  }
  .will-static-page .header .header-contact a{
    font-size:18px!important;
    line-height:1;
    white-space:nowrap;
  }
  .will-static-page .header .header-contact span{
    display:inline;
    font-size:11px!important;
    line-height:1;
    white-space:nowrap;
  }
  .will-static-page .header .header-advisor{
    grid-column:2;
    grid-row:1;
    align-self:center;
    justify-self:center;
    margin:28px 0 0;
    padding:0;
    border:0;
    color:#536477;
    font-size:11px;
    font-weight:600;
    line-height:1.2;
    letter-spacing:-.04em;
    text-align:center;
    white-space:nowrap;
  }
  .will-static-page .header .header-advisor span{display:none}
  .will-static-page .header .header-advisor button{padding:2px 6px;font-size:10px}
  .will-static-page .header .menu-toggle{
    grid-column:3;
    grid-row:1;
    align-self:center;
    justify-self:end;
    margin:0;
  }
  .will-static-page .header .nav{top:104px;height:calc(100dvh - 104px)}
}

/* Static pages now use the shared block-theme header. Keep its three visual
   groups aligned independently on small screens. */
@media(max-width:820px){
  .will-static-page .will-header .will-header__inner{
    display:grid!important;
    grid-template-columns:56px minmax(0, 1fr) 48px;
    grid-template-rows:104px;
    align-items:center;
    column-gap:8px;
    height:104px;
    min-height:104px;
    padding:0 10px;
  }
  .will-static-page .will-header .will-brand{
    grid-column:1;
    grid-row:1;
    align-self:center;
    justify-self:start;
    margin:0;
  }
  .will-static-page .will-header .will-brand img{width:56px;height:56px}
  .will-static-page .will-header .will-header__info{
    display:block!important;
    grid-column:2;
    grid-row:1;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    justify-self:center;
    min-width:0;
    margin:0;
    text-align:center;
  }
  .will-static-page .will-header .will-header__contact{
    display:flex!important;
    align-items:baseline;
    justify-content:center;
    gap:6px;
    margin:0 0 4px;
    line-height:1;
    text-align:center;
    white-space:nowrap;
  }
  .will-static-page .will-header .will-header__contact a{
    font-size:18px!important;
    line-height:1;
    white-space:nowrap;
  }
  .will-static-page .will-header .will-header__contact small{
    display:inline;
    font-size:11px!important;
    line-height:1;
    white-space:nowrap;
  }
  .will-static-page .will-header .will-header__advisor{
    margin:0;
    padding:0;
    border:0;
    color:#536477;
    font-size:11px;
    font-weight:600;
    line-height:1.2;
    letter-spacing:-.04em;
    text-align:center;
    white-space:nowrap;
  }
  .will-static-page .will-header .will-header__advisor-break{display:none}
  .will-static-page .will-header .will-header__advisor button{padding:2px 6px;font-size:10px}
  .will-static-page .will-header .will-menu-toggle{
    grid-column:3;
    grid-row:1;
    align-self:center;
    justify-self:end;
    margin:0;
  }
  .will-static-page .will-header .will-header__cta{display:none}
  .will-static-page .will-header .will-navigation{
    top:104px;
    height:calc(100dvh - 104px);
  }
}

@media(max-width:820px){
  .will-static-page .will-header .will-header__info{}
  .will-static-page .will-header .will-header__info .will-header__contact,
  .will-static-page .will-header .will-header__info .will-header__advisor{width:100%}
  .will-static-page .will-header .will-header__info .will-header__advisor{
    font-size:11px;
    line-height:1.3;
    letter-spacing:-.05em;
  }
}

	
