/* Top-page layout and page-specific components. */
:root {
  --nx-navy:#123644;
  --nx-blue:#2358df;
  --nx-green:#42d891;
  --nx-darkgreen:#08784e;
  --nx-ink:#123644;
  --nx-muted:#466573;
  --nx-line:#c9dfe1;
  --nx-paper:#fff;
  --nx-ease:cubic-bezier(.2,.7,.2,1);
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:130px;
}

.nx-site {
  margin:0!important;
  background:#fff!important;
  color:var(--nx-ink)!important;
  font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif!important;
  font-size:16px!important;
  line-height:1.85!important;
  overflow-x:clip;
}

.nx-site * {
  box-sizing:border-box;
}

.nx-site h1,.nx-site h2,.nx-site h3,.nx-site p {
  margin:0;
}

.nx-site h1,.nx-site h2,.nx-site h3 {
  font-family:inherit;
  letter-spacing:-.045em;
  font-weight:900;
  line-height:1.3;
  border:0!important;
  padding:0!important;
  background:none!important;
  box-shadow:none!important;
  text-wrap:pretty;
}

.nx-site h1:before,.nx-site h1:after,.nx-site h2:before,.nx-site h2:after,.nx-site h3:before,.nx-site h3:after {
  content:none!important;
}

.nx-site p,.nx-site li,.nx-site dd {
  font-family:inherit!important;
}

.nx-site a {
  color:inherit;
  text-decoration:none;
}

.nx-site img {
  max-width:100%;
  height:auto;
  display:block;
}

.nx-site button,.nx-site input {
  font:inherit;
}

.nx-site button {
  cursor:pointer;
}

.nx-site [hidden] {
  display:none!important;
}

.nx-site a:focus-visible,.nx-site button:focus-visible,.nx-site summary:focus-visible,.nx-site input:focus-visible {
  outline:3px solid var(--nx-blue);
  outline-offset:5px;
}

.nx-container {
  width:min(1440px,calc(100% - 112px));
  margin:0 auto;
}

.nx-skip {
  position:fixed;
  left:16px;
  top:-100px;
  background:#fff;
  padding:12px 24px;
  z-index:100001;
}

.nx-skip:focus {
  top:50px;
}

.nx-header {
  position:sticky;
  top:0;
  z-index:1000;
  background:#fffffff2;
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--nx-line);
}

.admin-bar .nx-header {
  top:32px;
}

.nx-header-inner {
  min-height:96px;
  display:flex;
  align-items:center;
  gap:26px;
  position:relative;
}

.nx-brand {
  flex-shrink:0;
  display:block;
  line-height:1.25;
}

.nx-brand>span {
  display:block;
  font-size:10px;
  letter-spacing:.1em;
  margin-bottom:5px;
}

.nx-brand strong {
  display:flex;
  align-items:center;
  font-size:36px;
  letter-spacing:.015em;
  font-weight:900;
}

.nx-brand-dot {
  width:10px;
  height:10px;
  margin-left:10px;
  background:var(--nx-green);
  border-radius:50%;
}

.nx-nav {
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:20px;
}

.nx-nav a {
  font-size:12px;
  font-weight:700;
  position:relative;
  padding:12px 0;
  white-space:nowrap;
}

.nx-nav a:after {
  content:'';
  height:2px;
  position:absolute;
  bottom:3px;
  left:0;
  right:0;
  background:var(--nx-blue);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .3s;
}

.nx-nav a:hover:after,.nx-nav a[aria-current]:after {
  transform:scaleX(1);
}

.nx-header-tools {
  display:flex;
  gap:8px;
  align-items:center;
}

.nv-search-toggle {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:48px;
  min-height:48px;
  background:none;
  border:1px solid var(--nx-line);
  color:var(--nx-navy);
  font-size:12px;
}

.nv-search-toggle svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}

.nx-menu {
  display:none;
  border:0;
  background:var(--nx-navy);
  color:#fff;
  padding:12px 16px;
  font-size:12px;
  min-height:48px;
}

.nx-menu span {
  margin-left:10px;
}

.nx-motion {
  border:0;
  background:none;
  font-size:11px!important;
  line-height:1.4;
  color:var(--nx-muted);
  padding:12px 0;
  min-height:44px;
  white-space:nowrap;
}

.nx-motion:before {
  content:'Ⅱ';
  margin-right:6px;
}

.nx-motion[aria-pressed=true]:before {
  content:'▷';
}

.nv-menu-motion {
  display:none;
}

.nx-progress {
  position:absolute;
  bottom:-1px;
  left:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,var(--nx-blue),var(--nx-green));
  transform:scaleX(0);
  transform-origin:left;
  pointer-events:none;
}

.nx-button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  min-height:58px;
  padding:16px 26px;
  background:var(--nx-blue);
  color:#fff!important;
  border-radius:0;
  font-weight:700;
  transition:background .25s,transform .35s var(--nx-ease);
}

.nx-button:hover {
  background:var(--nx-navy);
  transform:translateY(-3px);
}

.nv-text-link {
  display:inline-block;
  border-bottom:1px solid currentColor;
  padding:10px 0;
  font-size:13px;
  font-weight:700;
  line-height:1.7;
}

.nv-text-link:hover {
  color:var(--nx-blue);
}

.nv-eyebrow {
  display:block;
  font:700 11px/1.6 Arial,'Yu Gothic',sans-serif;
  letter-spacing:.16em;
  margin-bottom:28px;
  color:var(--nx-darkgreen);
}

.nv-search-form {
  display:flex;
  align-items:stretch;
  width:100%;
  min-height:56px;
  border:1px solid #93b7c4;
  background:#fff;
  margin:0;
}

.nv-search-form input {
  flex:1;
  width:0;
  min-width:0;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  border-radius:0!important;
  padding:14px 18px!important;
  color:var(--nx-ink)!important;
  height:auto!important;
}

.nv-search-form button {
  background:var(--nx-navy);
  color:#fff;
  min-width:90px;
  border:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  padding:14px 18px;
}

.nv-search-form button:hover {
  background:var(--nx-blue);
}

.nv-sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.nv-search-dialog {
  border:1px solid var(--nx-line);
  background:linear-gradient(120deg,#effaf4,#e7f4ff);
  color:var(--nx-ink);
  width:min(800px,calc(100% - 40px));
  max-height:calc(100% - 40px);
  padding:0;
  box-shadow:0 25px 80px #12364440;
}

.nv-search-dialog::backdrop {
  background:#12364490;
  backdrop-filter:blur(6px);
}

.nv-dialog-inner {
  position:relative;
  padding:65px 55px 50px;
}

.nv-search-close {
  position:absolute;
  right:20px;
  top:16px;
  background:none;
  border:0;
  padding:10px;
  color:var(--nx-ink);
  font-size:12px;
  min-height:44px;
}

.nv-dialog-inner h2 {
  font-size:43px;
  line-height:1.5;
  margin-bottom:35px!important;
}

.nv-dialog-inner>p {
  font-size:13px;
  line-height:1.9;
  color:var(--nx-muted);
  margin:25px 0!important;
}

.nv-search-hints {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.nv-search-hints a {
  border:1px solid var(--nx-line);
  padding:10px 15px;
  font-size:12px;
  background:#fff;
}

.nx-ready [data-reveal] {
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s var(--nx-ease),transform .7s var(--nx-ease);
}

.nx-ready [data-reveal].nx-visible {
  opacity:1;
  transform:none;
}

.nx-motion-off [data-reveal] {
  opacity:1!important;
  transform:none!important;
}

.nx-site #page_top {
  display:none!important;
}

/* Reading and interaction form the site's barrier-free visual language. */
.nx-site {
  --nx-muted:#3e5967;
}

.nx-site a,.nx-site button,.nx-site summary {
  touch-action:manipulation;
}

.nx-site .nx-nav a {
  font-size:14px;
  min-height:48px;
}

.nx-site .nv-text-link {
  min-height:48px;
  display:inline-flex;
  align-items:center;
}

.nx-site .nx-footer nav a {
  padding:12px 0;
  min-height:48px;
  font-size:14px;
}

.nx-site .nv-policy-copy p,.nx-site .nv-outcome-content p,.nx-site .nv-news-intro,.nx-site .nv-story-message,.nx-site .uv15-content p {
  font-size:17px!important;
  line-height:2!important;
}

.nx-site .nv-report-copy>p,.nx-site .nv-latest-body>span {
  font-size:15px!important;
  line-height:1.9!important;
}

.nx-site .nv-outcome summary {
  min-height:80px;
}

.nx-site .nv-timeline dt {
  font-size:13px;
}

.nx-site .nv-timeline dd {
  font-size:17px;
}

.nx-site .nv-search-hints a {
  min-height:48px;
  display:inline-flex;
  align-items:center;
}

.nx-site .nv-hero-lead {
  font-size:18px;
  line-height:1.8;
}

.nv-lived-perspective {
  display:block;
  margin:22px 0 0!important;
  padding:0 0 0 16px;
  border-left:3px solid #268863;
  color:#245a46;
  font-size:16px;
  line-height:1.9;
  font-weight:700;
  max-width:32em;
}

.nx-site .nv-hero:before {
  content:none;
}

.nx-site .nv-name {
  letter-spacing:-.06em;
}

.nx-access-bar {
  padding:8px 0;
  background:#f3faf7;
  border-bottom:1px solid #cbded7;
}

.nx-access-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.nx-access-motto {
  font-size:12px;
  color:#285946;
}

.nx-access-open {
  background:none;
  border:0;
  color:#123644;
  display:flex;
  gap:10px;
  align-items:center;
  min-height:44px;
  padding:8px 12px;
  font-size:13px!important;
  font-weight:700;
}

.nx-access-open svg {
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
}

.nx-access-dialog {
  width:min(560px,calc(100% - 32px));
  max-height:calc(100% - 32px);
  padding:32px;
  border:1px solid #b9d6cb;
  border-radius:16px;
  background:#f4fbf8;
  color:#123644;
  box-shadow:0 24px 80px #12364440;
}

.nx-access-dialog::backdrop {
  background:#12364480;
}

.nx-access-dialog h2 {
  font-size:26px;
  margin:20px 0!important;
  line-height:1.5;
}

.nx-access-dialog p {
  font-size:15px;
  line-height:1.9;
  margin:0 0 20px!important;
}

.nx-access-close {
  display:block;
  margin-left:auto;
  min-height:44px;
  border:0;
  background:none;
  padding:8px;
  color:#123644;
  font-size:14px!important;
}

.nx-access-controls {
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.nx-access-controls button {
  min-height:56px;
  padding:14px 20px;
  text-align:left;
  border:1px solid #aac9bd;
  background:white;
  color:#123644;
  font-size:16px!important;
  font-weight:700;
  white-space:normal;
}

.nx-access-controls .nx-motion:before {
  font-size:16px;
}

.nx-access-controls button[aria-pressed=true] {
  background:#123644;
  color:white;
}

.nx-access-controls .nx-motion[aria-pressed=true]:before {
  color:white;
}

.nx-access-note {
  margin-top:22px!important;
  color:#3e5967;
  font-size:13px!important;
}

.nx-reading-large .nx-site .nv-policy-copy p,.nx-reading-large .nx-site .nv-outcome-content p,.nx-reading-large .nx-site .nv-news-intro,.nx-reading-large .nx-site .nv-story-message,.nx-reading-large .nx-site .uv15-content p,.nx-reading-large .nx-site .uv15-content li,.nx-reading-large .nx-site .gikai-original,.nx-reading-large .nx-site .nv-timeline dd {
  font-size:21px!important;
  line-height:2!important;
}

.nx-reading-large .nx-site .nv-report-copy>p,.nx-reading-large .nx-site .uv15-report-summary,.nx-reading-large .nx-site .nv-latest-body>span,.nx-reading-large .nx-site .nv-result p {
  font-size:19px!important;
  line-height:1.9!important;
}

.nx-site [id] {
  scroll-margin-top:160px;
}

.nx-site a:focus-visible,.nx-site button:focus-visible,.nx-site summary:focus-visible,.nx-site input:focus-visible {
  outline:3px solid #164dbc;
  outline-offset:4px;
  box-shadow:0 0 0 7px #fff;
}

.nx-site .nx-skip:focus {
  top:40px;
  z-index:100002;
  border:3px solid #164dbc;
}

.nx-site p,.nx-site h1,.nx-site h2,.nx-site h3 {
  overflow-wrap:anywhere;
}

@media(max-width:950px) {

}

@media(max-width:700px) {
  .nx-access-motto {
    font-size:11px;
  }

  .nx-access-inner {
    gap:8px;
  }

  .nx-access-open {
    font-size:12px!important;
    padding:8px 0;
  }

  .nx-site .nv-hero-lead {
    font-size:17px;
  }

  .nv-lived-perspective {
    font-size:15px;
  }

  .nx-site .nv-policy-copy p,.nx-site .nv-outcome-content p,.nx-site .nv-news-intro,.nx-site .nv-story-message,.nx-site .uv15-content p {
    font-size:16px!important;
  }

  .nx-access-dialog {
    padding:24px;
  }

  .nx-site .nv-report-copy>p {
    font-size:14px!important;
  }
}

@media(max-width:480px) {
  .nx-access-motto {
    max-width:13em;
    line-height:1.7;
  }
}

@media(forced-colors:active) {
  .nx-site a:focus-visible,.nx-site button:focus-visible,.nx-site summary:focus-visible {
    outline:3px solid Highlight;
    box-shadow:none;
  }

  .nx-site .nr-issue-nav a,.nx-site .nx-button,.nx-access-controls button {
    border:1px solid ButtonText;
  }

  .nx-access-controls button[aria-pressed=true] {
    outline:2px solid Highlight;
  }
}

/* One identity, one theme, one continuous reading axis. */
.nx-container {
  width:min(1280px,calc(100% - 112px));
}

.nx-header-inner {
  min-height:84px;
  gap:22px;
}

.nx-brand strong {
  font-size:30px;
}

.nx-nav {
  gap:18px;
}

.nx-site .nx-nav a {
  font-size:12px;
}

.nx-header {
  background:#fffffff0;
}

.nx-header-tools {
  gap:12px;
}

.nx-site .nx-access-open {
  font-size:0!important;
  padding:10px;
  min-width:44px;
  min-height:44px;
  border:1px solid #c9dfe1;
}

.nx-access-open svg {
  width:22px;
  height:22px;
}

.nv-search-toggle {
  border:0;
  padding:10px;
}

.nx-site .nv-text-link {
  font-size:14px;
}

.nx-button {
  border-radius:3px;
  font-size:14px;
  min-height:56px;
}

.nv-eyebrow {
  font-size:10px;
  letter-spacing:.17em;
  color:#08784e;
  margin-bottom:24px;
}

.nt-hero {
  background:radial-gradient(ellipse at 10% 0,#a9e9c5,transparent 65%),radial-gradient(ellipse at 95% 75%,#c0e2fd,transparent 65%),linear-gradient(180deg,#e9f9f2,#f6fbf9);
  overflow:hidden;
  position:relative;
}

.nt-hero-grid {
  display:grid;
  grid-template-columns:48% 52%;
  align-items:center;
  min-height:590px;
  position:relative;
}

.nt-identity {
  padding:40px 0 48px;
  position:relative;
  z-index:2;
}

.nt-role {
  font-size:13px;
  letter-spacing:.08em;
  margin-bottom:19px!important;
}

.nt-name {
  font-size:clamp(100px,10.5vw,155px);
  font-weight:900;
  letter-spacing:-.08em;
  line-height:1.15;
  white-space:nowrap;
}

.nt-name strong {
  color:#2358df;
  font-weight:900;
}

.nt-kana {
  font-size:19px;
  letter-spacing:.14em;
  font-weight:700;
  margin-top:14px!important;
  color:#295c4c;
}

.nt-kana span {
  display:block;
  font:10px/1.5 Arial;
  letter-spacing:.25em;
  margin-top:12px;
  color:#42685b;
}

.nx-home .nt-identity h1 {
  font-size:clamp(28px,3.3vw,46px);
  line-height:1.7;
  letter-spacing:-.055em;
  margin-top:38px;
}

.nt-identity h1 span {
  color:#08784e;
}

.nt-start {
  display:inline-flex;
  align-items:center;
  gap:45px;
  font-size:14px;
  font-weight:700;
  border-bottom:1px solid #77aa97;
  padding:14px 0;
  margin-top:25px;
}

.nt-start span {
  font-size:22px;
  font-weight:400;
}

.nt-start:hover {
  color:#2358df;
}

.nt-portrait {
  height:540px;
  position:relative;
  margin:0;
  align-self:end;
  pointer-events:none;
}

.nt-portrait img {
  position:absolute;
  width:135%;
  height:108%;
  max-width:none!important;
  object-fit:contain;
  object-position:right bottom;
  right:-8%;
  bottom:0;
  mask-image:linear-gradient(90deg,transparent 0%,transparent 15%,#000 35%),linear-gradient(0deg,transparent 0%,#000 24%);
  mask-composite:intersect;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 15%,#000 35%),linear-gradient(0deg,transparent 0%,#000 24%);
  -webkit-mask-composite:source-in;
}

.nt-journey {
  position:relative;
  background:linear-gradient(180deg,#f6fbf9 0%,#fff 32%,#f6fafc 72%,#edf9f4 100%);
  --nt-axis:max(56px,calc((100vw - 1280px)/2));
  isolation:isolate;
}

.nt-journey:before {
  content:'';
  position:absolute;
  left:var(--nt-axis);
  top:0;
  bottom:0;
  width:1px;
  background:linear-gradient(180deg,transparent,#70b6a1 80px,#b5d2db 90%,transparent);
  z-index:-1;
}

.nt-journey>.nv-section>.nx-container,.nt-journey>.nv-join>.nx-container {
  padding-left:62px;
}

.nv-section {
  padding:82px 0;
  position:relative;
  background:transparent;
  border:0;
}

.nv-section .nx-container {
  position:relative;
}

.nv-section .nx-container:before,.nv-join .nx-container:before {
  content:'';
  position:absolute;
  width:9px;
  height:9px;
  border:2px solid #248768;
  border-radius:50%;
  background:#f6fbf9;
  left:-4px;
  top:8px;
}

.nv-section h2 {
  font-size:clamp(35px,4.4vw,64px);
  line-height:1.5;
  letter-spacing:-.055em;
}

.nv-section h2 span {
  color:#08784e;
}

.nv-story-layout {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10%;
  align-items:start;
}

.nv-story-message {
  font-size:17px;
  line-height:2.2;
  margin:28px 0!important;
  font-weight:500;
}

.nv-story-history {
  padding-top:49px;
}

.nv-story-history h3 {
  font-size:14px;
  margin-bottom:27px;
}

.nv-timeline {
  margin:0;
}

.nv-timeline>div {
  display:grid;
  grid-template-columns:65px 1fr;
  gap:18px;
  border-top:1px solid #c1d8d0;
  padding:19px 0;
}

.nv-timeline dt {
  font-size:12px;
  color:#08784e;
  font-weight:700;
}

.nv-timeline dd {
  font-size:16px;
  line-height:1.9;
  margin:0;
}

.nv-achievement-layout {
  display:grid;
  grid-template-columns:36% 1fr;
  gap:8%;
  align-items:start;
}

.nv-achievement-heading {
  position:sticky;
  top:145px;
}

.nv-ach-prefix {
  display:block;
  font-size:.55em;
  line-height:1.9;
}

.nv-achievement-heading>p {
  font-size:16px;
  line-height:2.1;
  color:#466573;
  margin:25px 0 18px!important;
}

.nv-outcomes {
  border-top:1px solid #a6c4b8;
}

.nv-outcome {
  background:transparent;
  border-bottom:1px solid #c1d8d0;
  border-radius:0;
  padding:0;
  scroll-margin-top:135px;
}

.nv-outcome summary {
  display:grid;
  grid-template-columns:32px 1fr 30px;
  align-items:center;
  gap:18px;
  padding:25px 0;
  cursor:pointer;
  list-style:none;
}

.nv-outcome summary::-webkit-details-marker {
  display:none;
}

.nv-outcome summary>span {
  font:500 20px Arial;
  color:#08784e;
}

.nv-outcome summary h3 {
  font-size:23px;
  line-height:1.6;
}

.nv-outcome summary b {
  font-size:24px;
  font-weight:400;
  transition:transform .3s;
}

.nv-outcome[open] summary b {
  transform:rotate(45deg);
}

.nv-outcome[open] h3 {
  color:#08784e;
}

.nv-outcome-content {
  display:grid;
  grid-template-columns:135px 1fr;
  gap:25px;
  padding:0 0 30px;
  align-items:start;
}

.nv-outcome-content figure {
  margin:0;
  height:150px;
}

.nv-outcome-content img {
  width:100%;
  height:100%;
  object-fit:contain;
  mix-blend-mode:multiply;
}

.nv-outcome-content p {
  font-size:16px;
  line-height:2.1;
  color:#466573;
  margin-bottom:14px;
}

.nv-outcome-content .nv-text-link {
  font-size:12px!important;
}

.nv-policy-copy {
  grid-column:1;
  grid-row:1;
}

.nv-policy-copy>.nv-eyebrow {
  font-size:10px;
  margin-bottom:16px;
}

.nv-policy-copy h4 {
  font-size:23px;
  line-height:1.7;
  margin-bottom:20px;
}

.nv-policy-copy p {
  font-size:17px;
  line-height:2.1;
  color:#466573;
  margin-bottom:23px;
}

.nv-policy-tags {
  padding:0;
  margin:0;
  list-style:none;
}

.nv-policy-tags li {
  border-top:1px solid #d4e3df;
  padding:10px 0;
  font-size:12px;
  line-height:1.9;
}

.nv-policy-tags li:before {
  content:'↗';
  color:#08784e;
  margin-right:10px;
}

.nv-policy-links {
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  margin-top:22px;
}

.nv-policy-links a {
  font-size:12px;
  font-weight:700;
  border-bottom:1px solid #aacbc0;
  padding:8px 0;
  color:#2358df;
}

.nv-news-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:25px;
  margin-bottom:20px;
}

.nv-news-intro {
  font-size:16px;
  line-height:2;
  color:#466573;
  margin-bottom:35px!important;
}

.nt-search {
  max-width:550px;
  margin:24px 0;
}

.nv-search-form {
  min-height:54px;
  background:#ffffffb0;
}

.nv-search-form input {
  font-size:14px!important;
}

.nv-search-form button {
  background:#123644;
  font-size:13px;
}

.nv-report-list {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px;
  padding-top:30px;
  border-top:1px solid #a6c4b8;
}

.nv-report-row {
  display:block;
  background:none;
  border:0;
}

.nv-report-thumb {
  height:235px;
  display:grid;
  place-items:center;
  padding:8px 35px;
  background:#edf5f1;
}

.nv-report-thumb img {
  height:100%;
  width:100%;
  object-fit:contain;
  filter:drop-shadow(0 5px 7px #12364418);
  transition:transform .4s;
}

.nv-report-row:hover img {
  transform:translateY(-5px);
}

.nv-report-copy {
  padding:22px 0;
}

.nv-report-copy>time {
  display:block;
  font:11px Arial;
  color:#466573;
  margin-bottom:10px;
}

.nv-report-copy>span {
  display:block;
  font-size:11px;
  font-weight:700;
  color:#08784e;
  margin-bottom:10px;
}

.nv-report-copy h3 {
  font-size:23px;
  line-height:1.55;
  margin-bottom:15px;
}

.nv-report-copy>p {
  font-size:14px;
  color:#466573;
  line-height:2;
}

.nv-report-copy>b {
  display:block;
  margin-top:18px;
  font-size:12px;
}

.nv-archive-link {
  display:flex;
  justify-content:space-between;
  gap:25px;
  font-size:13px;
  border-top:1px solid #c1d8d0;
  padding-top:25px;
  margin-top:20px;
}

.nv-archive-link strong {
  font-size:17px;
}

.nv-join {
  background:none;
  padding:82px 0 95px;
  position:relative;
}

.nv-join .nx-container {
  position:relative;
}

.nv-join h2 {
  font-size:clamp(35px,4.4vw,64px);
  line-height:1.5;
}

.nv-join-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  margin-top:30px;
}

.nv-join-bottom p {
  font-size:16px;
  line-height:2;
}

.nx-footer {
  padding:55px 0 25px;
  border-top:1px solid #c1d8d0;
  background:#fff;
}

.nv-footer-lead {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  margin-bottom:35px;
}

.nv-footer-name small {
  font-size:11px;
}

.nv-footer-name strong {
  display:block;
  font-size:65px;
  line-height:1.2;
  margin:12px 0;
}

.nv-footer-name>span {
  font:10px Arial;
  letter-spacing:.25em;
  color:#08784e;
}

.nv-footer-lead>p {
  font-size:15px;
}

.nx-footer nav {
  display:flex;
  gap:25px;
  flex-wrap:wrap;
  padding-bottom:25px;
  border-bottom:1px solid #c1d8d0;
  font-size:13px;
}

.nx-footer-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
  margin-top:22px;
  font-size:11px;
}

.nx-footer-bottom small {
  font-size:11px;
}

@media(prefers-reduced-motion:no-preference) {
  html:not(.nx-motion-off) .nt-identity {
    animation:nt-appear 1s cubic-bezier(.16,1,.3,1) both;
  }

  html:not(.nx-motion-off) .nt-portrait img {
    animation:nt-appear 1.4s .15s cubic-bezier(.16,1,.3,1) both;
  }

  html:not(.nx-motion-off) .nv-outcome[open] .nv-outcome-content {
    animation:nt-appear .45s ease-out both;
  }
}

@keyframes nt-appear {
  from {
    opacity:0;
    transform:translateY(15px);
  }

  to {
    opacity:1;
    transform:none;
  }
}

@media(max-width:1100px) {
  .nx-container {
    width:calc(100% - 72px);
  }

  .nt-journey {
    --nt-axis:36px;
  }

  .nx-header-inner {
    gap:15px;
  }

  .nx-nav {
    gap:13px;
  }

  .nx-site .nx-nav a {
    font-size:11px;
  }

  .nx-header-tools {
    gap:6px;
  }

  .nt-hero-grid {
    min-height:570px;
  }

  .nt-name {
    font-size:11.8vw;
  }

  .nt-portrait {
    height:490px;
  }

  .nv-report-list {
    gap:22px;
  }

  .nv-report-thumb {
    padding:12px 22px;
  }
}

@media(max-width:950px) {
  .nx-nav {
    display:none;
    position:absolute;
    left:-36px;
    right:-36px;
    top:100%;
    background:#fff;
    padding:22px 36px;
    margin:0;
    border-bottom:1px solid #c1d8d0;
  }

  .nx-nav.nx-nav-open {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 20px;
  }

  .nx-site .nx-nav a {
    font-size:15px;
    padding:15px 0;
    border-bottom:1px solid #c1d8d0;
  }

  .nx-header-tools {
    margin-left:auto;
  }

  .nx-menu {
    display:flex;
    font-size:11px;
  }

  .nv-menu-motion {
    display:block;
  }

  .nv-search-toggle>span {
    display:none;
  }

  .nt-hero-grid {
    min-height:540px;
    grid-template-columns:50% 50%;
  }

  .nt-name {
    font-size:12vw;
  }

  .nt-portrait {
    height:440px;
  }

  .nx-home .nt-identity h1 {
    font-size:3.5vw;
  }

  .nt-journey>.nv-section>.nx-container,.nt-journey>.nv-join>.nx-container {
    padding-left:45px;
  }

  .nv-achievement-layout {
    grid-template-columns:34% 1fr;
    gap:6%;
  }

  .nv-outcome summary h3 {
    font-size:21px;
  }

  .nv-outcome-content {
    display:block;
  }

  .nv-outcome-content figure {
    float:right;
    width:110px;
    height:120px;
    margin:0 0 12px 20px;
  }

  .nv-outcome-content:after {
    content:'';
    display:block;
    clear:both;
  }

  .nv-report-list {
    gap:18px;
  }

  .nv-report-thumb {
    height:205px;
    padding:12px 18px;
  }

  .nv-report-copy h3 {
    font-size:20px;
  }

  .nv-story-layout {
    gap:6%;
  }
}

@media(max-width:700px) {
  .nx-container {
    width:calc(100% - 40px);
  }

  .nx-header-inner {
    min-height:78px;
    gap:10px;
  }

  .nx-brand strong {
    font-size:27px;
  }

  .nx-brand>span {
    font-size:8px;
  }

  .nx-menu {
    padding:10px;
    font-size:10px;
    min-height:44px;
  }

  .nx-menu span {
    margin-left:5px;
  }

  .nv-search-toggle {
    min-width:40px;
    min-height:44px;
    padding:8px;
  }

  .nx-header-tools {
    gap:4px;
  }

  .nx-site .nx-access-open {
    min-width:40px;
    padding:8px;
  }

  .nx-nav {
    left:-20px;
    right:-20px;
    padding:20px;
  }

  .nt-hero-grid {
    display:block;
    min-height:0;
  }

  .nt-identity {
    padding:32px 0 0;
  }

  .nt-role {
    font-size:12px;
    margin-bottom:14px!important;
  }

  .nt-name {
    font-size:clamp(82px,22vw,135px);
  }

  .nt-kana {
    font-size:16px;
    margin-top:10px!important;
  }

  .nt-kana span {
    display:none;
  }

  .nx-home .nt-identity h1 {
    font-size:clamp(25px,6.6vw,39px);
    margin-top:25px;
    line-height:1.65;
  }

  .nt-start {
    font-size:13px;
    margin-top:15px;
    padding:10px 0;
  }

  .nt-portrait {
    height:310px;
    margin-top:5px;
  }

  .nt-portrait img {
    height:113%;
    width:120%;
    right:-7%;
    bottom:-8%;
    mask-image:linear-gradient(90deg,transparent,#000 23%),linear-gradient(0deg,transparent,#000 18%);
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 23%),linear-gradient(0deg,transparent,#000 18%);
  }

  .nt-journey {
    --nt-axis:20px;
  }

  .nt-journey>.nv-section>.nx-container,.nt-journey>.nv-join>.nx-container {
    padding-left:26px;
  }

  .nv-section {
    padding:56px 0;
  }

  .nv-section h2,.nv-join h2 {
    font-size:clamp(30px,8vw,45px);
  }

  .nv-eyebrow {
    margin-bottom:18px;
    font-size:9px;
  }

  .nv-story-layout {
    display:block;
  }

  .nv-story-message {
    font-size:16px!important;
    margin:23px 0!important;
  }

  .nv-story-history {
    padding-top:35px;
  }

  .nv-timeline dd {
    font-size:16px;
  }

  .nv-timeline>div {
    grid-template-columns:50px 1fr;
    gap:12px;
  }

  .nv-achievement-layout {
    display:block;
  }

  .nv-achievement-heading {
    position:static;
    margin-bottom:30px;
  }

  .nv-achievement-heading>p {
    font-size:15px;
  }

  .nv-outcome summary {
    grid-template-columns:23px 1fr 25px;
    gap:12px;
    padding:22px 0;
  }

  .nv-outcome summary h3 {
    font-size:19px;
  }

  .nv-outcome summary>span {
    font-size:17px;
  }

  .nv-outcome-content p {
    font-size:16px!important;
  }

  .nv-outcome-content figure {
    width:95px;
    height:110px;
    margin-left:15px;
  }

  .nv-policy-copy h3 {
    font-size:24px;
  }

  .nv-policy-copy p {
    font-size:16px!important;
  }

  .nv-news-heading {
    display:block;
  }

  .nv-news-heading>.nv-text-link {
    margin-top:15px;
  }

  .nv-news-intro {
    font-size:16px!important;
  }

  .nt-search {
    margin:22px 0;
  }

  .nv-report-list {
    display:block;
    padding-top:5px;
  }

  .nv-report-row {
    display:grid;
    grid-template-columns:90px 1fr;
    gap:20px;
    border-bottom:1px solid #c1d8d0;
    padding:24px 0;
  }

  .nv-report-thumb {
    height:150px;
    padding:7px;
    background:none;
  }

  .nv-report-copy {
    padding:0;
  }

  .nv-report-copy h3 {
    font-size:20px;
    margin-bottom:12px;
  }

  .nx-home .nv-report-copy>p {
    font-size:13px!important;
  }

  .nv-report-copy>span {
    font-size:10px;
  }

  .nv-report-copy>b {
    font-size:11px;
    margin-top:14px;
  }

  .nv-archive-link {
    display:block;
    font-size:12px;
  }

  .nv-archive-link strong {
    display:block;
    font-size:17px;
    margin-bottom:8px;
  }

  .nv-join {
    padding:56px 0 70px;
  }

  .nv-join-bottom {
    display:block;
    margin-top:23px;
  }

  .nv-join-bottom p {
    font-size:16px;
  }

  .nv-join-bottom .nx-button {
    margin-top:25px;
  }

  .nv-footer-lead {
    display:block;
  }

  .nv-footer-lead>p {
    margin-top:25px;
  }

  .nx-footer nav {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
  }

  .nx-footer-bottom {
    flex-wrap:wrap;
  }

  .nx-footer-bottom small {
    width:100%;
  }

  .nv-dialog-inner {
    padding:60px 24px 30px;
  }

  .nv-dialog-inner h2 {
    font-size:30px;
  }
}

@media(max-width:480px) {
  .admin-bar .nx-header {
    top:0;
  }

  .nx-header-inner {
    gap:8px;
  }

  .nx-brand strong {
    font-size:25px;
  }

  .nx-brand>span {
    font-size:7px;
  }

  .nx-menu {
    font-size:9px;
    padding:9px;
  }

  .nt-portrait {
    height:285px;
  }

  .nv-report-row {
    grid-template-columns:78px 1fr;
    gap:15px;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }

  .nx-site *,.nx-site *:before,.nx-site *:after {
    animation:none!important;
    transition:none!important;
  }

  .nx-ready [data-reveal] {
    opacity:1;
    transform:none;
  }
}

.nx-motion-off *,.nx-motion-off *:before,.nx-motion-off *:after {
  animation:none!important;
  transition:none!important;
  scroll-behavior:auto!important;
}

.nx-motion-off {
  scroll-behavior:auto;
}

.nx-home .nv-timeline dt,.nx-home .nv-timeline dd {
  border:0!important;
  padding:0!important;
  background:none!important;
}

.nx-home .nv-timeline dt:before,.nx-home .nv-timeline dt:after,.nx-home .nv-timeline dd:before,.nx-home .nv-timeline dd:after {
  content:none!important;
}

.nv-policy-outcome .nv-policy-copy {
  min-width:0;
  grid-column:auto;
  grid-row:auto;
}

.nv-policy-outcome .nv-policy-copy h4 {
  font-size:21px;
  line-height:1.7;
  margin-bottom:18px;
}

.nv-policy-outcome .nv-policy-copy>.nv-eyebrow {
  display:none;
}

.nv-policy-outcome .nv-policy-tags li {
  font-size:14px;
}

.nv-policy-outcome .nv-policy-links {
  gap:12px;
  margin-top:14px;
}

@media(max-width:700px) {
  .nv-policy-outcome .nv-policy-copy h4 {
    font-size:19px;
  }
}
