:root {
  --navy: #00376b;
  --blue: #0072b1;
  --pale: #e6f2ff;
  --paper: #f5f5f5;
  --ink: #00376b;
  --white: #fff;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  background: var(--pale);
  font-family: "Noto Sans JP", sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { font: inherit; }
.sp-only, .brand__mark--sp, .brand__type--sp, .menu-button__sp, .footer-brand__mark--sp, .footer-brand__type--sp, .footer-wave--sp { display: none; }
.site-stage {
  container-type: inline-size;
  width: min(100%, 1440px);
  height: min(294.444vw, 4240px);
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  background: var(--pale);
}
.site-artboard {
  position: relative;
  width: 1440px;
  height: 4240px;
  margin: 0;
  overflow: hidden;
  transform: scale(calc(100cqi / 1440px));
  transform-origin: top left;
  background: var(--paper);
}
@supports not (width: 1cqi) {
  .site-artboard { transform: scale(calc(min(100vw, 1440px) / 1440)); }
}
.front-page { position: absolute; inset: 0; }
.pc-canvas { position: absolute; inset: 0; pointer-events: none; }
.pc-bg { position: absolute; left: 0; width: 1440px; }
.pc-bg--hero { top: 70px; width: 1440px; height: 810px; object-fit: cover; }
.pc-bg--hero-wave { top: 768px; height: 63.0147px; object-fit: fill; }
.pc-bg--about { top: 786.5095px; height: 1440.5411px; object-fit: fill; }
.pc-bg--company { top: 2048px; height: 899px; object-fit: fill; }
.pc-bg--fish { top: 2789px; height: 1350px; object-fit: fill; }

/* Shared header */
.site-header {
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  width: 100vw;
  height: calc(100vw * 80 / 1440);
  background: var(--paper);
  box-shadow: 0 3px 12px rgba(0, 55, 107, .14);
}
.site-header__inner { position: relative; width: 1440px; height: 80px; transform: scale(calc(100vw / 1440px)); transform-origin: top left; }
.brand { position: absolute; left: 60px; top: 1px; width: 465px; height: 78px; }
.brand__mark--pc { position: absolute; inset: 0 auto auto 0; width: 79px; height: 78px; object-fit: contain; }
.brand__type--pc { position: absolute; left: 79px; top: 9px; width: 386px; height: 60px; object-fit: contain; }
.primary-nav { position: absolute; left: 579px; top: 0; height: 80px; }
.primary-nav__list { display: flex; align-items: center; gap: 24px; height: 80px; margin: 0; padding: 0; list-style: none; }
.primary-nav__link { position: relative; z-index: 0; display: flex; align-items: center; height: 80px; white-space: nowrap; color: #222; font-size: 16px; font-weight: 700; line-height: 1; transition: color 180ms ease, translate 180ms ease; isolation: isolate; }
.site-header .primary-nav__link::before { content: ""; position: absolute; z-index: -1; inset: 15px -12px; border-radius: 6px; background: rgba(0, 55, 107, .09); opacity: 0; transform: scale(.96); transition: opacity 180ms ease, transform 180ms ease; }
.primary-nav__link.is-current::after { content: ""; position: absolute; left: 0; right: 0; bottom: 20px; height: 2px; background: var(--blue); }
.site-header .primary-nav__link:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; translate: 0 -3px; }
.site-header .primary-nav__link:focus-visible::before { opacity: 1; transform: scale(1); }
@media (hover: hover) and (pointer: fine) {
  .site-header .primary-nav__link:hover { color: var(--navy); translate: 0 -3px; }
  .site-header .primary-nav__link:hover::before { opacity: 1; transform: scale(1); }
}
.menu-button { position: absolute; right: 60px; top: 23px; width: 45px; height: 34px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.menu-button img { width: 100%; height: 100%; }
.menu-button:focus-visible { outline: 2px solid var(--blue); outline-offset: 7px; border-radius: 2px; }
body.is-menu-open { overflow: hidden; }
.site-menu-dialog {
  position: fixed;
  inset: 0 0 0 auto;
  width: 50vw;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0 0 0 auto;
  padding: 0;
  border: 0;
  color: #fff;
  background: transparent;
  overflow: hidden;
}
.site-menu-dialog::backdrop { background: rgba(0, 25, 54, .62); animation: site-menu-backdrop-in 180ms ease-out both; }
.site-menu-dialog.is-closing::backdrop { animation: site-menu-backdrop-out 180ms ease-in both; }
.site-menu-dialog__panel {
  width: 100%;
  min-height: 100%;
  max-height: 100dvh;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--navy);
  animation: site-menu-panel-in 220ms cubic-bezier(.22, .61, .36, 1) both;
}
.site-menu-dialog.is-closing .site-menu-dialog__panel { animation: site-menu-panel-out 180ms ease-in both; }
.site-menu-dialog__head {
  position: sticky;
  z-index: 3;
  top: 0;
  display: flex;
  width: 100%;
  height: 80px;
  align-items: center;
  justify-content: space-between;
  padding: 0 30px;
  border-bottom: 1px solid rgba(255, 255, 255, .22);
  background: var(--navy);
}
.site-menu-brand { position: relative; display: block; width: 330px; height: 56px; }
.site-menu-brand__mark { position: absolute; left: 0; top: 0; width: 56px; height: 56px; object-fit: contain; }
.site-menu-brand__type { position: absolute; left: 56px; top: 6px; width: 274px; height: 43px; object-fit: contain; }
.site-menu-close {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 0 10px 14px;
  border: 0;
  color: #fff;
  background: transparent;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .08em;
  cursor: pointer;
}
.site-menu-close i { position: relative; display: block; width: 34px; height: 34px; border: 1px solid rgba(255, 255, 255, .72); border-radius: 50%; }
.site-menu-close i::before,
.site-menu-close i::after { content: ""; position: absolute; left: 8px; top: 16px; width: 16px; height: 1px; background: #fff; }
.site-menu-close i::before { rotate: 45deg; }
.site-menu-close i::after { rotate: -45deg; }
.site-menu-close:focus-visible,
.site-menu-brand:focus-visible,
.site-menu-link:focus-visible,
.site-menu-home-link:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.site-menu-dialog__body { width: min(760px, calc(100% - 80px)); margin: 0 auto; padding: 46px 0 80px; }
.site-menu-dialog__eyebrow { margin: 0 0 8px; color: #8fd6ff; font-size: 14px; font-weight: 700; line-height: 1; letter-spacing: .18em; }
.site-menu-dialog__body > h2 { margin: 0; color: #fff; font-size: 40px; line-height: 1.4; letter-spacing: .06em; }
.site-menu-dialog__mobile { display: none; }
.site-menu-grid { margin: 0; padding: 0; list-style: none; }
.site-menu-grid--desktop { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 42px; }
.site-menu-link {
  position: relative;
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid rgba(255, 255, 255, .72);
  color: #fff;
  background: rgba(255, 255, 255, .04);
  transition: color 180ms ease, background-color 180ms ease, translate 180ms ease, box-shadow 180ms ease;
}
.site-menu-grid--desktop .site-menu-link { min-height: 104px; padding: 0 30px; border-radius: 10px; font-size: 20px; font-weight: 600; letter-spacing: .04em; }
.site-menu-link > span { min-width: 0; }
.site-menu-link > img { width: 25px; height: 25px; flex: 0 0 auto; }
@media (hover: hover) and (pointer: fine) {
  .site-menu-link:hover { color: var(--navy); background: #fff; box-shadow: 0 10px 24px rgba(0, 18, 38, .28); translate: 0 -4px; }
  .site-menu-link:hover > img { filter: brightness(0) saturate(100%) invert(18%) sepia(43%) saturate(2186%) hue-rotate(178deg) brightness(87%); }
  .site-menu-close:hover { opacity: .76; }
}
@keyframes site-menu-panel-in { from { opacity: 0; translate: 28px 0; } to { opacity: 1; translate: 0 0; } }
@keyframes site-menu-panel-out { from { opacity: 1; translate: 0 0; } to { opacity: 0; translate: 28px 0; } }
@keyframes site-menu-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes site-menu-backdrop-out { from { opacity: 1; } to { opacity: 0; } }

@media (min-width: 700px) and (max-width: 999px) {
  .site-menu-dialog__head { padding: 0 20px; }
  .site-menu-brand { width: 233px; height: 40px; }
  .site-menu-brand__mark { width: 40px; height: 40px; }
  .site-menu-brand__type { left: 40px; top: 5px; width: 193px; height: 30px; }
  .site-menu-close { gap: 7px; padding-left: 8px; font-size: 10px; }
  .site-menu-close i { width: 28px; height: 28px; }
  .site-menu-close i::before,
  .site-menu-close i::after { left: 7px; top: 13px; width: 12px; }
  .site-menu-dialog__body { width: calc(100% - 40px); }
  .site-menu-grid--desktop { grid-template-columns: 1fr; }
}

/* PC hero */
.hero--pc { position: absolute; top: 80px; left: 0; width: 1440px; height: 850px; }
.hero-copy--pc { position: absolute; left: 60px; top: 454px; margin: 0; }
.hero-copy__row { display: flex; gap: 8px; height: 112px; margin-bottom: 8px; align-items: center; }
.hero-copy--pc span span {
  display: grid;
  width: 96px;
  height: 93px;
  place-items: center;
  border: 1px solid var(--blue);
  color: var(--blue);
  background: #fff;
  font-size: 64px;
  font-weight: 700;
  line-height: 1;
}
.hero-copy--pc span span.hero-tile--large { width: 112px; height: 112px; font-size: 80px; }
.hero-copy .hero-tile--navy-stroke { border-color: var(--navy); color: var(--navy); }
.market-panel {
  position: absolute;
  top: 402px;
  left: 942px;
  width: 438px;
  height: 312px;
  padding: 0;
  border-radius: 16px;
  background: rgba(245,245,245,.6);
}
.market-panel__eyebrow { position: absolute; left: 40px; top: 16px; width: 147px; height: 25px; margin: 0; color: var(--blue); font-size: 18px; font-weight: 700; line-height: 25.2px; letter-spacing: .36px; white-space: nowrap; }
.market-panel h2 { position: absolute; left: 40px; top: 57px; width: 233px; height: 39px; margin: 0; color: var(--navy); font-size: 28px; font-weight: 700; line-height: 39.2px; letter-spacing: 1.4px; white-space: nowrap; }
.market-link {
  position: absolute;
  left: 40px;
  display: block;
  width: 358px;
  height: 84px;
  padding: 0;
  border-radius: 36px;
  color: #fff;
  background: var(--navy);
  box-shadow: 0 4px 2px rgba(0,0,0,.25);
  font-size: 24px;
  font-weight: 500;
}
.market-link:first-of-type { top: 112px; }
.market-link:last-of-type { top: 212px; }
.market-link__icon { position: absolute; left: 74.5px; top: 28px; width: 30px; height: 28px; }
.market-link__icon img { width: 30px; height: 28px; max-width: none; }
.market-link__label { position: absolute; left: 136.5px; top: 24px; width: 100px; height: 36px; font-size: 24px; font-weight: 500; line-height: 36px; letter-spacing: 1.2px; white-space: nowrap; }
.market-link__arrow { position: absolute; left: 283.5px; top: 34.5px; display: grid; width: 15px; height: 15px; place-items: center; }
.market-link__arrow img { width: 12.9904px; height: 11.25px; max-width: none; transform: rotate(90deg); }
.hero-pagination { position: absolute; left: 666px; top: 755px; display: flex; gap: 24px; align-items: center; }
.hero-pagination img { width: 12px; height: 12px; }

/* About */
.about--pc { position: absolute; z-index: 2; left: 0; top: 982px; width: 1440px; height: 663px; }
.about-photo { position: absolute; left: 0; top: 0; width: 627px; height: 603px; overflow: visible; }
.about-photo > img:first-child { position: absolute; z-index: 1; inset: 0; width: 627px; height: 603px; object-fit: fill; transform: scaleX(-1); }
.about-photo__wave { position: absolute; z-index: 0; left: 19px; top: 47px; display: block; width: 625px; height: 559.047px; transform: scaleX(-1); }
.about-copy { position: absolute; left: 720px; top: 0; width: 660px; }
.about-copy h2, .news h2, .fish h2 { margin: 0; font-weight: 700; letter-spacing: .05em; }
.about-copy h2 { height: 60px; font-size: 40px; line-height: 1.5; }
.section-rule { display: block; height: 1px; background: rgba(0,55,107,.45); }
.about-copy .section-rule { width: 660px; margin-top: 20px; }
.about-copy__lead { margin: 38px 0 26px; color: #222; font-size: 24px; font-weight: 500; line-height: 1.5; letter-spacing: .03em; }
.about-copy__body { margin: 0; color: #222; font-size: 18px; font-weight: 500; line-height: 2; letter-spacing: .01em; }
.pill-button { display: flex; align-items: center; justify-content: center; gap: 18px; border-radius: 999px; font-weight: 600; box-shadow: 0 4px 2px rgba(0,0,0,.25); }
.pill-button img { width: 16px; height: 16px; object-fit: contain; }
.pill-button--blue { width: 294px; height: 72px; margin-top: 30px; color: white; background: var(--navy); font-size: 18px; }
.about-treat { position: absolute; z-index: -1; left: 586px; top: -143px; width: 1170px; height: 878px; opacity: .12; }

/* Three picture links */
.feature-links--pc { position: absolute; z-index: 3; top: 1645px; left: 60px; display: flex; gap: 60px; width: 1320px; height: 367px; }
.feature-card { position: relative; display: block; overflow: hidden; color: #fff; }
.feature-card--company { clip-path: ellipse(100% 100% at 50% 0%); }
.feature-card.feature-card--company > img:first-child { object-fit: cover; filter: brightness(.6); }
.feature-links--pc .feature-card { width: 400px; height: 367px; }
.feature-card > img:first-child { position: absolute; left: -4px; top: -4px; width: 408px; height: 375.085px; max-width: none; object-fit: fill; }
.feature-card > span:not(.feature-card__arrow) { position: absolute; left: 0; right: 0; top: 44%; text-align: center; font-size: 32px; font-weight: 700; text-shadow: 0 2px 5px rgba(0,0,0,.45); }
.feature-card__arrow { position: absolute; top: calc(50% - 7px); right: 94px; width: 17px; height: 17px; transform: rotate(90deg); }

/* News */
.news--pc { position: absolute; z-index: 4; top: 2133px; left: 219px; width: 1006px; height: 688px; color: #fff; }
.news--pc h2 { font-size: 40px; line-height: 1.4; }
.news-tabs { display: flex; flex-wrap: wrap; gap: 16px 24px; }
.news--pc .news-tabs { margin-top: 37px; }
.news-tabs a { display: grid; height: 44px; padding: 0 20px; place-items: center; border: 1px solid rgba(255,255,255,.9); border-radius: 22px; font-size: 18px; font-weight: 500; line-height: 1; text-align: center; white-space: nowrap; }
.news-tabs a.is-active { color: var(--blue); background: white; }
.news-list { position: relative; }
.news--pc .news-list { margin-top: 22px; }
.news-row.is-hidden, .news-filter-empty.is-hidden { display: none !important; }
.news-filter-empty { display: grid; min-height: 336px; margin: 0; place-items: center; font-size: 16px; font-weight: 500; }
.news-row--pc { height: 84px; }
.news-row__link { display: block; width: 100%; height: 100%; border-bottom: 1px solid rgba(255,255,255,.75); transition: background-color .2s ease; }
.news-row--pc .news-row__link { display: grid; grid-template-columns: 244px 1fr; align-items: center; }
.news-row__link:focus-visible { outline: 2px solid #fff; outline-offset: -2px; background-color: rgba(0,55,107,.22); }
@media (hover: hover) and (pointer: fine) {
  .news-row__link:hover { background-color: rgba(0,55,107,.22); }
}
.news-row__meta { display: flex; align-items: center; gap: 30px; }
.news-row__meta time { font-size: 16px; font-weight: 600; letter-spacing: .05em; }
.news-row__meta span { display: grid; min-width: 91px; height: 38px; padding: 0 14px; place-items: center; border-radius: 20px; color: var(--blue); background: white; font-size: 15px; font-weight: 600; white-space: nowrap; }
.news-row[data-news-category="important"] .news-row__meta span { min-width: 160px; text-align: center; }
.news-row--pc[data-news-category="important"] .news-row__link { grid-template-columns: 290px 1fr; }
.news-row__title { overflow: hidden; font-size: 16px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.pill-button--light { position: relative; display: block; width: 259px; height: 78px; color: var(--blue); background: var(--paper); font-size: 20px; }
.pill-button--blue img { transform: rotate(90deg); }
.pill-button--light .pill-button__label { position: absolute; left: 36px; top: 24px; width: 146px; height: 30px; font-size: 20px; font-weight: 500; line-height: 30px; letter-spacing: 1px; white-space: nowrap; }
.pill-button--light .pill-button__icon { position: absolute; left: 198px; top: 26.5px; width: 25px; height: 25px; max-width: none; }
.news--pc .pill-button { position: absolute; left: 373.5px; top: 610px; }
.news-treat { position: absolute; pointer-events: none; }
.news--pc .news-treat { z-index: -1; left: 760px; top: 254px; width: 468px; height: 444px; opacity: .25; }

/* Fish/recruit */
.fish--pc { position: absolute; z-index: 5; top: 2865px; left: 0; width: 1440px; height: 800px; }
.fish--pc h2 { position: absolute; top: 37px; left: 408px; width: 624px; text-align: center; font-size: 36px; line-height: 1.4; white-space: nowrap; }
.fish--pc > .section-rule { position: absolute; top: 125px; left: 408px; width: 624px; }
.fish--pc > p { position: absolute; top: 158px; left: 330px; width: 780px; margin: 0; text-align: center; font-size: 20px; font-weight: 500; line-height: 1.6; }
.fish-decor { position: absolute; opacity: .2; pointer-events: none; }
.fish-decor--left { left: -60px; top: -110px; width: 469px; height: 469px; }
.fish-decor--right { left: 892px; top: 418px; width: 630px; height: 630px; }
.book { position: absolute; top: 281px; width: 329px; height: 439px; overflow: hidden; border-radius: 16px; }
.book img { width: 100%; height: 100%; object-fit: cover; }
.book--one { left: 62px; }
.book--two { left: 409px; }
.wide-card { position: absolute; left: 754px; width: 627px; height: 213px; overflow: hidden; border-radius: 16px; color: white; }
.wide-card--recruit { top: 281px; }
.wide-card--contact { left: 755px; top: 507px; }
.wide-card > img:first-child { position: absolute; left: 0; max-width: none; object-fit: fill; }
.wide-card--recruit > img:first-child { top: -51.98%; width: 99.98%; height: 192.62%; }
.wide-card--contact > img:first-child { top: -25.82%; width: 100%; height: 131.7%; }
.wide-card::after { content: ""; position: absolute; inset: 0; pointer-events: none; }
.wide-card--recruit::after { background: linear-gradient(90deg, #00376b 0%, rgba(0,55,107,0) 100%); }
.wide-card--contact::after { background: linear-gradient(90deg, #2194d3 0%, rgba(33,148,211,0) 100%); }
.wide-card__title, .wide-card__copy, .wide-card__button { position: absolute; }
.wide-card__title, .wide-card__copy, .wide-card__button { z-index: 1; }
.wide-card__title { margin: 0; font-size: 40px; font-weight: 700; line-height: 56px; letter-spacing: 2px; white-space: nowrap; }
.wide-card--recruit .wide-card__title { left: 57px; top: 44px; width: 283.779px; height: 56px; }
.wide-card--contact .wide-card__title { left: 56px; top: 27px; width: 343px; height: 56px; }
.wide-card__copy { margin: 0; font-size: 18px; font-weight: 500; line-height: 36px; letter-spacing: .36px; }
.wide-card--recruit .wide-card__copy { left: 57px; top: 101px; width: 320px; height: 72px; }
.wide-card--contact .wide-card__copy { left: 56px; top: 97px; width: 343px; height: 36px; }
.wide-card__button { display: block; height: 39px; padding: 0; border-radius: 33px; background: white; }
.wide-card--recruit .wide-card__button { left: 449px; top: 163px; width: 165px; }
.wide-card--contact .wide-card__button { left: 338px; top: 161px; width: 275px; }
.wide-card__button > span { position: absolute; top: 5px; height: 30px; font-size: 20px; font-weight: 500; line-height: 30px; letter-spacing: 1px; white-space: nowrap; }
.wide-card--recruit .wide-card__button > span { left: 31px; width: 104px; color: var(--navy); }
.wide-card--contact .wide-card__button > span { left: 16px; width: 230px; color: var(--blue); }
.wide-card__button img { position: absolute; top: 7px; width: 25px; height: 25px; max-width: none; }
.wide-card--recruit .wide-card__button img { left: 134px; }
.wide-card--contact .wide-card__button img { left: 244px; }

/* Shared footer */
.site-footer { position: absolute; z-index: 20; left: 0; top: 3709px; width: 1440px; height: 531px; overflow: hidden; isolation: isolate; color: #fff; background: var(--navy); }
.footer-brand { position: absolute; left: 60px; top: 40px; width: 465px; height: 66.8128px; }
.footer-brand__mark--pc { position: absolute; left: 0; top: -5.5936px; width: 79px; height: 78px; object-fit: contain; }
.footer-brand__type--pc { position: absolute; left: 79px; top: 3.4064px; width: 386px; height: 60px; object-fit: contain; }
.footer-address { position: absolute; left: 100px; top: 180.4781px; display: flex; width: 348px; height: 168px; flex-direction: column; gap: 8px; margin: 0; font-style: normal; font-size: 18px; font-weight: 500; line-height: 36px; letter-spacing: .36px; }
.footer-address > span { display: block; height: 36px; white-space: nowrap; }
.footer-address > span:nth-child(1) { width: 104px; }
.footer-address > span:nth-child(2) { width: 234px; }
.footer-address > span:nth-child(3), .footer-address > span:nth-child(4) { width: 348px; }
.footer-map { position: absolute; left: 100px; top: 372.4781px; display: block; width: 258px; height: 78px; padding: 0; border: 1px solid var(--paper); border-radius: 36px; color: white; background: var(--navy); box-shadow: 0 4px 2px rgba(0,0,0,.25); }
.footer-map > span { position: absolute; left: 36px; top: 24px; width: 145px; height: 30px; font-size: 20px; font-weight: 500; line-height: 30px; letter-spacing: 1px; white-space: nowrap; }
.footer-map__arrow { position: absolute; left: 197px; top: 26.5px; width: 25px; height: 25px; max-width: none; }
.footer-map__arrow--sp { display: none; }
.footer-nav { position: absolute; left: 782px; top: 161.6335px; width: 548px; }
.footer-nav h2 { height: 28px; margin: 0 0 24px; font-size: 20px; font-weight: 700; line-height: 28px; letter-spacing: 1px; }
.footer-nav__list { display: grid; grid-template-columns: 110px 90px 220px; grid-template-rows: repeat(4, 36px); gap: 24px 64px; margin: 0; padding: 0; list-style: none; font-size: 18px; font-weight: 500; line-height: 36px; letter-spacing: .36px; white-space: nowrap; }
.footer-nav__list li { justify-self: start; height: 36px; }
.footer-nav__link { display: inline-flex; align-items: center; height: 36px; color: white; font-size: inherit; font-weight: inherit; line-height: 36px; }
.footer-wave { position: absolute; }
.footer-wave-track { z-index: 1; left: 50%; bottom: 0; width: 1440px; height: 134px; max-width: none; background-image: url("../images/common/footer-wave-pattern-pc.png"); background-repeat: repeat-x; background-position: center bottom; background-size: auto 134px; opacity: .5; transform: translateX(-50%); }
.footer-rule { position: absolute; height: 1px; max-width: none; }
.footer-rule--pc { left: 60px; top: 469.5px; width: 1320px; }
.footer-rule--sp { display: none; }
.default-content { width: 900px; margin: 160px auto; }

/* PC interactions */
@media (min-width: 700px) {
  .market-link,
  .pill-button,
  .news-tabs a,
  .footer-map {
    transition: color 240ms ease, background-color 240ms ease, border-color 240ms ease, box-shadow 240ms ease;
  }
  .market-link img,
  .pill-button img,
  .footer-map img {
    transition: filter 240ms ease;
  }
  .footer-nav__link {
    display: inline-flex;
    align-items: center;
  }
  .footer-nav__link {
    translate: 0 0;
    transition: color 180ms ease, translate 180ms ease;
  }
  .feature-links--pc .feature-card,
  .fish--pc .book,
  .fish--pc .wide-card {
    translate: 0 0;
    filter: drop-shadow(0 0 0 rgba(0,0,0,0));
    transition: translate 260ms cubic-bezier(.22,.61,.36,1), filter 260ms ease;
  }
  .market-link:focus-visible,
  .pill-button:focus-visible,
  .news-tabs a:focus-visible,
  .footer-map:focus-visible,
  .feature-links--pc .feature-card:focus-visible,
  .fish--pc .book:focus-visible,
  .fish--pc .wide-card:focus-visible {
    outline: 2px solid var(--blue);
    outline-offset: 4px;
  }
  .market-link:focus-visible,
  .pill-button--blue:focus-visible,
  .footer-map:focus-visible {
    color: var(--navy);
    background-color: var(--paper);
  }
  .market-link:focus-visible img,
  .pill-button--blue:focus-visible img,
  .footer-map:focus-visible img {
    filter: brightness(0) saturate(100%) invert(18%) sepia(25%) saturate(3475%) hue-rotate(174deg) brightness(80%) contrast(105%);
  }
  .pill-button--light:focus-visible {
    color: white;
    background-color: var(--blue);
    box-shadow: inset 0 0 0 1px white, 0 4px 2px rgba(0,0,0,.25);
  }
  .pill-button--light:focus-visible img {
    filter: brightness(0) invert(1);
  }
  .news-tabs a:not(.is-active):focus-visible {
    color: var(--blue);
    background-color: white;
  }
  .news-tabs a.is-active:focus-visible {
    color: white;
    background-color: transparent;
  }
  .feature-links--pc .feature-card:focus-visible,
  .fish--pc .book:focus-visible,
  .fish--pc .wide-card:focus-visible {
    translate: 0 -8px;
    filter: drop-shadow(0 12px 12px rgba(0,55,107,.24));
  }
  .footer-nav__link:focus-visible {
    outline: 2px solid white;
    outline-offset: 4px;
    translate: 0 -3px;
  }
}

@media (min-width: 700px) and (hover: hover) and (pointer: fine) {
  .market-link:hover,
  .pill-button--blue:hover,
  .footer-map:hover {
    color: var(--navy);
    background-color: var(--paper);
  }
  .market-link:hover img,
  .pill-button--blue:hover img,
  .footer-map:hover img {
    filter: brightness(0) saturate(100%) invert(18%) sepia(25%) saturate(3475%) hue-rotate(174deg) brightness(80%) contrast(105%);
  }
  .pill-button--light:hover {
    color: white;
    background-color: var(--blue);
    box-shadow: inset 0 0 0 1px white, 0 4px 2px rgba(0,0,0,.25);
  }
  .pill-button--light:hover img {
    filter: brightness(0) invert(1);
  }
  .news-tabs a:not(.is-active):hover {
    color: var(--blue);
    background-color: white;
  }
  .news-tabs a.is-active:hover {
    color: white;
    background-color: transparent;
  }
  .feature-links--pc .feature-card:hover,
  .fish--pc .book:hover,
  .fish--pc .wide-card:hover {
    translate: 0 -8px;
    filter: drop-shadow(0 12px 12px rgba(0,55,107,.24));
  }
  .footer-nav__link:hover {
    translate: 0 -3px;
  }
}

@media (max-width: 699px) {
  .pc-only, .brand__mark--pc, .brand__type--pc, .menu-button__pc, .footer-brand__mark--pc, .footer-brand__type--pc, .footer-wave--pc { display: none !important; }
  .sp-only, .brand__mark--sp, .brand__type--sp, .menu-button__sp, .footer-brand__mark--sp, .footer-brand__type--sp, .footer-wave--sp { display: block; }
  .site-stage { width: 100%; height: calc(100vw * 4336 / 375); }
  .site-artboard { width: 375px; height: 4336px; transform: scale(calc(100cqi / 375px)); }
  @supports not (width: 1cqi) { .site-artboard { transform: scale(calc(100vw / 375)); } }

  .site-header { width: 100vw; height: calc(100vw * 48 / 375); }
  .site-header__inner { width: 375px; height: 48px; transform: scale(calc(100vw / 375px)); }
  .brand { left: 20px; top: 4px; width: 233px; height: 40px; }
  .brand__mark--sp { position: absolute; left: 0; top: 0; width: 40px; height: 40px; object-fit: contain; }
  .brand__type--sp { position: absolute; left: 40px; top: 5px; width: 193px; height: 30px; object-fit: contain; }
  .primary-nav { display: none; }
  .menu-button { right: 20px; top: 15px; width: 24px; height: 18px; }
  .site-menu-dialog { inset: 0; width: 100%; margin: 0; }
  .site-menu-dialog__panel { background: var(--navy); }
  .site-menu-dialog__head { height: 64px; padding: 0 20px; }
  .site-menu-brand { width: 233px; height: 40px; }
  .site-menu-brand__mark { width: 40px; height: 40px; }
  .site-menu-brand__type { left: 40px; top: 5px; width: 193px; height: 30px; }
  .site-menu-close { gap: 7px; padding-left: 8px; font-size: 10px; }
  .site-menu-close i { width: 28px; height: 28px; }
  .site-menu-close i::before,
  .site-menu-close i::after { left: 7px; top: 13px; width: 12px; }
  .site-menu-dialog__body { width: auto; margin: 0; padding: 24px 20px 44px; }
  .site-menu-dialog__eyebrow { margin-bottom: 6px; font-size: 11px; }
  .site-menu-dialog__body > h2 { font-size: 27px; line-height: 1.4; letter-spacing: .04em; }
  .site-menu-dialog__desktop { display: none; }
  .site-menu-dialog__mobile { display: block; margin-top: 26px; }
  .site-menu-group + .site-menu-group { margin-top: 30px; }
  .site-menu-group h3 { margin: 0 0 12px; color: #8fd6ff; font-size: 13px; line-height: 1.5; letter-spacing: .05em; }
  .site-menu-grid--primary,
  .site-menu-grid--secondary { display: grid; gap: 9px; }
  .site-menu-grid--primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-menu-grid--secondary { grid-template-columns: 1fr; }
  .site-menu-grid .site-menu-link { min-height: 50px; padding: 8px 12px; border-color: rgba(255, 255, 255, .44); border-radius: 7px; background: rgba(255, 255, 255, .05); font-size: 13px; font-weight: 600; line-height: 1.45; letter-spacing: .02em; }
  .site-menu-grid .site-menu-link > img { width: 16px; height: 16px; }
  .site-menu-home-link { display: flex; width: min(260px, 100%); min-height: 56px; align-items: center; justify-content: center; gap: 20px; margin: 38px auto 0; border: 1px solid #fff; border-radius: 999px; color: var(--navy); background: #fff; font-size: 15px; font-weight: 700; letter-spacing: .04em; }
  .site-menu-home-link img { width: 18px; height: 18px; filter: brightness(0) saturate(100%) invert(18%) sepia(43%) saturate(2186%) hue-rotate(178deg) brightness(87%); }

  .hero--sp { position: absolute; top: 72px; left: 0; width: 375px; height: 528px; overflow: visible; }
  .sp-hero-bg { position: absolute; left: 0; top: -24px; width: 375px; height: 552px; object-fit: cover; }
  .sp-hero-wave { position: absolute; left: 0; top: 512px; width: 375px; height: 16px; }
  .hero-copy--sp { position: absolute; left: 0; top: 24px; width: 133px; height: 442px; }
  .hero-copy__column { position: absolute; top: 0; display: flex; width: 56px; flex-direction: column; align-items: center; gap: 8px; margin: 0; }
  .hero-copy__column span { display: grid; width: 48px; height: 46px; flex: 0 0 auto; place-items: center; border: 1px solid var(--blue); color: var(--blue); background: white; font-size: 32px; font-weight: 700; line-height: 1; }
  .hero-copy__column--left { left: 13px; }
  .hero-copy__column--left span:nth-child(5), .hero-copy__column--right span:nth-child(1), .hero-copy__column--right span:nth-child(5) { width: 56px; height: 56px; font-size: 40px; }
  .hero-copy__column--right { left: 77px; }
  .sp-scroll { position: absolute; left: 98px; top: 472px; width: 180px; height: 30px; }
  .sp-scroll img { position: absolute; left: 72.5px; top: -2.5px; width: 35px; height: 36.0355px; max-width: none; }
  .hero-pagination--sp { left: 270px; top: 488px; gap: 24px; }
  .hero-pagination--sp img { width: 14px; height: 14px; }
  .sp-quick-links { position: absolute; z-index: 40; left: 0; top: 624px; display: grid; grid-template-columns: 187px 188px; width: 375px; height: 51px; background: transparent; }
  .sp-quick-links a { position: relative; display: block; box-sizing: border-box; width: 100%; height: 51px; padding: 0; border-top: 1px solid var(--paper); border-right: 1px solid var(--paper); border-left: 1px solid var(--paper); color: var(--paper); background: var(--navy); box-shadow: 0 4px 2px rgba(0,0,0,.25); font-size: 18px; font-weight: 500; line-height: 27px; letter-spacing: .9px; white-space: nowrap; }
  .sp-quick-links a > span:not(.sp-quick-links__arrow) { position: absolute; top: 11px; width: 75px; height: 27px; }
  .sp-quick-links a:first-child > span:not(.sp-quick-links__arrow) { left: 58.25px; }
  .sp-quick-links a:last-child > span:not(.sp-quick-links__arrow) { left: 58.5px; }
  .sp-quick-links__icon { position: absolute; top: 15.5px; max-width: none; }
  .sp-quick-links__icon--trade { left: 29.3571px; width: 19.2857px; height: 18px; }
  .sp-quick-links__icon--market { left: 30.5px; width: 16px; height: 18px; }
  .sp-quick-links__arrow { position: absolute; top: 17.5px; display: block; width: 14px; height: 14px; transform: rotate(90deg); }
  .sp-quick-links a:first-child .sp-quick-links__arrow { left: 141.25px; }
  .sp-quick-links a:last-child .sp-quick-links__arrow { left: 141.5px; }
  .sp-quick-links__arrow img { position: absolute; left: .9378px; top: 0; width: 12.1244px; height: 10.5px; max-width: none; }
  body > .sp-quick-links.is-fixed { position: fixed; z-index: 9999; left: 0; top: auto; bottom: 0; display: grid; grid-template-columns: calc(100vw * 187 / 375) calc(100vw * 188 / 375); width: 100vw; height: calc(100vw * 51 / 375); }
  body > .sp-quick-links.is-fixed a { height: calc(100vw * 51 / 375); font-size: calc(100vw * 18 / 375); line-height: calc(100vw * 27 / 375); letter-spacing: calc(100vw * .9 / 375); }
  body > .sp-quick-links.is-fixed a > span:not(.sp-quick-links__arrow) { top: calc(100vw * 11 / 375); width: calc(100vw * 75 / 375); height: calc(100vw * 27 / 375); }
  body > .sp-quick-links.is-fixed a:first-child > span:not(.sp-quick-links__arrow) { left: calc(100vw * 58.25 / 375); }
  body > .sp-quick-links.is-fixed a:last-child > span:not(.sp-quick-links__arrow) { left: calc(100vw * 58.5 / 375); }
  body > .sp-quick-links.is-fixed .sp-quick-links__icon { top: calc(100vw * 15.5 / 375); }
  body > .sp-quick-links.is-fixed .sp-quick-links__icon--trade { left: calc(100vw * 29.3571 / 375); width: calc(100vw * 19.2857 / 375); height: calc(100vw * 18 / 375); }
  body > .sp-quick-links.is-fixed .sp-quick-links__icon--market { left: calc(100vw * 30.5 / 375); width: calc(100vw * 16 / 375); height: calc(100vw * 18 / 375); }
  body > .sp-quick-links.is-fixed .sp-quick-links__arrow { top: calc(100vw * 17.5 / 375); width: calc(100vw * 14 / 375); height: calc(100vw * 14 / 375); }
  body > .sp-quick-links.is-fixed a:first-child .sp-quick-links__arrow { left: calc(100vw * 141.25 / 375); }
  body > .sp-quick-links.is-fixed a:last-child .sp-quick-links__arrow { left: calc(100vw * 141.5 / 375); }
  body > .sp-quick-links.is-fixed .sp-quick-links__arrow img { left: calc(100vw * .9378 / 375); width: calc(100vw * 12.1244 / 375); height: calc(100vw * 10.5 / 375); }

  .about--sp { position: absolute; z-index: 2; left: 0; top: 699px; width: 375px; height: 764px; overflow: visible; background: var(--pale); }
  .about-sp-bg { position: absolute; left: 0; top: -107px; width: 375px; height: 311px; object-fit: fill; }
  .about-sp-copy { position: absolute; z-index: 2; left: 20px; top: 0; width: 335px; }
  .about-sp-copy h2 { height: 44px; margin: 0; font-size: 26px; font-weight: 700; line-height: 1.5; letter-spacing: .04em; }
  .about-sp-copy .section-rule { width: 335px; margin-top: 14px; }
  .about-sp-copy .about-copy__lead { margin: 27px 0 25px; font-size: 16px; line-height: 1.5; }
  .about-sp-copy .about-copy__body { font-size: 14px; line-height: 1.5; letter-spacing: .04em; }
  .about-sp-copy .pill-button { position: absolute; left: 0; top: 348px; display: block; width: 236px; height: 53px; margin: 0; font-size: 16px; }
  .about-sp-copy .pill-button > span { position: absolute; left: 24px; top: 14px; width: 151px; height: 24px; font-size: 16px; font-weight: 500; line-height: 24px; letter-spacing: .8px; white-space: nowrap; }
  .about-sp-copy .pill-button img { position: absolute; left: 187px; top: 14px; width: 25px; height: 25px; max-width: none; transform: none; }
  .about-sp-treat { position: absolute; z-index: 1; left: -109px; top: 17px; width: 594px; height: 446px; max-width: none; opacity: .1; }
  .about-sp-photo { position: absolute; left: 10px; top: 424px; width: 365px; height: 323px; overflow: visible; }
  .about-sp-photo img:first-child { position: absolute; z-index: 1; inset: 0; width: 365px; height: 323px; object-fit: fill; transform: scaleX(-1); }
  .about-sp-photo img:last-child { position: absolute; z-index: 0; left: -10px; top: 17px; display: block; width: 365px; height: 315.724px; transform: scaleX(-1); }

  .feature-links--sp { position: absolute; z-index: 3; left: 20px; top: 1487px; display: grid; grid-template-rows: repeat(3, 160px); align-content: start; gap: 16px; width: 335px; height: 568px; }
  .feature-links--sp .feature-card { width: 335px; height: 160px; }
  .feature-links--sp .feature-card > img:first-child { left: -4px; top: -4px; width: 343px; height: 168px; }
  .feature-links--sp .feature-card > span:not(.feature-card__arrow) { left: 100px; right: auto; top: 66px; width: 100px; height: 34px; text-align: left; font-size: 24px; line-height: 33.6px; letter-spacing: 1.2px; white-space: nowrap; }
  .feature-links--sp .feature-card:nth-child(n+2) > span:not(.feature-card__arrow) { top: 65px; }
  .feature-links--sp .feature-card__arrow { position: absolute; left: 216px; right: auto; top: 73px; display: block; width: 20px; height: 20px; transform: rotate(90deg); }
  .feature-links--sp .feature-card:nth-child(n+2) .feature-card__arrow { top: 72px; }
  .feature-links--sp .feature-card[href="https://www.sanchi-net.jp/"] > span:not(.feature-card__arrow) { left: 88px; width: auto; }
  .feature-links--sp .feature-card[href="https://www.sanchi-net.jp/"] .feature-card__arrow { left: 228px; }
  .feature-links--sp .feature-card__arrow img { position: absolute; left: 1.3397px; top: 0; width: 17.3205px; height: 15px; max-width: none; }

  .news--sp { position: absolute; z-index: 4; left: 0; top: 2079px; width: 375px; height: 744px; padding: 0; overflow: visible; color: white; }
  .news-sp-bg { position: absolute; z-index: -2; left: 0; top: -5px; width: 375px; height: 835px; object-fit: fill; }
  .news--sp h2 { position: absolute; left: 20px; top: 56px; width: 335px; height: 36.4px; margin: 0; font-size: 26px; line-height: 36.4px; letter-spacing: 1.3px; }
  .news--sp .news-tabs { position: absolute; left: 20px; top: 112px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; width: 335px; height: 124px; margin: 0; }
  .news--sp .news-tabs a { display: grid; box-sizing: border-box; min-width: 0; height: 36px; padding: 0; place-items: center; border-radius: 36px; font-size: 16px; font-weight: 500; line-height: 24px; letter-spacing: .8px; }
  .news--sp .news-list { position: absolute; left: 20px; top: 260px; display: flex; flex-direction: column; gap: 20px; width: 335px; height: 388px; margin: 0; }
  .news-row--sp { position: relative; flex: 0 0 82px; height: 82px; padding: 0; }
  .news-row--sp.is-filter-first { flex-basis: 82px; height: 82px; }
  .news-row--sp .news-row__link { position: relative; }
  .news-row--sp .news-row__meta { position: absolute; left: 0; top: 0; display: flex; align-items: center; gap: 12px; height: 32px; }
  .news-row--sp .news-row__meta time { font-size: 16px; font-weight: 500; line-height: 24px; letter-spacing: .8px; }
  .news-row--sp .news-row__meta span { min-width: 91px; height: 32px; padding: 4px 12px; border-radius: 36px; font-size: 16px; font-weight: 500; line-height: 24px; letter-spacing: .8px; }
  .news-row--sp .news-row__title { position: absolute; left: 0; top: 40px; display: -webkit-box; width: 335px; max-height: 48px; margin: 0; overflow: hidden; font-size: 16px; font-weight: 500; line-height: 24px; letter-spacing: .32px; text-overflow: ellipsis; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .news--sp .pill-button { position: absolute; left: 86.5px; top: 672px; width: 202px; height: 53px; }
  .news--sp .pill-button .pill-button__label { left: 24px; top: 14.5px; width: 117px; height: 24px; font-size: 16px; line-height: 24px; letter-spacing: .8px; }
  .news--sp .pill-button .pill-button__icon { left: 153px; top: 14px; width: 25px; height: 25px; }
  .news--sp .news-treat { z-index: -1; left: 146px; top: 581px; width: 227px; height: 216px; opacity: .18; }

  .fish--sp { position: absolute; z-index: 5; left: 0; top: 2847px; width: 375px; height: 953px; overflow: hidden; }
  .fish-sp-bg { position: absolute; z-index: -2; left: 0; top: 11px; width: 375px; height: 1500px; object-fit: fill; }
  .fish-sp-treat { position: absolute; z-index: -1; left: 160px; top: 300px; width: 252px; height: 252px; opacity: .15; }
  .fish--sp h2 { position: absolute; left: 20px; top: 60px; width: 335px; text-align: center; font-size: 26px; line-height: 1.4; }
  .fish--sp > .section-rule { position: absolute; left: 20px; top: 151px; width: 335px; }
  .fish--sp > p { position: absolute; left: 20px; top: 181px; width: 335px; margin: 0; color: #222; font-size: 16px; font-weight: 500; line-height: 1.5; }
  .fish--sp .book { top: 296px; width: 163px; height: 217px; border-radius: 10px; }
  .fish--sp .book--one { left: 20px; }
  .fish--sp .book--two { left: 192px; }
  .fish--sp .wide-card { left: 20px; width: 335px; height: 176px; border-radius: 16px; }
  .fish--sp .wide-card--recruit { top: 537px; }
  .fish--sp .wide-card--contact { top: 737px; }
  .fish--sp .wide-card__title { left: 21px; top: 20px; width: auto; height: 36px; font-size: 26px; line-height: 36.4px; letter-spacing: 1.3px; }
  .fish--sp .wide-card--contact .wide-card__title { left: 20px; top: 20px; width: 163px; height: 36px; }
  .fish--sp .wide-card__copy { left: 21px; top: 64px; width: 295px; height: 42px; font-size: 14px; line-height: 21px; letter-spacing: .28px; }
  .fish--sp .wide-card--contact .wide-card__copy { left: 20px; top: 64px; height: 21px; }
  .fish--sp .wide-card__button { top: 122px; height: 34px; padding: 0; border-radius: 33px; }
  .fish--sp .wide-card--recruit .wide-card__button { left: 173px; width: 140px; }
  .fish--sp .wide-card--contact .wide-card__button { left: 72px; width: 240px; }
  .fish--sp .wide-card__button > span { left: 16px; top: 5px; height: 24px; font-size: 16px; line-height: 24px; letter-spacing: .8px; }
  .fish--sp .wide-card--recruit .wide-card__button > span { width: 84px; }
  .fish--sp .wide-card--contact .wide-card__button > span { width: 184px; }
  .fish--sp .wide-card__button img { top: 7px; width: 20px; height: 20px; }
  .fish--sp .wide-card--recruit .wide-card__button img { left: 105px; }
  .fish--sp .wide-card--contact .wide-card__button img { left: 206px; }
  .fish--sp .wide-card--contact::after { background: linear-gradient(90deg, #2194d3 0%, rgba(33,148,211,0) 100%); mix-blend-mode: normal; }

  .site-footer { top: 3824px; width: 375px; height: 512px; }
  .footer-brand { left: 20px; top: 40px; width: 233px; height: 40px; }
  .footer-brand__mark--sp { position: absolute; left: 0; top: 0; width: 40px; height: 40px; object-fit: contain; }
  .footer-brand__type--sp { position: absolute; left: 40px; top: 5px; width: 193px; height: 30px; object-fit: contain; }
  .footer-address { left: 20px; top: 104px; width: 335px; height: 90px; gap: 2px; font-size: 14px; line-height: 21px; letter-spacing: .28px; }
  .footer-address > span { height: 21px; }
  .footer-address > span:nth-child(n) { width: 335px; }
  .footer-map { left: 20px; top: 210px; width: 201px; height: 49px; border: 1px solid var(--paper); border-radius: 36px; color: var(--navy); background: var(--paper); }
  .footer-map > span { left: 24px; top: 12.5px; width: 116px; height: 24px; font-size: 16px; line-height: 24px; letter-spacing: .8px; }
  .footer-map__arrow--pc { display: none; }
  .footer-map__arrow--sp { left: 152px; top: 12px; display: block; width: 25px; height: 25px; }
  .footer-nav { left: 14px; top: 283px; width: 347px; }
  .footer-nav h2 { height: 22px; margin-bottom: 16px; font-size: 16px; line-height: 22.4px; letter-spacing: .8px; }
  .footer-nav__list { grid-template-columns: 90px 66px 151px; grid-template-rows: repeat(4, 21px); gap: 25px 20px; font-size: 14px; line-height: 21px; letter-spacing: .28px; }
  .footer-nav__list li { height: 21px; }
  .footer-nav__link { height: 21px; line-height: 21px; }
  .footer-nav__list li:nth-child(3) .footer-nav__link { font-size: 12px; letter-spacing: .24px; }
  .footer-wave--sp { position: absolute; left: 0; top: 307px; width: 375px; height: 205px; max-width: none; opacity: 1; }
  .footer-rule--pc { display: none; }
  .footer-rule--sp { display: none; }
  .default-content { width: 335px; margin: 80px 20px; }
}

@media (min-width: 700px) and (max-width: 1439px) {
  .site-stage { height: calc(100vw * 4240 / 1440); }
}

@media (min-width: 1441px) {
  .site-stage { width: 100%; height: 4240px; overflow: visible; }
  .site-artboard { margin: 0 auto; overflow: visible; transform: none; }
  .site-header { height: 80px; }
  .site-header__inner { width: 100%; transform: none; }
  .primary-nav { right: 205px; left: auto; }
  .pc-bg--hero, .pc-bg--hero-wave, .pc-bg--about, .pc-bg--company, .pc-bg--fish { left: 50%; width: 100vw; max-width: none; transform: translateX(-50%); }
  .pc-bg--hero { object-position: center clamp(-135px, calc(405px - 28.125vw), 0px); }
  .news--pc .news-treat { left: calc(760px + (100vw - 1440px) / 2); }
  .site-footer { overflow: visible; background: transparent; }
  .site-footer::before { content: ""; position: absolute; left: 50%; width: 100vw; transform: translateX(-50%); pointer-events: none; }
  .site-footer::before { z-index: 0; top: 0; height: 531px; background: var(--navy); }
  .footer-wave-track { width: 100vw; }
  .site-footer > :not(.footer-wave-track) { z-index: 2; }
}

/* FishPage: independent PC/SP Figma artboards. */
.nwu-fishpage { background: #e6f2ff; }
.nwu-fishpage .site-stage { width: min(100%, 1440px); height: min(282.431vw, 4067px); overflow: visible; background: #e6f2ff; }
.nwu-fishpage .site-artboard { width: 1440px; height: 4067px; overflow: visible; background: linear-gradient(135deg, #e6f2ff 0%, #f5f5f5 100%); }
.fishpage-page { position: absolute; inset: 0; color: #00376b; font-weight: 500; }
.fishpage-page--sp { display: none; }
.fishpage-page p, .fishpage-page h1, .fishpage-page h2, .fishpage-page h3, .fishpage-page h4 { margin: 0; }
.fishpage-hero { position: absolute; left: 0; top: 0; }
.fishpage-hero--pc { width: 1440px; height: 437px; }
.fishpage-hero__inner { position: relative; width: 1440px; height: 437px; margin: 0 auto; }
.fishpage-hero__background { position: absolute; left: 0; top: 80px; width: 1440px; height: 300px; max-width: none; }
.fishpage-crumb { position: absolute; left: 226px; top: 156px; display: flex; align-items: center; gap: 28px; color: #f5f5f5; font-size: 16px; line-height: 19px; letter-spacing: .02em; white-space: nowrap; }
.fishpage-crumb img { width: 12px; height: 12px; max-width: none; transform: rotate(90deg); }
.fishpage-hero h1 { position: absolute; left: 226px; top: 239px; color: #f5f5f5; font-size: 40px; font-weight: 500; line-height: 48px; letter-spacing: .02em; white-space: nowrap; }
.fishpage-hero__boat { position: absolute; left: 953px; top: 87px; width: 480px; height: 270px; max-width: none; object-fit:cover; mix-blend-mode:screen; }
.fishpage-hero__wave { position: absolute; left: 0; max-width: none; }
.fishpage-hero__wave--one { top: 340px; width: 1440px; height: 63.0147px; }
.fishpage-hero__wave--two { top: 340px; width: 1440px; height: 96.1444px; }
.fishpage-page--pc > :not(.fishpage-hero) { transform:translateY(-17px); }
.fishpage-intro { position: absolute; left: 0; top: 998px; width: 1440px; }
.fishpage-dot { position: absolute; width: 24px; height: 24px; max-width: none; }
.fishpage-intro > .fishpage-dot { left: 60px; top: 12px; }
.fishpage-intro h2 { position: absolute; left: 108px; top: 0; width: 838px; font-size: 40px; font-weight: 700; line-height: 48px; letter-spacing: .02em; }
.fishpage-intro p { position: absolute; left: 60px; top: 88px; width: 1320px; font-size: 18px; line-height: 36px; letter-spacing: .02em; }
.fishpage-brand-cards { position: absolute; left: 0; top: 475px; width: 1440px; height: 383px; }
.fishpage-brand-card { position: absolute; top: 0; display: block; width: 599px; height: 383px; overflow: hidden; border-radius: 16px; color: #fff; background: #00376b; }
.fishpage-brand-card--aji { left: 120px; }
.fishpage-brand-card--fuku { left: 720px; background: #0072b1; }
.fishpage-brand-card p { position: absolute; z-index: 2; left: 11px; top: 227px; width: 500px; font-size: 20px; line-height: 36px; letter-spacing: .02em; }
.fishpage-brand-card--fuku p { left: 209px; width: 381px; }
.fishpage-brand-card > img:not(.fishpage-brand-card__arrow) { position: absolute; max-width: none; }
.fishpage-brand-card--aji > img:nth-of-type(1) { left: 316px; top: 0; width: 248px; height: 209px; }
.fishpage-brand-card--aji > img:nth-of-type(2) { left: 34px; top: 12px; width: 154px; height: 197px; }
.fishpage-brand-card--fuku > img:nth-of-type(1) { left: 301px; top: 17px; width: 198px; height: 187px; }
.fishpage-brand-card span { position: absolute; z-index: 2; left: 360px; top: 322px; font-size: 16px; line-height: 36px; }
.fishpage-brand-card--fuku span { left: 359px; }
.fishpage-brand-card__arrow { position: absolute; left: 383px; top: 347px; width: 24px; height: 24px; max-width: none; transform: rotate(180deg); }
.fishpage-brand-card--fuku .fishpage-brand-card__arrow { left: 382px; }
.fishpage-detail { position: absolute; top: 1362px; width: 600px; }
.fishpage-aji { left: 100px; }
.fishpage-saba { left: 743px; }
.fishpage-detail .fishpage-dot { left: 0; top: 11px; width: 14px; height: 14px; }
.fishpage-detail h2 { position: absolute; left: 22px; top: 0; font-size: 24px; line-height: 36px; }
.fishpage-media { position: absolute; top: 34px; left: 0; height: 211px; }
.fishpage-media img { position: absolute; max-width: none; }
.fishpage-media--aji img:first-child { left: -10px; top: 28px; width: 154px; height: 197px; }
.fishpage-media--aji img:last-child { left: 169px; top: 64px; width: 395px; height: 147px; }
.fishpage-media--saba img:first-child { left: 0; top: 0; width: 248px; height: 209px; }
.fishpage-media--saba img:last-child { left: 226px; top: 28px; width: 411px; height: 153px; }
.fishpage-detail__copy { position: absolute; left: 0; top: 285px; width: 603px; font-size: 18px; line-height: 36px; letter-spacing: .02em; }
.fishpage-detail h3 { position: absolute; left: 0; top: 467px; font-size: 20px; line-height: 36px; }
.fishpage-definition { position: absolute; left: 25px; top: 529px; font-size: 18px; line-height: 36px; letter-spacing: .02em; }
.fishpage-fuku { position: absolute; left: 0; top: 2136px; width: 1440px; }
.fishpage-fuku > .fishpage-dot { left: 60px; top: 12px; }
.fishpage-fuku > h2 { position: absolute; left: 108px; top: 0; font-size: 40px; font-weight: 700; line-height: 48px; letter-spacing: .02em; }
.fishpage-fuku__main { position: absolute; left: 60px; top: 88px; width: 609px; height: 360px; }
.fishpage-fuku__main img { position: absolute; max-width: none; }
.fishpage-fuku__main img:first-child { left: 0; top: 0; width: 585px; height: 347px; }
.fishpage-fuku__main img:last-child { left: 320px; top: 88px; width: 289px; height: 272px; }
.fishpage-fuku__intro { position: absolute; left: 720px; top: 88px; width: 660px; font-size: 18px; line-height: 36px; letter-spacing: .02em; }
.fishpage-fuku__definition, .fishpage-fuku__food { position: absolute; top: 510px; width: 600px; }
.fishpage-fuku__definition { left: 100px; }
.fishpage-fuku__food { left: 743px; }
.fishpage-fuku__definition .fishpage-dot, .fishpage-fuku__food .fishpage-dot { left: 0; top: 11px; width: 14px; height: 14px; }
.fishpage-fuku__definition h3, .fishpage-fuku__food h3 { position: absolute; left: 22px; top: 0; font-size: 24px; line-height: 36px; }
.fishpage-fuku__definition > img:not(.fishpage-dot) { position: absolute; left: 187px; top: 74px; width: 218px; height: 211px; max-width: none; }
.fishpage-fuku__definition h4 { position: absolute; left: 0; top: 329px; font-size: 20px; line-height: 36px; }
.fishpage-fuku__list { position: absolute; left: 25px; top: 391px; margin: 0; font-size: 18px; line-height: 36px; }
.fishpage-fuku__food > img:not(.fishpage-dot) { position: absolute; left: 68px; top: 54px; width: 480px; height: 290px; max-width: none; }
.fishpage-fuku__food p { position: absolute; left: 0; top: 373px; width: 603px; font-size: 18px; line-height: 36px; letter-spacing: .02em; }
.fishpage-top-link { position: absolute; left: 590px; top: 3355px; width: 259px; height: 78px; border-radius: 39px; color: #fff; background: #00376b; box-shadow: 0 4px 2px rgba(0, 0, 0, .25); }
.fishpage-top-link span { position: absolute; left: 36px; top: 24px; font-size: 20px; line-height: 30px; letter-spacing: .05em; white-space: nowrap; }
.fishpage-top-link img { position: absolute; left: 198px; top: 26.5px; width: 25px; height: 25px; }
.nwu-fishpage .site-footer { top: 3536px; }
@media (min-width: 1441px) {
  .nwu-fishpage .site-stage { width: 1440px; height: 4067px; }
  .nwu-fishpage .site-artboard { transform: none; }
  .nwu-fishpage .fishpage-hero--pc { left: 50%; width: 100vw; transform: translateX(-50%); }
}
@media (max-width: 699px) {
  .nwu-fishpage .site-stage { width: 100%; height: calc(100vw * 6151 / 375); overflow: hidden; }
  .nwu-fishpage .site-artboard { width: 375px; height: 6151px; transform: scale(calc(100cqi / 375px)); transform-origin: top left; }
  .nwu-fishpage .site-footer { top: 5639px; width: 375px; height: 512px; }
  .fishpage-page--pc { display: none; }
  .fishpage-page--sp { display: block; }
  .fishpage-hero--sp { width: 375px; height: 255px; }
  .fishpage-hero--sp .fishpage-hero__background { left: 0; top: 48px; width: 375px; height: 200px; }
  .fishpage-hero--sp .fishpage-crumb { left: 20px; top: 85px; gap: 10px; font-size: 12px; line-height: 17px; }
  .fishpage-hero--sp .fishpage-crumb img { width: 9px; height: 9px; }
  .fishpage-hero--sp h1 { left: 20px; top: 118px; font-size: 30px; line-height: 42px; }
  .fishpage-hero--sp .fishpage-hero__boat { left: 136px; top: 80px; width: 239px; height: 134px; }
  .fishpage-hero--sp .fishpage-hero__wave--one { top: 223px; width: 375px; height: 16.3854px; }
  .fishpage-hero--sp .fishpage-hero__wave--two { top: 223px; width: 375px; height: 25px; }
  .fishpage-page--sp > :not(.fishpage-hero) { transform:translateY(-35px); }
  .fishpage-page--sp .fishpage-brand-cards { left: 0; top: 341px; width: 375px; height: 683px; }
  .fishpage-page--sp .fishpage-brand-card { left: 20px; width: 335px; height: 300px; border-radius: 12px; }
  .fishpage-page--sp .fishpage-brand-card--fuku { top: 364px; }
  .fishpage-page--sp .fishpage-brand-card p { left: 20px; top: 160px; width: 295px; font-size: 16px; line-height: 24px; }
  .fishpage-page--sp .fishpage-brand-card > img:not(.fishpage-brand-card__arrow) { position: absolute; max-width: none; }
  .fishpage-page--sp .fishpage-brand-card--aji > img:nth-of-type(1) { left: 21px; top: 4px; width: 106px; height: 136px; }
  .fishpage-page--sp .fishpage-brand-card--aji > img:nth-of-type(2) { left: 143px; top: 0; width: 171px; height: 144px; }
  .fishpage-page--sp .fishpage-brand-card--fuku > img:nth-of-type(1) { left: 68.5px; top: 0; width: 198px; height: 187px; }
  .fishpage-page--sp .fishpage-brand-card span { left: 126.5px; top: 248px; font-size: 16px; line-height: 24px; }
  .fishpage-page--sp .fishpage-brand-card__arrow { left: 155.5px; top: 276px; width: 24px; height: 24px; }
  .fishpage-page--sp .fishpage-intro { left: 0; top: 1108px; width: 375px; }
  .fishpage-page--sp .fishpage-intro > .fishpage-dot { left: 20px; top: 28px; width: 16px; height: 16px; }
  .fishpage-page--sp .fishpage-intro h2 { left: 60px; top: 0; width: 295px; font-size: 26px; line-height: 36px; }
  .fishpage-page--sp .fishpage-intro p { left: 20px; top: 92px; width: 335px; font-size: 18px; line-height: 36px; letter-spacing: .02em; }
  .fishpage-page--sp .fishpage-detail { left: 20px; width: 335px; }
  .fishpage-page--sp .fishpage-aji { top: 1904px; }
  .fishpage-page--sp .fishpage-saba { top: 2564px; }
  .fishpage-page--sp .fishpage-detail .fishpage-dot { left: 0; top: 8px; width: 14px; height: 14px; }
  .fishpage-page--sp .fishpage-detail h2 { left: 22px; font-size: 20px; line-height: 30px; }
  .fishpage-page--sp .fishpage-media { left: 0; top: 50px; width: 335px; height: 150px; }
  .fishpage-page--sp .fishpage-aji .fishpage-media img:first-child { left: 0; top: 0; width: 102px; height: 130px; }
  .fishpage-page--sp .fishpage-aji .fishpage-media img:last-child { left: 114px; top: 24px; width: 220px; height: 82px; }
  .fishpage-page--sp .fishpage-saba .fishpage-media img:first-child { left: 0; top: 0; width: 107px; height: 90px; }
  .fishpage-page--sp .fishpage-saba .fishpage-media img:last-child { left: 119px; top: 0; width: 220px; height: 82px; }
  .fishpage-page--sp .fishpage-detail__copy { left: 0; top: 200px; width: 335px; font-size: 18px; line-height: 36px; }
  .fishpage-page--sp .fishpage-detail h3 { left: 0; top: 476px; font-size: 16px; line-height: 32px; }
  .fishpage-page--sp .fishpage-saba h3 { top: 472px; }
  .fishpage-page--sp .fishpage-definition { left: 12px; top: 528px; font-size: 16px; line-height: 32px; }
  .fishpage-page--sp .fishpage-fuku { left: 0; top: 3264px; width: 375px; }
  .fishpage-page--sp .fishpage-fuku > .fishpage-dot { left: 20px; top: 46px; width: 16px; height: 16px; }
  .fishpage-page--sp .fishpage-fuku > h2 { left: 60px; top: 0; width: 295px; font-size: 26px; line-height: 36px; }
  .fishpage-page--sp .fishpage-fuku__main { position: absolute; left: 20px; top: 128px; width: 335px; height: 199px; }
  .fishpage-page--sp .fishpage-fuku__logo { position: absolute; left: 241px; top: 220px; width: 114px; height: 107px; max-width: none; }
  .fishpage-page--sp .fishpage-fuku__intro { left: 20px; top: 347px; width: 335px; font-size: 18px; line-height: 36px; }
  .fishpage-page--sp .fishpage-fuku__definition { left: 20px; top: 979px; width: 335px; }
  .fishpage-page--sp .fishpage-fuku__food { left: 20px; top: 1544px; width: 335px; }
  .fishpage-page--sp .fishpage-fuku__definition .fishpage-dot, .fishpage-page--sp .fishpage-fuku__food .fishpage-dot { left: 0; top: 8px; width: 14px; height: 14px; }
  .fishpage-page--sp .fishpage-fuku__definition h3, .fishpage-page--sp .fishpage-fuku__food h3 { left: 22px; font-size: 20px; line-height: 30px; }
  .fishpage-page--sp .fishpage-fuku__definition > img:not(.fishpage-dot) { left: 58.5px; top: 50px; width: 218px; height: 211px; }
  .fishpage-page--sp .fishpage-fuku__definition h4 { left: 0; top: 277px; font-size: 16px; line-height: 32px; }
  .fishpage-page--sp .fishpage-fuku__list { left: 12px; top: 329px; font-size: 16px; line-height: 32px; }
  .fishpage-page--sp .fishpage-fuku__food > img:not(.fishpage-dot) { left: 0; top: 50px; width: 335px; height: 202px; }
  .fishpage-page--sp .fishpage-fuku__food p { left: 0; top: 272px; width: 335px; font-size: 18px; line-height: 36px; }
  .fishpage-page--sp .fishpage-top-link { left: 20px; top: 5540px; width: 335px; height: 70px; border-radius: 35px; }
  .fishpage-page--sp .fishpage-top-link span { left: 76px; top: 21px; font-size: 20px; line-height: 28px; }
  .fishpage-page--sp .fishpage-top-link img { left: 239px; top: 27.5px; width: 15px; height: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .site-menu-dialog::backdrop,
  .site-menu-dialog__panel,
  .site-menu-dialog.is-closing::backdrop,
  .site-menu-dialog.is-closing .site-menu-dialog__panel { animation: none; }
  .site-menu-link { transition-duration: 0s; }
  .site-header .primary-nav__link,
  .site-header .primary-nav__link::before,
  .market-link,
  .market-link img,
  .pill-button,
  .pill-button img,
  .news-tabs a,
  .news-row__link,
  .footer-map,
  .footer-map img,
  .footer-nav__link,
  .feature-links--pc .feature-card,
  .fish--pc .book,
  .fish--pc .wide-card { transition-duration: 0s; }
  .site-header .primary-nav__link:hover,
  .site-header .primary-nav__link:focus-visible,
  .feature-links--pc .feature-card:hover,
  .feature-links--pc .feature-card:focus-visible,
  .fish--pc .book:hover,
  .fish--pc .book:focus-visible,
  .fish--pc .wide-card:hover,
  .fish--pc .wide-card:focus-visible,
  .footer-nav__link:hover,
  .footer-nav__link:focus-visible { translate: none; }
}

/* FishPage visual-QA adjustments: exact brand-card geometry. */
.fishpage-brand-cards { top: 454px; height: 424px; }
.fishpage-brand-card { width: auto; height: 424px; border: 1px solid #00376b; border-radius: 0; color: #00376b; background: #d3e9f4; }
.fishpage-brand-card--aji { left: 131px; width: 780px; }
.fishpage-brand-card--fuku { left: 929px; width: 381px; background: #d3e9f4; }
.fishpage-brand-card p, .fishpage-brand-card--fuku p { left: 0; top: 248px; width: 100%; text-align: center; }
.fishpage-brand-card--aji > img:nth-of-type(1) { left: 425px; top: 21px; width: 248px; height: 209px; }
.fishpage-brand-card--aji > img:nth-of-type(2) { left: 143px; top: 33px; width: 154px; height: 197px; }
.fishpage-brand-card--fuku > img:nth-of-type(1) { left: 92px; top: 38px; width: 198px; height: 187px; }
.fishpage-brand-card--aji span { left: 349px; top: 335px; }
.fishpage-brand-card--fuku span { left: 150px; top: 335px; }
.fishpage-brand-card__arrow, .fishpage-brand-card--fuku .fishpage-brand-card__arrow { left: 372px; top: 368px; width: 36px; height: 36px; translate: 0 0; transform: rotate(180deg); transition: translate 220ms ease; }
.fishpage-brand-card--fuku .fishpage-brand-card__arrow { left: 173px; }
.fishpage-brand-card { border-radius: 16px; }
.fishpage-intro p,
.fishpage-detail__copy,
.fishpage-fuku__intro,
.fishpage-fuku__food p,
.fishpage-definition,
.fishpage-fuku__list { color: #333; }
.fishpage-detail h2 { color: #333; }
.nwu-fishpage #ajisaba-pc,
.nwu-fishpage #fuku-pc { scroll-margin-top: 80px; }
.fishpage-detail h3, .fishpage-fuku__definition h4 { box-sizing: border-box; display: grid; width: 591px; height: 46px; padding: 0; place-items: center; color: #00376b; background: #b7d0e8; }
.fishpage-detail h3 { top: 462px; }
.fishpage-definition { box-sizing: border-box; left: 0; top: 508px; width: 591px; height: 146px; margin: 0; padding: 21px 25px 17px 53px; list-style: disc; color: #333; background: rgba(183, 208, 232, .32); }
.fishpage-definition strong { color: #0072b1; font-weight: inherit; }
.fishpage-fuku__definition h4 { top: 324px; }
.fishpage-fuku__list { box-sizing: border-box; left: 0; top: 370px; width: 591px; height: 218px; padding: 21px 25px 21px 53px; list-style: disc; color: #333; background: rgba(183, 208, 232, .32); }
.fishpage-fuku__list strong { color: #0072b1; font-weight: inherit; }
.fishpage-top-link { transition: color 240ms ease, background-color 240ms ease; }
.fishpage-top-link img { transition: filter 240ms ease; }
.fishpage-top-link:focus-visible,
.fishpage-brand-card:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
.fishpage-top-link:focus-visible { color: var(--navy); background: var(--paper); }
.fishpage-top-link:focus-visible img { filter: brightness(0) saturate(100%) invert(18%) sepia(25%) saturate(3475%) hue-rotate(174deg) brightness(80%) contrast(105%); }
.fishpage-brand-card:hover .fishpage-brand-card__arrow,
.fishpage-brand-card:focus-visible .fishpage-brand-card__arrow { translate: 0 4px; }
@media (min-width: 700px) and (hover: hover) and (pointer: fine) {
  .fishpage-top-link:hover { color: var(--navy); background: var(--paper); }
  .fishpage-top-link:hover img { filter: brightness(0) saturate(100%) invert(18%) sepia(25%) saturate(3475%) hue-rotate(174deg) brightness(80%) contrast(105%); }
}
@media (min-width: 1441px) {
  .nwu-fishpage .fishpage-hero__background,
  .nwu-fishpage .fishpage-hero__wave { left: 50%; width: 100vw; transform: translateX(-50%); }
}
@media (min-width: 700px) {
  .nwu-fishpage .footer-map { left: 374px; top: 225.478px; width: 258px; height: 78px; color: var(--navy); background: var(--paper); }
  .nwu-fishpage .footer-map__arrow--pc { display: none; }
  .nwu-fishpage .footer-map__arrow--sp { display: block; left: 197px; top: 26.5px; width: 25px; height: 25px; }
}
@media (max-width: 699px) {
  .nwu-fishpage #ajisaba-sp,
  .nwu-fishpage #fuku-sp { scroll-margin-top: 48px; }
  .fishpage-page--sp .fishpage-brand-cards { top: 321px; height: 704px; }
  .fishpage-page--sp .fishpage-brand-card { left: 20px; width: 335px; height: 340px; border: 0; border-radius: 12px; background: #d3e9f4; }
  .fishpage-page--sp .fishpage-brand-card--fuku { top: 364px; }
  .fishpage-page--sp .fishpage-brand-card p, .fishpage-page--sp .fishpage-brand-card--fuku p { left: 20px; width: 295px; text-align: center; }
  .fishpage-page--sp .fishpage-brand-card--aji p { top: 180px; }
  .fishpage-page--sp .fishpage-brand-card--aji > img:nth-of-type(1) { left: 21px; top: 24px; width: 106px; height: 136px; }
  .fishpage-page--sp .fishpage-brand-card--aji > img:nth-of-type(2) { left: 143px; top: 20px; width: 171px; height: 144px; }
  .fishpage-page--sp .fishpage-brand-card--aji span { left: 126.5px; top: 260px; }
  .fishpage-page--sp .fishpage-brand-card--aji .fishpage-brand-card__arrow { left: 155.5px; top: 296px; width: 24px; height: 24px; }
  .fishpage-page--sp .fishpage-brand-card--fuku > img:nth-of-type(1) { left: 68.5px; top: 20px; }
  .fishpage-page--sp .fishpage-brand-card--fuku p { top: 223px; }
  .fishpage-page--sp .fishpage-brand-card--fuku span { left: 126.5px; top: 271px; }
  .fishpage-page--sp .fishpage-brand-card--fuku .fishpage-brand-card__arrow { left: 155.5px; top: 303px; width: 24px; height: 24px; }
  .fishpage-page--sp .fishpage-detail h3, .fishpage-page--sp .fishpage-fuku__definition h4 { width: 335px; height: 32px; padding: 0; }
  .fishpage-page--sp .fishpage-definition { left: 0; width: 335px; height: 136px; padding: 20px 12px 20px 32px; }
  .fishpage-page--sp .fishpage-aji .fishpage-definition { top: 508px; }
  .fishpage-page--sp .fishpage-saba .fishpage-definition { top: 504px; }
  .fishpage-page--sp .fishpage-fuku__list { left: 0; top: 309px; width: 335px; height: 232px; padding: 20px 12px 20px 32px; }
}

@media (max-width: 699px) and (hover: hover) and (pointer: fine) {
  .fishpage-brand-card:hover .fishpage-brand-card__arrow,
  .fishpage-brand-card:focus-visible .fishpage-brand-card__arrow { translate: 0 4px; }
}

@media (prefers-reduced-motion: reduce) {
  .fishpage-brand-card__arrow,
  .fishpage-top-link,
  .fishpage-top-link img { transition-duration: 0s; }
}

/* About page: AboutPage / AboutPage_SP */
.nwu-about-page .site-artboard { background: var(--pale); }
.nwu-about-page .site-stage { height: min(475.764vw, 6851px); }
.nwu-about-page .site-artboard { height: 6851px; }
.nwu-about-page .site-footer { top: 6320px; }
.about-page-shell,
.about-page { position: absolute; inset: 0; }
.about-page { overflow: hidden; isolation: isolate; color: #333; background: var(--pale); }
.about-canvas-bg {
  position: absolute;
  z-index: -10;
  inset: 0;
  background: var(--pale);
}
.about-pagehead { position: absolute; left: 0; top: 80px; width: 1440px; height: 357px; overflow: hidden; color: var(--paper); }
.about-pagehead__gradient { position: absolute; left: 0; top: 0; width: 1440px; height: 300px; max-width: none; }
.about-pagehead__fish { position: absolute; left: 953px; top: 7px; width: 480px; height: 270px; max-width: none; object-fit: cover; mix-blend-mode: screen; }
.about-pagehead__copy { position: absolute; left: 227px; top: 76px; display: flex; width: 376px; flex-direction: column; gap: 32px; }
.about-breadcrumb { display: flex; align-items: center; gap: 16px; height: 24px; color: var(--paper); font-size: 16px; font-weight: 500; line-height: 1.5; letter-spacing: .32px; white-space: nowrap; }
.about-breadcrumb img { width: 12px; height: 12px; max-width: none; transform: rotate(90deg); }
.about-pagehead h1 { margin: 0; color: var(--paper); font-size: 40px; font-weight: 500; line-height: 1.5; letter-spacing: 2px; white-space: nowrap; }
.about-pagehead__wave { position: absolute; left: 1px; top: 260px; width: 1439px; max-width: none; }
.about-pagehead__wave--one { height: 63.015px; }
.about-pagehead__wave--two { top: 260.86px; height: 96.144px; }
.about-rule { display: block; width: 660px; height: 1px; background: rgba(0,55,107,.45); }
.about-lead { position: absolute; left: 60px; top: 454px; width: 1320px; height: 420px; }
.about-lead__copy { display: flex; width: 660px; flex-direction: column; gap: 64px; }
.about-lead__copy h2 { margin: 0; color: var(--navy); font-size: 40px; font-weight: 700; line-height: 1.4; letter-spacing: 2px; }
.about-lead__copy p { margin: 0; color: #333; font-size: 18px; font-weight: 500; line-height: 2; letter-spacing: .36px; }
.about-lead__visual { position: absolute; left: 685.5px; top: 48px; width: 695px; height: 415px; max-width: none; }
.about-section-copy { display: flex; width: 660px; flex-direction: column; gap: 40px; }
.about-section-title { display: flex; align-items: center; gap: 24px; margin: 0; color: var(--navy); font-size: 40px; font-weight: 700; line-height: 1.4; letter-spacing: 2px; }
.about-section-title img { width: 24px; height: 24px; max-width: none; }
.about-section-lead { margin: 0; color: #333; font-size: 24px; font-weight: 500; line-height: 1.5; letter-spacing: .48px; }
.about-section-body { margin: 0; color: #333; font-size: 18px; font-weight: 500; line-height: 2; letter-spacing: .36px; }
.about-section-body p { margin: 0; }
.about-location--pc { position: absolute; left: 60px; top: 994px; display: flex; width: 1320px; height: 599px; align-items: center; }
.about-location__map { position: absolute; z-index: -1; left: 517.5px; top: 0; width: 947px; height: 711px; max-width: none; opacity: .5; }
.about-scene--pc { position: absolute; left: 60px; top: 1713px; display: flex; width: 1321px; height: 532px; align-items: center; gap: 40px; }
.scene-card { position: relative; width: 621px; height: 444px; margin: 0; }
.scene-card__photo { position: absolute; left: 48px; top: 0; width: 525px; height: 350px; overflow: hidden; border-radius: 16px; touch-action: pan-y; }
.scene-card__photo img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
.scene-card__photo img.is-original-crop { position: absolute; left: -8.27%; top: -14.67%; width: 116.57%; height: 132.73%; object-fit: fill; }
.scene-card__image.is-entering { animation: scene-photo-in 220ms ease-out both; }
.scene-card figcaption { position: absolute; left: 48px; top: 374px; width: 525px; color: #333; font-size: 18px; font-weight: 500; line-height: 2; letter-spacing: .36px; text-align: center; white-space: nowrap; }
.scene-card__dots { position: absolute; left: 191.5px; top: 434px; display: flex; width: 238px; height: 14px; align-items: center; justify-content: center; gap: 18px; }
.scene-card__dot { width: 14px; height: 14px; flex: 0 0 14px; padding: 0; border: 0; border-radius: 50%; background: #0072b1; cursor: pointer; }
.scene-card__dot[aria-current="true"] { background: var(--navy); }
.scene-card__dot:focus-visible,
.about-slider-arrow:focus-visible { outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 5px var(--navy); }
.about-slider-arrow,
.people-slider__arrow { display: grid; padding: 0; place-items: center; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.about-slider-arrow:disabled { cursor: default; }
.about-slider-arrow { position: absolute; }
.about-scene--pc .about-slider-arrow { position: absolute; top: 178px; width: 42px; height: 42px; }
.about-scene--pc .about-slider-arrow img { width: 42px; height: 42px; max-width: none; }
.about-slider-arrow--prev { left: 0; transform: rotate(180deg); }
.about-slider-arrow--next { right: 0; }
@keyframes scene-photo-in { from { opacity: .3; } to { opacity: 1; } }
.about-people--pc { position: absolute; left: 60px; top: 2365px; width: 1321px; height: 1216px; overflow: hidden; }
.about-people__intro { display: flex; width: 100%; height: 350px; align-items: center; gap: 64px; }
.about-people__hero { width: 525px; height: 350px; border-radius: 16px; object-fit: cover; }
.people-slider { position: absolute; left: 0; top: 414px; width: 1321px; height: 802px; }
.people-slider__viewport { position: absolute; left: 40px; top: 0; width: 1243px; height: 724px; overflow: hidden; }
.people-slider__track { display: flex; width: max-content; gap: 40px; transform: translate3d(0,0,0); transition: transform 320ms cubic-bezier(.22,.61,.36,1); }
.person-card { display: flex; width: 603px; height: 724px; flex: 0 0 603px; flex-direction: column; align-items: center; gap: 24px; color: #333; }
.person-card__copy { display: flex; width: 603px; height: 280px; flex: 0 0 280px; flex-direction: column; gap: 24px; }
.person-card h3 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 24px; font-weight: 500; line-height: 1.5; letter-spacing: .48px; }
.person-card h3 img { width: 14px; height: 14px; max-width: none; }
.person-card__lead { margin: 0; color: var(--navy); font-size: 20px; font-weight: 500; line-height: 1.5; letter-spacing: .4px; }
.person-card__copy > p:last-child { margin: 0; font-size: 18px; font-weight: 500; line-height: 2; letter-spacing: .36px; }
.person-card__photo { position: relative; width: 525px; height: 350px; flex: 0 0 350px; overflow: hidden; border-radius: 16px; }
.person-card__photo img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
.person-card__photo.is-cropped img { position: absolute; left: -6.9%; top: -7.32%; width: 113.81%; height: 114.65%; }
.person-card__caption { width: 100%; margin: 0; font-size: 18px; font-weight: 500; line-height: 2; letter-spacing: .36px; text-align: center; white-space: nowrap; }
.people-slider__arrow { position: absolute; top: 374px; width: 48px; height: 48px; }
.people-slider__arrow img { width: 48px; height: 48px; max-width: none; }
.people-slider__arrow--prev { left: 0; transform: rotate(180deg); }
.people-slider__arrow--next { right: 1px; }
.people-slider__arrow:disabled { opacity: 1; cursor: pointer; }
.people-slider__dots { position: absolute; left: 609.5px; top: 788px; width: 102px; height: 14px; max-width: none; }
.about-people--pc .people-slider__dots { display: flex; align-items: center; justify-content: center; gap: 30px; }
.people-slider__dot { width: 14px; height: 14px; flex: 0 0 14px; padding: 0; border: 0; border-radius: 50%; background: var(--blue); cursor: pointer; }
.people-slider__dot[aria-current="true"] { background: var(--navy); }
.people-slider__dot:focus-visible,
.people-slider__arrow:focus-visible { outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 5px var(--navy); }
.about-eat--pc { position: absolute; left: 60px; top: 3701px; width: 1321px; height: 1829px; }
.about-eat__intro { display: flex; width: 1320px; height: 350px; align-items: center; gap: 64px; }
.about-eat__hero { position: relative; width: 525px; height: 350px; overflow: hidden; border-radius: 16px; }
.about-eat__hero img { position: absolute; left: -1.44%; top: -4.32%; width: 103.08%; height: 108.7%; max-width: none; }
.venue-list { display: flex; flex-direction: column; gap: 64px; }
.about-eat--pc .venue-list { margin-top: 64px; }
.venue-card { position: relative; display: flex; width: 1320px; height: 430px; align-items: flex-start; justify-content: center; gap: 64px; }
.venue-card--reverse { flex-direction: row-reverse; }
.venue-card::after { content: ""; position: absolute; left: 330px; bottom: 0; width: 660px; height: 1px; background: rgba(0,55,107,.45); }
.venue-card__details { display: flex; width: 661px; flex-direction: column; gap: 24px; }
.venue-card dl { display: flex; width: 610px; flex-direction: column; gap: 10px; margin: 0; font-size: 24px; font-weight: 500; line-height: 1.5; letter-spacing: .48px; }
.venue-card dl > div { display: flex; min-height: 47px; align-items: center; padding-bottom: 11px; border-bottom: 1px dashed var(--navy); }
.venue-card dt { width: 200px; flex: 0 0 200px; }
.venue-card dd { margin: 0; white-space: nowrap; }
.venue-card__thumbs { display: flex; width: 661px; height: 133px; align-items: center; gap: 16px; }
.venue-card__thumb { position: relative; display: block; width: 200px; height: 133px; flex: 0 0 200px; overflow: hidden; padding: 0; border: 0; border-radius: 16px; background: transparent; cursor: pointer; }
.venue-card__thumbs img { width: 200px; height: 133px; border-radius: 16px; object-fit: cover; }
.venue-card__thumb::after { content: ""; position: absolute; inset: 0; border: 2px solid transparent; border-radius: inherit; background: transparent; pointer-events: none; transition: border-color 180ms ease, background-color 180ms ease; }
.venue-card__thumb[aria-current="true"]::after { border-color: var(--navy); background: rgba(0,55,107,.45); }
.venue-card__thumb:focus-visible { outline: 3px solid var(--navy); outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
  .venue-card__thumb:not([aria-current="true"]):hover::after { background: rgba(0,55,107,.14); }
}
.venue-card__main { width: 452px; height: 389px; max-width: none; border-radius: 16px; object-fit: cover; }
.about-dome--pc { position: absolute; left: 60px; top: 5650px; display: flex; width: 1321px; height: 352px; align-items: center; gap: 64px; }
.about-dome__photo { position: relative; width: 525px; height: 350px; overflow: hidden; border-radius: 16px; }
.about-dome__photo img { position: absolute; left: -5.56%; top: -5.03%; width: 111.11%; height: 110.06%; max-width: none; }
.about-top-link { position: absolute; left: 590px; top: 6122px; display: flex; width: 259px; height: 78px; align-items: center; justify-content: center; gap: 16px; border-radius: 36px; color: var(--paper); background: var(--navy); box-shadow: 0 4px 2px rgba(0,0,0,.25); font-size: 20px; font-weight: 500; line-height: 1.5; letter-spacing: 1px; transition: color 240ms ease, background-color 240ms ease; }
.about-top-link img { width: 25px; height: 25px; max-width: none; transition: filter 240ms ease; }
.about-top-link:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; color: var(--navy); background: var(--paper); }
.about-top-link:focus-visible img { filter: brightness(0) saturate(100%) invert(18%) sepia(25%) saturate(3475%) hue-rotate(174deg) brightness(80%) contrast(105%); }

@media (min-width: 700px) and (hover: hover) and (pointer: fine) {
  .about-top-link:hover { color: var(--navy); background: var(--paper); }
  .about-top-link:hover img { filter: brightness(0) saturate(100%) invert(18%) sepia(25%) saturate(3475%) hue-rotate(174deg) brightness(80%) contrast(105%); }
}

@media (min-width: 700px) and (max-width: 1439px) {
  .nwu-about-page .site-stage { height: calc(100vw * 6851 / 1440); }
}

@media (min-width: 1441px) {
  .nwu-about-page .site-stage { width: 100%; height: 6851px; overflow: visible; }
  .nwu-about-page .site-artboard { overflow: visible; }
  .about-page--pc,
  .about-page--pc .about-pagehead { overflow: visible; }
  .about-page--pc .about-pagehead__gradient,
  .about-page--pc .about-pagehead__wave {
    left: 50%;
    width: 100dvw;
    transform: translateX(-50%);
  }
}

@media (max-width: 699px) {
  .nwu-about-page .site-stage { width: 100%; height: calc(100vw * 8462 / 375); }
  .nwu-about-page .site-artboard { width: 375px; height: 8462px; }
  .nwu-about-page .site-footer { top: 7950px; }
  .about-page--sp { width: 375px; height: 8462px; }
  .about-pagehead--sp { top: 48px; width: 375px; height: 207px; }
  .about-pagehead--sp .about-pagehead__gradient { width: 375px; height: 200px; }
  .about-pagehead--sp .about-pagehead__fish { left: 136px; top: 32px; width: 239px; height: 134px; }
  .about-pagehead--sp .about-pagehead__copy { left: 20px; top: 37px; width: 335px; gap: 16px; }
  .about-pagehead--sp .about-breadcrumb { gap: 10px; height: 17px; font-size: 12px; line-height: 1.4; letter-spacing: .24px; }
  .about-pagehead--sp .about-breadcrumb img { width: 9px; height: 9px; }
  .about-pagehead--sp h1 { font-size: 30px; line-height: 1.4; letter-spacing: 1.5px; }
  .about-pagehead--sp .about-pagehead__wave { left: 0; top: 175px; width: 375px; }
  .about-pagehead--sp .about-pagehead__wave--one { height: 16.385px; }
  .about-pagehead--sp .about-pagehead__wave--two { height: 25px; }
  .about-lead--sp { left: 0; top: 279px; display: flex; width: 375px; height: 760px; flex-direction: column; gap: 24px; padding-bottom: 40px; }
  .about-lead--sp .about-lead__copy { width: 375px; gap: 20px; padding: 0 20px; }
  .about-lead--sp .about-lead__copy h2 { font-size: 26px; line-height: 1.4; letter-spacing: 1.3px; }
  .about-lead--sp .about-rule { width: 335px; }
  .about-lead--sp .about-lead__copy p { font-size: 18px; line-height: 2; letter-spacing: .36px; }
  .about-lead__visual-sp { position: relative; width: 375px; height: 224px; flex: 0 0 224px; }
  .about-lead__wrap { position: absolute; left: 40px; top: 71px; width: 297px; height: 139px; max-width: none; }
  .about-lead__photo { position: absolute; left: 0; top: 17px; width: 375px; height: 207px; max-width: none; }
  .about-section-copy { width: 335px; gap: 20px; }
  .about-section-title { gap: 24px; font-size: 26px; line-height: 1.4; letter-spacing: 1.3px; }
  .about-section-title img { width: 16px; height: 16px; }
  .about-section-lead { font-size: 20px; line-height: 1.5; letter-spacing: .4px; }
  .about-section-body { font-size: 18px; line-height: 2; letter-spacing: .36px; }
  .about-location--sp { position: absolute; left: 0; top: 1063px; width: 375px; height: 860px; overflow: visible; padding: 0 20px 40px; }
  .about-location--sp .about-location__map { left: -154px; top: 207px; width: 638px; height: 480px; opacity: .2; }
  .about-scene--sp { position: absolute; left: 0; top: 1947px; width: 375px; height: 1155px; padding: 0 20px 40px; }
  .about-scene--sp .scene-card { position: absolute; left: 0; top: 844px; width: 375px; height: 271px; }
  .about-scene--sp .scene-card__photo { left: 29px; top: 0; width: 317px; height: 211px; border-radius: 9.662px; }
  .about-scene--sp .scene-card figcaption { left: 20px; top: 225px; width: 335px; font-size: 13px; line-height: 1.5; letter-spacing: .26px; text-align: center; white-space: nowrap; }
  .about-scene--sp .scene-card__dots { left: 113.5px; top: 263px; width: 148px; height: 8px; gap: 12px; }
  .about-scene--sp .scene-card__dot { width: 8px; height: 8px; flex-basis: 8px; }
  .about-scene--sp .about-slider-arrow { top: 106px; width: 29px; height: 29px; background: var(--navy); }
  .about-scene--sp .about-slider-arrow img { width: 8px; height: 16px; }
  .about-scene--sp .about-slider-arrow--prev { left: 0; }
  .about-scene--sp .about-slider-arrow--next { right: 0; }
  .about-people--sp { position: absolute; left: 0; top: 3126px; display: flex; width: 375px; height: 1294px; flex-direction: column; align-items: center; gap: 24px; overflow: hidden; padding-bottom: 40px; }
  .about-people--sp .about-people__intro { display: flex; width: 375px; height: auto; flex-direction: column; align-items: flex-start; gap: 20px; padding: 0 20px; }
  .about-people--sp .about-people__hero { width: 335px; height: 223px; flex: 0 0 223px; border-radius: 16px; }
  .about-people--sp .people-slider { position: relative; left: auto; top: auto; width: 375px; height: 653px; flex: 0 0 653px; }
  .about-people--sp .people-slider__viewport { left: 0; top: 0; width: 375px; height: 605px; padding: 0 20px; }
  .about-people--sp .people-slider__track { gap: 24px; }
  .about-people--sp .person-card { width: 335px; height: 640px; flex-basis: 335px; gap: 24px; }
  .about-people--sp .person-card__copy { width: 335px; height: 300px; flex-basis: 300px; gap: 24px; }
  .about-people--sp .person-card h3 { font-size: 20px; line-height: 1.5; letter-spacing: .4px; }
  .about-people--sp .person-card__lead { font-size: 20px; line-height: 1.5; letter-spacing: .4px; }
  .about-people--sp .person-card__copy > p:last-child { font-size: 18px; line-height: 2; letter-spacing: .36px; }
  .about-people--sp .person-card__photo { width: 335px; height: 223px; flex-basis: 223px; }
  .about-people--sp .person-card__caption { font-size: 18px; line-height: 2; letter-spacing: .36px; text-align: left; }
  .about-people--sp .people-slider__arrow { top: 288px; width: 29px; height: 29px; background: var(--navy); }
  .about-people--sp .people-slider__arrow { transform: none; }
  .about-people--sp .people-slider__icon-frame { position: relative; display: block; width: 8px; height: 16px; }
  .about-people--sp .people-slider__icon-frame img { position: absolute; left: -1px; top: -1px; width: 10px; height: 18px; max-width: none; }
  .about-people--sp .people-slider__arrow--prev { left: 3px; }
  .about-people--sp .people-slider__arrow--prev .people-slider__icon-frame { transform: rotate(180deg); }
  .about-people--sp .people-slider__arrow--next { right: 3px; }
  .about-people--sp .people-slider__dots { left: 123.5px; top: 629px; display: flex; width: 128px; height: 14px; align-items: center; justify-content: center; gap: 24px; }
  .about-eat--sp { position: absolute; left: 0; top: 4444px; display: flex; width: 375px; height: 2550px; flex-direction: column; align-items: center; gap: 24px; overflow: hidden; padding-bottom: 40px; }
  .about-eat--sp .about-eat__intro { display: flex; width: 375px; height: auto; flex-direction: column; align-items: flex-start; gap: 24px; }
  .about-eat--sp .about-section-copy { margin: 0 20px; }
  .about-eat--sp .about-eat__hero { width: 375px; height: 250px; flex: 0 0 250px; border-radius: 16px; }
  .about-eat--sp .venue-list { width: 375px; gap: 24px; }
  .about-eat--sp .venue-card { display: flex; width: 375px; height: 592px; flex-direction: column; align-items: center; justify-content: flex-start; gap: 20px; }
  .about-eat--sp .venue-card::after { left: 0; bottom: 0; width: 375px; }
  .about-eat--sp .venue-card__details { width: 375px; height: 264px; flex: 0 0 264px; gap: 24px; padding: 0 20px; }
  .about-eat--sp .venue-card dl { width: 335px; gap: 10px; font-size: 16px; line-height: 1.5; letter-spacing: .32px; }
  .about-eat--sp .venue-card dl > div { height: 35px; min-height: 35px; padding-bottom: 11px; }
  .about-eat--sp .venue-card dt { width: 100px; flex-basis: 100px; }
  .about-eat--sp .venue-card dd { white-space: normal; }
  .about-eat--sp .venue-card__thumbs { width: 335px; height: 70px; gap: 10px; }
  .about-eat--sp .venue-card__thumb { width: 105px; height: 70px; flex-basis: 105px; }
  .about-eat--sp .venue-card__thumbs img { width: 105px; height: 70px; border-radius: 16px; }
  .about-eat--sp .venue-card__main { width: 335px; height: 288px; border-radius: 16px; }
  .about-dome--sp { position: absolute; left: 0; top: 7018px; display: flex; width: 375px; height: 774px; flex-direction: column; align-items: center; gap: 24px; padding-bottom: 40px; }
  .about-dome--sp .about-section-copy { width: 335px; }
  .about-dome--sp .about-dome__photo { width: 375px; height: 250px; flex: 0 0 250px; border-radius: 16px; }
  .about-top-link { left: 20px; top: 7816px; width: 335px; height: 70px; gap: 12px; padding: 14px 24px; font-size: 20px; line-height: 1.4; }
}

@media (prefers-reduced-motion: reduce) {
  .about-top-link,
  .about-top-link img,
  .people-slider__track { transition-duration: 0s; }
  .venue-card__thumb::after { transition-duration: 0s; }
  .scene-card__image.is-entering { animation: none; }
}

/* Company page: CompanyPage / CompanyPage_SP */
.nwu-company-page .site-artboard { height: 11238px; background: var(--pale); }
.nwu-company-page .site-stage { height: min(780.417vw, 11238px); }
.nwu-company-page .site-footer { top: 10707px; }
.company-page-shell,
.company-page { position: absolute; inset: 0; }
.company-page { overflow: hidden; isolation: isolate; color: #333; background: var(--pale); }
.company-canvas-bg { position: absolute; z-index: -10; inset: 0; background: var(--pale); }
.company-pagehead { position: absolute; left: 0; top: 80px; width: 1440px; height: 357px; overflow: hidden; color: var(--paper); }
.company-pagehead__gradient { position: absolute; left: 0; top: 0; width: 1440px; height: 300px; max-width: none; }
.company-pagehead__boat { position: absolute; left: 953px; top: 7px; width: 480px; height: 270px; max-width: none; object-fit: cover; mix-blend-mode: screen; }
.company-pagehead__copy { position: absolute; left: 227px; top: 76px; display: flex; width: 376px; flex-direction: column; gap: 32px; }
.company-breadcrumb { display: flex; align-items: center; gap: 16px; height: 24px; color: var(--paper); font-size: 16px; font-weight: 500; line-height: 1.5; letter-spacing: .32px; white-space: nowrap; }
.company-breadcrumb img { width: 12px; height: 12px; max-width: none; transform: rotate(90deg); }
.company-pagehead h1 { margin: 0; color: var(--paper); font-size: 40px; font-weight: 500; line-height: 1.5; letter-spacing: 2px; white-space: nowrap; }
.company-pagehead__wave { position: absolute; left: 1px; top: 260px; width: 1439px; max-width: none; }
.company-pagehead__wave--one { height: 63.015px; }
.company-pagehead__wave--two { top: 260.86px; height: 96.144px; }
.company-rule { display: block; width: 660px; height: 1px; background: rgba(0,55,107,.45); }
.company-lead { position: absolute; left: 60px; top: 454px; width: 1380px; height: 456px; }
.company-lead__copy { display: flex; width: 660px; flex-direction: column; gap: 64px; }
.company-lead__copy h2 { margin: 0; color: var(--navy); font-size: 40px; font-weight: 700; line-height: 1.4; letter-spacing: 2px; }
.company-lead__copy p { margin: 0; color: #333; font-size: 18px; font-weight: 500; line-height: 2; letter-spacing: .36px; }
.company-lead__visual { position: absolute; left: 685px; top: 40px; width: 695px; height: 415px; max-width: none; }
.company-section-title { display: flex; align-items: center; gap: 24px; margin: 0; color: var(--navy); font-size: 40px; font-weight: 700; line-height: 1.4; letter-spacing: 2px; }
.company-section-title img { width: 24px; height: 24px; max-width: none; }
.company-section-lead { margin: 0; color: #333; font-size: 24px; font-weight: 500; line-height: 1.5; letter-spacing: .48px; }
.company-section-body { margin: 0; color: #333; font-size: 18px; font-weight: 500; line-height: 2; letter-spacing: .36px; }
.company-section-body p { margin: 0; }
.company-guide { position: absolute; left: 60px; top: 1030px; width: 1320px; height: 784px; }
.company-guide__copy { display: flex; width: 660px; flex-direction: column; gap: 40px; }
.company-guide__photo-stack { position: absolute; left: 739px; top: 18px; width: 581px; height: 766px; }
.company-guide__photo-stack span { position: absolute; left: 0; top: 22px; width: 560px; height: 747px; border-radius: 16px; background: linear-gradient(91.69deg, #00376b 0%, #0072b1 100%); }
.company-guide__photo-stack img { position: absolute; left: 21px; top: 0; width: 560px; height: 747px; max-width: none; border-radius: 16px; object-fit: cover; }
.company-profile { position: absolute; left: 60px; top: 1934px; width: 1320px; height: 1780px; }
.company-profile > .company-section-title { height: 56px; }
.company-data { margin: 0; color: #333; font-size: 24px; font-weight: 500; line-height: 1.5; letter-spacing: .48px; }
.company-data--pc { display: flex; width: 1320px; flex-direction: column; gap: 40px; margin-top: 73px; padding: 40px 80px; }
.company-data__row { display: flex; width: 100%; align-items: center; gap: 64px; overflow: hidden; padding-bottom: 41px; border-bottom: 1px dashed var(--navy); }
.company-data dt { width: 200px; flex: 0 0 200px; margin: 0; }
.company-data dd { flex: 1; margin: 0; }
.company-data--pc .company-data__row--11 { align-items: flex-start; }
.company-history { position: absolute; left: 60px; top: 3834px; width: 1320px; height: 2152px; }
.company-history__intro { display: flex; width: 1320px; height: 420px; align-items: center; gap: 64px; }
.company-history__intro > div { display: flex; width: 660px; flex-direction: column; gap: 40px; }
.company-history__intro > img { width: 525px; height: 350px; border-radius: 16px; object-fit: cover; }
.company-timeline { position: relative; display: flex; flex-direction: column; gap: 64px; }
.company-timeline--pc { width: 1190px; margin: 40px auto 0; }
.company-timeline::before { content: ""; position: absolute; z-index: -1; width: 2px; background: var(--blue); }
.company-timeline--pc::before { left: 188px; top: 33.5px; bottom: 33.5px; }
.timeline-row { display: flex; width: 100%; align-items: flex-start; gap: 64px; }
.timeline-row__year { display: flex; width: 197px; flex: 0 0 197px; align-items: center; gap: 64px; }
.company-timeline--pc .timeline-row__year { height: 67px; }
.timeline-row__year time { display: block; width: 117px; color: rgba(0,55,107,.5); font-size: 48px; font-weight: 700; line-height: 1.4; letter-spacing: .96px; }
.timeline-row__year img { width: 16px; height: 16px; max-width: none; }
.timeline-row__events { display: flex; flex: 1; flex-direction: column; gap: 48px; }
.company-timeline--pc .timeline-row__events { gap: 64px; translate: 0 calc((67px - 36px) / 2); }
.timeline-event { display: flex; width: 100%; align-items: center; gap: 64px; color: #333; }
.timeline-event span { width: 56px; flex: 0 0 56px; font-size: 20px; font-weight: 700; line-height: 1.4; letter-spacing: .4px; }
.timeline-event p { margin: 0; font-size: 18px; font-weight: 500; line-height: 2; letter-spacing: .36px; }
.company-work { position: absolute; left: 60px; top: 6106px; width: 1320px; height: 1278px; overflow: hidden; }
.company-work__intro { display: flex; width: 1320px; height: 350px; align-items: center; gap: 64px; }
.company-work__intro > div { display: flex; width: 660px; flex-direction: column; gap: 40px; }
.company-work__intro > img { width: 525px; height: 350px; border-radius: 16px; object-fit: cover; }
.company-work-slider { position: relative; width: 1320px; height: 864px; margin-top: 64px; }
.company-work-slider__viewport { position: absolute; left: 40px; top: 0; width: 1243px; height: 794px; overflow: hidden; touch-action: pan-y; }
.company-work-slider__track { display: flex; width: max-content; gap: 40px; transform: translate3d(0,0,0); transition: transform 320ms cubic-bezier(.22,.61,.36,1); }
.company-work-card { display: flex; width: 603px; height: 778px; flex: 0 0 603px; flex-direction: column; align-items: center; gap: 24px; }
.company-work-card__copy { display: flex; width: 603px; height: 340px; flex: 0 0 340px; flex-direction: column; gap: 24px; }
.company-work-card h3,
.company-subtitle { display: flex; align-items: center; gap: 8px; margin: 0; color: #333; font-size: 24px; font-weight: 500; line-height: 1.5; letter-spacing: .48px; }
.company-work-card h3 img,
.company-subtitle img { width: 14px; height: 14px; max-width: none; }
.company-work-card__lead { margin: 0; color: var(--navy); font-size: 20px; font-weight: 500; line-height: 1.5; letter-spacing: .4px; }
.company-work-card__copy > p:last-child { margin: 0; color: #333; font-size: 18px; font-weight: 500; line-height: 2; letter-spacing: .36px; }
.company-work-card__photo { width: 540px; height: 360px; max-width: none; border-radius: 16px; object-fit: cover; }
.company-work-card__caption { margin: 0; color: #333; font-size: 18px; font-weight: 500; line-height: 2; letter-spacing: .36px; }
.company-work-slider__arrow { position: absolute; top: 374px; display: grid; width: 48px; height: 48px; padding: 0; place-items: center; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.company-work-slider__arrow img { width: 48px; height: 48px; max-width: none; }
.company-work-slider__arrow--prev { left: 0; }
.company-work-slider__arrow--prev img { transform: scaleX(-1); transform-origin: center; }
.company-work-slider__arrow--next { right: 0; }
.company-work-slider__arrow:disabled { cursor: default; }
.company-work-slider__dots { position: absolute; left: 631px; top: 788px; display: flex; width: 58px; height: 14px; align-items: center; justify-content: center; gap: 30px; }
.company-work-slider__dot { width: 14px; height: 14px; flex: 0 0 14px; padding: 0; border: 0; border-radius: 50%; background: var(--blue); cursor: pointer; }
.company-work-slider__dot[aria-current="true"] { background: var(--navy); }
.company-work-slider__dot:focus-visible,
.company-work-slider__arrow:focus-visible { outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 5px var(--navy); }
.company-terms { position: absolute; left: 60px; top: 7504px; display: flex; width: 1320px; height: 1422px; flex-direction: column; gap: 40px; }
.company-terms .company-subtitle { margin-left: 40px; }
.company-data--terms-pc { display: flex; width: 1320px; flex-direction: column; gap: 40px; padding: 40px; }
.company-data--terms-pc .company-data__row:nth-child(4) { height: 113px; }
.company-data--terms-pc .company-data__row:nth-child(n+5) { align-items: center; }
.company-access { position: absolute; left: 60px; top: 9046px; display: flex; width: 1320px; height: 1343px; flex-direction: column; gap: 40px; }
.company-access__grid { display: grid; width: 1320px; padding: 0 40px; grid-template-columns: 579px 525px; grid-auto-rows: 350px; gap: 40px 64px; }
.company-access__copy { display: flex; width: 579px; flex-direction: column; gap: 24px; }
.company-access__copy ul { margin: 0; padding-left: 27px; color: #333; font-size: 18px; font-weight: 500; line-height: 2; letter-spacing: .36px; }
.company-map { width: 525px; height: 350px; border: 0; background: #d9d9d9; }
.company-access__lead { margin: 0; color: var(--navy); font-size: 20px; font-weight: 500; line-height: 1.5; letter-spacing: .4px; }
.company-access__copy--facility > p:last-child { margin: 0; font-size: 18px; font-weight: 500; line-height: 2; letter-spacing: .36px; }
.company-access__photo { width: 525px; height: 350px; max-width: none; border-radius: 16px; object-fit: cover; }
.company-data--access-pc { display: flex; width: 1320px; flex-direction: column; gap: 40px; padding: 0 40px 40px; }
.company-top-link { position: absolute; left: 590px; top: 10509px; display: flex; width: 259px; height: 78px; align-items: center; justify-content: center; gap: 16px; border-radius: 36px; color: var(--paper); background: var(--navy); box-shadow: 0 4px 2px rgba(0,0,0,.25); font-size: 20px; font-weight: 500; line-height: 1.5; letter-spacing: 1px; transition: color 240ms ease, background-color 240ms ease; }
.company-top-link img { width: 25px; height: 25px; max-width: none; transition: filter 240ms ease; }
.company-top-link:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; color: var(--navy); background: var(--paper); }
.company-top-link:focus-visible img { filter: brightness(0) saturate(100%) invert(18%) sepia(25%) saturate(3475%) hue-rotate(174deg) brightness(80%) contrast(105%); }

@media (min-width: 700px) and (hover: hover) and (pointer: fine) {
  .company-top-link:hover { color: var(--navy); background: var(--paper); }
  .company-top-link:hover img { filter: brightness(0) saturate(100%) invert(18%) sepia(25%) saturate(3475%) hue-rotate(174deg) brightness(80%) contrast(105%); }
}

@media (min-width: 700px) and (max-width: 1439px) {
  .nwu-company-page .site-stage { height: calc(100vw * 11238 / 1440); }
}

@media (min-width: 1441px) {
  .nwu-company-page .site-stage { width: 100%; height: 11238px; overflow: visible; }
  .nwu-company-page .site-artboard { overflow: visible; }
  .company-page--pc,
  .company-page--pc .company-pagehead { overflow: visible; }
  .company-page--pc .company-pagehead__gradient,
  .company-page--pc .company-pagehead__wave {
    left: 50%;
    width: 100dvw;
    transform: translateX(-50%);
  }
}

@media (max-width: 699px) {
  .nwu-company-page .site-stage { width: 100%; height: calc(100vw * 11133 / 375); }
  .nwu-company-page .site-artboard { width: 375px; height: 11133px; }
  .nwu-company-page .site-footer { top: 10621px; }
  .company-page--sp { width: 375px; height: 11133px; }
  .company-pagehead--sp { top: 48px; width: 375px; height: 207px; }
  .company-pagehead--sp .company-pagehead__gradient { width: 375px; height: 200px; }
  .company-pagehead--sp .company-pagehead__boat { left: 136px; top: 32px; width: 239px; height: 134px; }
  .company-pagehead--sp .company-pagehead__copy { left: 20px; top: 37px; width: 335px; gap: 16px; }
  .company-pagehead--sp .company-breadcrumb { gap: 10px; height: 17px; font-size: 12px; line-height: 1.4; letter-spacing: .24px; }
  .company-pagehead--sp .company-breadcrumb img { width: 9px; height: 9px; }
  .company-pagehead--sp h1 { font-size: 30px; line-height: 1.4; letter-spacing: 1.5px; }
  .company-pagehead--sp .company-pagehead__wave { left: 0; top: 175px; width: 375px; }
  .company-pagehead--sp .company-pagehead__wave--one { height: 16.385px; }
  .company-pagehead--sp .company-pagehead__wave--two { height: 25px; }
  .company-lead--sp { left: 0; top: 279px; display: flex; width: 375px; height: 832px; flex-direction: column; gap: 24px; padding-bottom: 40px; }
  .company-lead--sp .company-lead__copy { width: 375px; gap: 20px; padding: 0 20px; }
  .company-lead--sp .company-lead__copy h2 { font-size: 26px; line-height: 1.4; letter-spacing: 1.3px; }
  .company-lead--sp .company-rule { width: 335px; }
  .company-lead--sp .company-lead__copy p { font-size: 18px; line-height: 2; letter-spacing: .36px; }
  .company-lead__visual-sp { position: relative; width: 375px; height: 224px; flex: 0 0 224px; }
  .company-lead__wrap { position: absolute; left: 40px; top: 71px; width: 297px; height: 139px; max-width: none; }
  .company-lead__photo { position: absolute; left: 0; top: 17px; width: 375px; height: 207px; max-width: none; }
  .company-section-title { width: 335px; gap: 24px; font-size: 26px; line-height: 1.4; letter-spacing: 1.3px; }
  .company-section-title img { width: 16px; height: 16px; }
  .company-section-lead { font-size: 20px; line-height: 1.5; letter-spacing: .4px; }
  .company-section-body { font-size: 18px; line-height: 2; letter-spacing: .36px; }
  .company-guide--sp { left: 0; top: 1135px; display: flex; width: 375px; height: 1717px; flex-direction: column; gap: 24px; padding: 0 20px 40px; }
  .company-guide--sp .company-guide__copy { width: 335px; gap: 20px; }
  .company-guide--sp .company-section-body p:nth-child(3) { width: 330px; }
  .company-guide--sp .company-guide__photo-stack { position: relative; left: auto; top: auto; width: 335px; height: 443px; flex: 0 0 443px; }
  .company-guide--sp .company-guide__photo-stack span { left: 0; top: 12px; width: 323px; height: 431px; }
  .company-guide--sp .company-guide__photo-stack img { left: 12px; top: 0; width: 323px; height: 431px; }
  .company-profile--sp { left: 0; top: 2876px; width: 375px; height: 869px; padding: 0 20px 40px; }
  .company-data { font-size: 16px; line-height: 1.5; letter-spacing: .32px; }
  .company-data--sp { display: flex; width: 335px; flex-direction: column; gap: 10px; margin-top: 20px; }
  .company-data__row { gap: 0; padding-bottom: 11px; }
  .company-data dt { width: 100px; flex-basis: 100px; }
  .company-data--sp .company-data__row { align-items: flex-start; }
  .company-history--sp { left: 0; top: 3769px; width: 375px; height: 2547px; padding-bottom: 40px; }
  .company-history--sp .company-history__intro { display: flex; width: 375px; height: auto; flex-direction: column; align-items: flex-start; gap: 24px; padding: 0 20px; }
  .company-history--sp .company-history__intro > div { width: 335px; gap: 20px; }
  .company-history--sp .company-history__intro > img { width: 335px; height: 223px; flex: 0 0 223px; }
  .company-timeline--sp { width: 375px; gap: 24px; margin-top: 24px; padding: 0 20px; }
  .company-timeline--sp::before { left: 101px; top: 8px; bottom: 18px; }
  .company-timeline--sp .timeline-row { align-items: center; gap: 16px; }
  .company-timeline--sp .timeline-row__year { width: 91px; flex-basis: 91px; gap: 16px; }
  .company-timeline--sp .timeline-row:has(.timeline-event:first-child span:not(:empty)) { align-items: flex-start; }
  .company-timeline--sp .timeline-row:has(.timeline-event:first-child span:not(:empty)) .timeline-row__year { align-items: flex-start; }
  .company-timeline--sp .timeline-row__year time { width: 59px; font-size: 24px; line-height: 1.4; letter-spacing: .48px; }
  .company-timeline--sp .timeline-row:nth-child(1) { height: 184px; }
  .company-timeline--sp .timeline-row:nth-child(2) { height: 134px; }
  .company-timeline--sp .timeline-row:nth-child(3) { height: 36px; }
  .company-timeline--sp .timeline-row:nth-child(4) { height: 108px; }
  .company-timeline--sp .timeline-row:nth-child(5) { height: 134px; }
  .company-timeline--sp .timeline-row:nth-child(6),
  .company-timeline--sp .timeline-row:nth-child(7),
  .company-timeline--sp .timeline-row:nth-child(8),
  .company-timeline--sp .timeline-row:nth-child(9),
  .company-timeline--sp .timeline-row:nth-child(12) { height: 108px; }
  .company-timeline--sp .timeline-row:nth-child(10),
  .company-timeline--sp .timeline-row:nth-child(11) { height: 72px; }
  .company-timeline--sp .timeline-row:nth-child(13) { height: 36px; }
  .company-timeline--sp .timeline-row__events { min-width: 0; gap: 24px; }
  .company-timeline--sp .timeline-event { flex-direction: column; align-items: flex-start; gap: 4px; }
  .company-timeline--sp .timeline-event span { width: auto; flex-basis: auto; font-size: 16px; line-height: 1.4; letter-spacing: .32px; }
  .company-timeline--sp .timeline-event p { font-size: 18px; line-height: 2; letter-spacing: .36px; }
  .company-work--sp { left: 0; top: 6340px; display: flex; width: 375px; height: 1514px; flex-direction: column; gap: 24px; overflow: hidden; padding-bottom: 40px; }
  .company-work--sp .company-work__intro { display: flex; width: 375px; height: auto; flex-direction: column; align-items: flex-start; gap: 20px; padding: 0 20px; }
  .company-work--sp .company-work__intro > div { width: 335px; gap: 20px; }
  .company-work--sp .company-work__intro > img { width: 335px; height: 223px; flex: 0 0 223px; }
  .company-work--sp .company-work-slider { width: 375px; height: 757px; flex: 0 0 757px; margin: 0; }
  .company-work--sp .company-work-slider__viewport { left: 0; top: 0; width: 375px; height: 717px; padding: 0 20px; }
  .company-work--sp .company-work-slider__track { gap: 24px; }
  .company-work--sp .company-work-card { width: 335px; height: 717px; flex-basis: 335px; align-items: flex-start; gap: 20px; }
  .company-work--sp .company-work-card__copy { width: 335px; height: 426px; flex-basis: auto; gap: 20px; }
  .company-work--sp .company-work-card h3 { font-size: 20px; line-height: 1.5; letter-spacing: .4px; }
  .company-work--sp .company-work-card__lead { font-size: 20px; line-height: 1.5; letter-spacing: .4px; }
  .company-work--sp .company-work-card__copy > p:last-child { font-size: 18px; line-height: 2; letter-spacing: .36px; }
  .company-work--sp .company-work-card__photo { width: 335px; height: 223px; flex: 0 0 223px; }
  .company-work--sp .company-work-card__caption { font-size: 14px; line-height: 2; letter-spacing: .28px; }
  .company-work--sp .company-work-slider__arrow { z-index: 2; top: 543px; width: 29px; height: 29px; background: var(--navy); }
  .company-work--sp .company-work-slider__arrow--prev { left: 3px; }
  .company-work--sp .company-work-slider__arrow--next { right: 3px; }
  .company-work--sp .company-work-slider__arrow--prev img { transform: none; }
  .company-work--sp .company-work-slider__icon-frame { position: relative; display: block; width: 8px; height: 16px; }
  .company-work--sp .company-work-slider__icon-frame img { position: absolute; left: -1px; top: -1px; width: 10px; height: 18px; max-width: none; }
  .company-work--sp .company-work-slider__arrow--prev .company-work-slider__icon-frame { transform: rotate(180deg); }
  .company-work--sp .company-work-slider__dots { left: 142.5px; top: 733px; width: 90px; height: 14px; }
  .company-terms--sp { left: 0; top: 7878px; display: flex; width: 375px; height: 1020px; gap: 20px; padding: 0 20px 40px; }
  .company-terms--sp .company-subtitle { margin: 0; }
  .company-subtitle { font-size: 20px; line-height: 1.5; letter-spacing: .4px; }
  .company-data--terms-sp { display: flex; width: 335px; flex-direction: column; gap: 10px; }
  .company-data--terms-sp .company-data__row { align-items: flex-start; }
  .company-access--sp { left: 0; top: 8922px; display: flex; width: 375px; height: 1541px; gap: 20px; padding: 0 20px 40px; }
  .company-access--sp .company-access__copy { width: 335px; gap: 20px; }
  .company-access--sp .company-access__copy ul { padding-left: 27px; font-size: 18px; line-height: 2; letter-spacing: .36px; }
  .company-access--sp .company-map { width: 335px; height: 223px; flex: 0 0 223px; }
  .company-access--sp .company-access__lead { font-size: 20px; line-height: 1.5; letter-spacing: .4px; }
  .company-access--sp .company-access__copy--facility > p:last-child { font-size: 18px; line-height: 2; letter-spacing: .36px; }
  .company-access--sp .company-access__photo { width: 335px; height: 223px; flex: 0 0 223px; }
  .company-data--access-sp { display: flex; width: 335px; flex-direction: column; gap: 10px; }
  .company-data--access-sp .company-data__row { align-items: flex-start; }
  .company-top-link { left: 20px; top: 10507px; width: 335px; height: 70px; gap: 12px; padding: 14px 24px; font-size: 20px; line-height: 1.4; }
}

@media (prefers-reduced-motion: reduce) {
  .company-top-link,
  .company-top-link img,
  .company-work-slider__track { transition-duration: 0s; }
}

/* Fish dictionary: DictionaryPage / DictionaryPage_SP */
.nwu-dictionary-page .site-stage { height: min(420.139vw, 6050px); }
.nwu-dictionary-page .site-artboard { height: 6050px; background: var(--pale); }
.nwu-dictionary-page .site-footer { top: 5519px; }
.dictionary-page-shell,
.dictionary-page { position: absolute; inset: 0; }
.dictionary-page { overflow: hidden; isolation: isolate; color: #333; background: var(--pale); }
.dictionary-pagehead { position: absolute; left: 0; top: 80px; width: 1440px; height: 357px; overflow: hidden; color: var(--paper); }
.dictionary-pagehead__gradient { position: absolute; left: 0; top: 0; width: 1440px; height: 300px; max-width: none; }
.dictionary-pagehead__boat { position: absolute; left: 953px; top: 7px; width: 480px; height: 270px; max-width: none; object-fit: cover; mix-blend-mode: screen; }
.dictionary-pagehead__copy { position: absolute; left: 227px; top: 76px; display: flex; width: 500px; flex-direction: column; gap: 32px; }
.dictionary-breadcrumb { display: flex; align-items: center; gap: 16px; height: 24px; color: var(--paper); font-size: 16px; font-weight: 500; line-height: 1.5; letter-spacing: .32px; white-space: nowrap; }
.dictionary-breadcrumb img { width: 12px; height: 12px; max-width: none; transform: rotate(90deg); }
.dictionary-pagehead h1 { margin: 0; color: var(--paper); font-size: 40px; font-weight: 500; line-height: 1.5; letter-spacing: 2px; white-space: nowrap; }
.dictionary-pagehead__wave { position: absolute; left: 1px; top: 260px; width: 1439px; max-width: none; }
.dictionary-pagehead__wave--one { height: 63.015px; }
.dictionary-pagehead__wave--two { top: 260.86px; height: 96.144px; }
.dictionary-section-head h2 { display: flex; align-items: center; gap: 24px; margin: 0; color: var(--navy); font-size: 40px; font-weight: 700; line-height: 1.4; letter-spacing: 2px; }
.dictionary-section-head h2 img { width: 24px; height: 24px; max-width: none; }
.dictionary-section-head > p { margin: 32px 0 0; color: #333; font-size: 24px; font-weight: 500; line-height: 1.5; letter-spacing: .48px; }
.dictionary-fish--pc { position: absolute; left: 60px; top: 454px; width: 1320px; height: 1923px; }
.dictionary-fish--pc .dictionary-fish-list { position: absolute; left: 0; top: 172px; display: grid; width: 1320px; height: 1751px; grid-template-columns: repeat(2, 660px); grid-auto-rows: 310px; column-gap: 0; row-gap: 40px; }
.dictionary-fish-entry { position: relative; }
.dictionary-fish-entry::before,
.dictionary-fish-list__end::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: #ccd9e0; }
.dictionary-fish-entry::after,
.dictionary-fish-list__end::after { content: ""; position: absolute; left: 24px; top: -3px; width: 40px; height: 3px; background: linear-gradient(90deg, #00376b, #0072b1); }
.dictionary-fish-entry__top { display: grid; height: 204px; grid-template-columns: 200px 238px; align-items: center; justify-content: center; gap: 32px; padding-top: 10px; }
.dictionary-fish-entry h3 { display: flex; align-items: flex-end; justify-content: center; margin: 0; color: #333; font-weight: 700; line-height: 1; text-align: center; white-space: nowrap; }
.dictionary-fish-entry__kanji-part { color: transparent; background: linear-gradient(108deg, #797e82 8%, #1a1b1c 92%); -webkit-background-clip: text; background-clip: text; font-weight: 700; line-height: 1; white-space: nowrap; }
.dictionary-fish-entry__kanji-part.is-large { font-size: 96px; letter-spacing: 4.8px; }
.dictionary-fish-entry__kanji-part.is-small { margin-bottom: 9px; font-size: 40px; letter-spacing: 2px; }
.dictionary-fish-entry__visual { display: flex; width: 238px; height: 184px; flex-direction: column; align-items: flex-start; padding-top: 17px; }
.dictionary-fish-entry__visual p { display: flex; height: 36px; align-items: center; gap: 8px; margin: 0 0 5px; color: var(--navy); font-size: 24px; font-weight: 500; line-height: 1.5; letter-spacing: .48px; white-space: nowrap; }
.dictionary-fish-entry__visual p img { width: 14px; height: 14px; max-width: none; }
.dictionary-fish-entry__image { max-width: none; object-fit: contain; object-position: left center; }
.dictionary-fish-entry--aji .dictionary-fish-entry__image { width: 200px; height: 95px; }
.dictionary-fish-entry--saba .dictionary-fish-entry__image { width: 201px; height: 109px; }
.dictionary-fish-entry--hirame .dictionary-fish-entry__image { width: 200px; height: 147px; }
.dictionary-fish-entry--uchiwaebi .dictionary-fish-entry__image { width: 178px; height: 141px; }
.dictionary-fish-entry--ika .dictionary-fish-entry__image { width: 133px; height: 156px; }
.dictionary-fish-entry--kawahagi .dictionary-fish-entry__image { width: 163px; height: 153px; }
.dictionary-fish-entry--tai .dictionary-fish-entry__image { width: 200px; height: 139px; }
.dictionary-fish-entry--buri .dictionary-fish-entry__image { width: 238px; height: 119px; }
.dictionary-fish-entry--awabi .dictionary-fish-entry__image { width: 151px; height: 146px; }
.dictionary-fish-entry--sazae .dictionary-fish-entry__image { width: 134px; height: 163px; }
.dictionary-fish-entry ul { display: flex; flex-direction: column; gap: 0; margin: 8px 24px 0; padding-left: 26px; color: #333; font-size: 18px; font-weight: 500; line-height: 2; letter-spacing: .36px; }
.dictionary-fish-entry li::marker { color: #333; font-size: .8em; }
.dictionary-fish-list__end { position: absolute; left: 0; top: 1750px; width: 1320px; height: 1px; }
.dictionary-fish-list__end::after { content: none; }
.dictionary-methods--pc { position: absolute; left: 60px; top: 2497px; width: 1320px; height: 1404px; }
.dictionary-methods--pc .dictionary-method-list { position: absolute; left: 0; top: 244px; display: flex; width: 1320px; height: 1160px; flex-direction: column; gap: 40px; }
.dictionary-method { display: flex; width: 1280px; height: 360px; align-items: flex-start; justify-content: space-between; margin-left: 40px; }
.dictionary-method__copy { display: flex; width: 603px; flex-direction: column; gap: 20px; }
.dictionary-method h3 { display: flex; align-items: center; gap: 8px; margin: 0; color: #333; font-size: 24px; font-weight: 500; line-height: 1.5; letter-spacing: .48px; }
.dictionary-method h3 img { width: 14px; height: 14px; max-width: none; }
.dictionary-method__lead { margin: 0; color: var(--navy); font-size: 20px; font-weight: 500; line-height: 1.5; letter-spacing: .4px; }
.dictionary-method__body { margin: 0; color: #333; font-size: 18px; font-weight: 500; line-height: 2; letter-spacing: .36px; }
.dictionary-method__image { width: 540px; height: 360px; max-width: none; border-radius: 16px; object-fit: cover; }
.dictionary-journey--pc { position: absolute; left: 60px; top: 4021px; width: 1320px; height: 1180px; }
.dictionary-journey--pc .dictionary-journey-grid { position: absolute; left: 0; top: 196px; display: grid; width: 1320px; height: 984px; grid-template-columns: repeat(3, 420px); grid-template-rows: repeat(2, 460px); gap: 64px 30px; }
.dictionary-journey-card { position: relative; display: flex; width: 420px; height: 460px; flex-direction: column; padding: 24px; border-radius: 16px; box-shadow: 0 8px 16px rgba(0, 55, 107, .12); }
.dictionary-journey-card.is-dark { color: var(--paper); background: var(--navy); }
.dictionary-journey-card.is-light { color: #333; background: var(--paper); }
.dictionary-step { position: relative; width: 120px; height: 60px; flex: 0 0 60px; }
.dictionary-step img { position: absolute; inset: 0; width: 120px; height: 60px; max-width: none; }
.dictionary-step span { position: absolute; inset: 0; display: grid; place-items: center; padding-left: 17px; color: var(--navy); font-size: 16px; font-weight: 700; line-height: 1.4; letter-spacing: .32px; white-space: nowrap; }
.dictionary-journey-card.is-light .dictionary-step span { color: var(--paper); }
.dictionary-journey-card h3 { position: absolute; left: 168px; top: 36px; width: 225px; margin: 0; font-size: 20px; font-weight: 500; line-height: 1.5; letter-spacing: .4px; white-space: nowrap; }
.dictionary-journey-card:nth-child(n+4) h3 { font-size: 24px; }
.dictionary-journey-card__image { width: 352px; height: 190px; flex: 0 0 190px; margin-top: 24px; border-radius: 12px; object-fit: cover; }
.dictionary-journey-card > p { margin: 18px 0 0; font-size: 18px; font-weight: 500; line-height: 2; letter-spacing: .36px; }
.dictionary-journey-arrow { position: absolute; z-index: 4; width: 13px; height: 22px; max-width: none; }
.dictionary-journey-arrow--1 { left: 433px; top: 221px; }
.dictionary-journey-arrow--2 { left: 878px; top: 221px; }
.dictionary-journey-arrow--3 { left: 424px; top: 789px; }
.dictionary-journey-arrow--4 { left: 884px; top: 789px; }
.dictionary-top-link { position: absolute; left: 590px; top: 5321px; display: flex; width: 259px; height: 78px; align-items: center; justify-content: center; gap: 16px; border-radius: 36px; color: var(--paper); background: var(--navy); box-shadow: 0 4px 2px rgba(0,0,0,.25); font-size: 20px; font-weight: 500; line-height: 1.5; letter-spacing: 1px; transition: color 240ms ease, background-color 240ms ease; }
.dictionary-top-link img { width: 25px; height: 25px; max-width: none; transition: filter 240ms ease; }
.dictionary-top-link:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; color: var(--navy); background: var(--paper); }
.dictionary-top-link:focus-visible img { filter: brightness(0) saturate(100%) invert(18%) sepia(25%) saturate(3475%) hue-rotate(174deg) brightness(80%) contrast(105%); }

@media (min-width: 700px) and (hover: hover) and (pointer: fine) {
  .dictionary-top-link:hover { color: var(--navy); background: var(--paper); }
  .dictionary-top-link:hover img { filter: brightness(0) saturate(100%) invert(18%) sepia(25%) saturate(3475%) hue-rotate(174deg) brightness(80%) contrast(105%); }
}

@media (min-width: 700px) and (max-width: 1439px) {
  .nwu-dictionary-page .site-stage { height: calc(100vw * 6050 / 1440); }
}

@media (min-width: 1441px) {
  .nwu-dictionary-page .site-stage { width: 100%; height: 6050px; overflow: visible; }
  .nwu-dictionary-page .site-artboard { overflow: visible; }
  .dictionary-page--pc,
  .dictionary-page--pc .dictionary-pagehead { overflow: visible; }
  .dictionary-page--pc .dictionary-pagehead__gradient,
  .dictionary-page--pc .dictionary-pagehead__wave { left: 50%; width: 100dvw; transform: translateX(-50%); }
}

@media (max-width: 699px) {
  .nwu-dictionary-page .site-stage { width: 100%; height: calc(100vw * 9449 / 375); }
  .nwu-dictionary-page .site-artboard { width: 375px; height: 9449px; }
  .nwu-dictionary-page .site-footer { top: 8937px; }
  .dictionary-page--sp { width: 375px; height: 9449px; }
  .dictionary-pagehead--sp { top: 48px; width: 375px; height: 207px; }
  .dictionary-pagehead--sp .dictionary-pagehead__gradient { width: 375px; height: 200px; }
  .dictionary-pagehead--sp .dictionary-pagehead__boat { left: 136px; top: 32px; width: 239px; height: 134px; }
  .dictionary-pagehead--sp .dictionary-pagehead__copy { left: 20px; top: 37px; width: 335px; gap: 16px; }
  .dictionary-pagehead--sp .dictionary-breadcrumb { gap: 10px; height: 17px; font-size: 12px; line-height: 1.4; letter-spacing: .24px; }
  .dictionary-pagehead--sp .dictionary-breadcrumb img { width: 9px; height: 9px; }
  .dictionary-pagehead--sp h1 { font-size: 30px; line-height: 1.4; letter-spacing: 1.5px; }
  .dictionary-pagehead--sp .dictionary-pagehead__wave { left: 0; top: 175px; width: 375px; }
  .dictionary-pagehead--sp .dictionary-pagehead__wave--one { height: 16.385px; }
  .dictionary-pagehead--sp .dictionary-pagehead__wave--two { height: 25px; }
  .dictionary-pagehead--sp::after { content: ""; position: absolute; z-index: 2; left: 0; top: 199px; width: 375px; height: 8px; background: var(--pale); }
  .dictionary-pagehead--sp h1 { font-size: 28px; letter-spacing: 1.4px; }
  .dictionary-section-head h2 { gap: 24px; font-size: 26px; line-height: 1.4; letter-spacing: 1.3px; }
  .dictionary-section-head h2 img { width: 16px; height: 16px; }
  .dictionary-section-head > p { margin-top: 20px; font-size: 20px; line-height: 1.5; letter-spacing: .4px; }
  .dictionary-fish--sp { position: absolute; left: 0; top: 279px; width: 375px; height: 3339px; padding: 0 20px 40px; }
  .dictionary-fish--sp .dictionary-fish-list { position: absolute; left: 20px; top: 136px; display: flex; width: 335px; height: 3163px; flex-direction: column; gap: 20px; }
  .dictionary-fish--sp .dictionary-fish-entry { width: 335px; flex: 0 0 auto; }
  .dictionary-fish--sp .dictionary-fish-entry:nth-child(1) { height: 252px; }
  .dictionary-fish--sp .dictionary-fish-entry:nth-child(2) { height: 266px; }
  .dictionary-fish--sp .dictionary-fish-entry:nth-child(3) { height: 304px; }
  .dictionary-fish--sp .dictionary-fish-entry:nth-child(4) { height: 335px; }
  .dictionary-fish--sp .dictionary-fish-entry:nth-child(5) { height: 313px; }
  .dictionary-fish--sp .dictionary-fish-entry:nth-child(6) { height: 310px; }
  .dictionary-fish--sp .dictionary-fish-entry:nth-child(7) { height: 296px; }
  .dictionary-fish--sp .dictionary-fish-entry:nth-child(8) { height: 261px; }
  .dictionary-fish--sp .dictionary-fish-entry:nth-child(9) { height: 303px; }
  .dictionary-fish--sp .dictionary-fish-entry:nth-child(10) { height: 320px; }
  .dictionary-fish-entry::after { left: 12px; }
  .dictionary-fish-entry__top { display: grid; height: auto; min-height: 0; grid-template-columns: 112px 207px; align-items: start; justify-content: start; gap: 16px; margin-top: 15px; padding-top: 0; }
  .dictionary-fish-entry--aji .dictionary-fish-entry__top { height: 141px; }
  .dictionary-fish-entry--saba .dictionary-fish-entry__top { height: 155px; }
  .dictionary-fish-entry--hirame .dictionary-fish-entry__top { height: 193px; }
  .dictionary-fish-entry--uchiwaebi .dictionary-fish-entry__top { height: 224px; }
  .dictionary-fish-entry--ika .dictionary-fish-entry__top { height: 202px; }
  .dictionary-fish-entry--kawahagi .dictionary-fish-entry__top { height: 199px; }
  .dictionary-fish-entry--tai .dictionary-fish-entry__top { height: 185px; }
  .dictionary-fish-entry--buri .dictionary-fish-entry__top { height: 150px; }
  .dictionary-fish-entry--awabi .dictionary-fish-entry__top { height: 192px; }
  .dictionary-fish-entry--sazae .dictionary-fish-entry__top { height: 209px; }
  .dictionary-fish-entry h3 { align-self: start; justify-content: flex-start; text-align: left; }
  .dictionary-fish-entry__kanji-part.is-large { font-size: 56px; letter-spacing: 2.8px; }
  .dictionary-fish-entry__kanji-part.is-small { margin-bottom: 5px; font-size: 24px; letter-spacing: 1.2px; }
  .dictionary-fish-entry__visual { width: 207px; height: auto; padding-top: 0; }
  .dictionary-fish-entry__visual p { height: 30px; margin-bottom: 16px; font-size: 20px; line-height: 1.5; letter-spacing: .4px; }
  .dictionary-fish-entry ul { margin: 0; padding-left: 27px; font-size: 16px; line-height: 2; letter-spacing: .32px; }
  .dictionary-fish-entry li { padding-left: 0; }
  .dictionary-fish-entry--buri .dictionary-fish-entry__image { width: 207px; height: 104px; }
  .dictionary-fish-list__end { left: 0; top: 3160px; width: 335px; height: 3px; }
  .dictionary-methods--sp { position: absolute; left: 0; top: 3642px; width: 375px; height: 2115px; padding: 0 20px 40px; }
  .dictionary-methods--sp .dictionary-method-list { position: absolute; left: 20px; top: 256px; display: flex; width: 335px; height: 1819px; flex-direction: column; gap: 20px; }
  .dictionary-methods--sp .dictionary-method { display: flex; width: 335px; height: 605px; flex: 0 0 605px; flex-direction: column; justify-content: flex-start; gap: 0; margin: 0; }
  .dictionary-methods--sp .dictionary-method:last-child { height: 569px; flex-basis: 569px; }
  .dictionary-method__copy { width: 335px; gap: 20px; }
  .dictionary-method h3 { font-size: 20px; line-height: 1.5; letter-spacing: .4px; }
  .dictionary-method__lead { font-size: 20px; line-height: 1.5; letter-spacing: .4px; }
  .dictionary-method__body { font-size: 18px; line-height: 2; letter-spacing: .36px; }
  .dictionary-method__image { width: 335px; height: 223px; flex: 0 0 223px; margin-top: auto; border-radius: 16px; }
  .dictionary-journey--sp { position: absolute; left: 0; top: 5781px; width: 375px; height: 2998px; padding-bottom: 40px; }
  .dictionary-journey--sp .dictionary-section-head { padding: 0 20px; }
  .dictionary-journey--sp .dictionary-journey-grid { position: absolute; left: 20px; top: 170px; display: flex; width: 335px; height: 2788px; flex-direction: column; }
  .dictionary-journey-card { width: 335px; height: 411px; flex: 0 0 411px; padding: 24px; }
  .dictionary-journey-card:nth-of-type(2) { height: 447px; flex-basis: 447px; }
  .dictionary-journey-card:nth-of-type(n+4) { height: 423px; flex-basis: 423px; }
  .dictionary-journey-card h3 { left: 168px; top: 39px; width: 143px; font-size: 20px; line-height: 1.5; white-space: normal; }
  .dictionary-journey-card:nth-child(n+4) h3 { font-size: 20px; }
  .dictionary-journey-card__image { width: 287px; height: 155px; flex-basis: 155px; margin-top: 20px; }
  .dictionary-journey-card > p { margin-top: 16px; font-size: 18px; line-height: 2; letter-spacing: .36px; }
  .dictionary-journey-arrow-sp { position: relative; display: block; width: 22px; height: 13px; flex: 0 0 13px; margin: 19px auto 18px; }
  .dictionary-journey-arrow-sp img { position: absolute; left: 4.5px; top: -4.5px; width: 13px; height: 22px; max-width: none; transform: rotate(90deg); transform-origin: center; }
  .dictionary-top-link { left: 20px; top: 8823px; width: 335px; height: 70px; gap: 12px; padding: 14px 24px; font-size: 20px; line-height: 1.4; }
}

@media (prefers-reduced-motion: reduce) {
  .dictionary-top-link,
  .dictionary-top-link img { transition-duration: 0s; }
}

/* Editorial subpages: normal document flow inside the shared 1440/375 canvas. */
.nwu-content-page .site-stage { width: 100%; height: auto; min-height: 100vh; margin: 0; overflow: visible; background: var(--pale); }
.nwu-content-page .site-artboard { width: 100%; height: auto; min-height: 100vh; overflow: visible; transform: none; background: var(--pale); }
.nwu-content-page .site-footer { position: relative; top: auto; left: auto; width: 100%; margin: 0; }
.nwu-page { padding-top: 80px; color: var(--ink); background: var(--pale); }
.nwu-page__hero { width: 100vw; margin-left: calc(50% - 50vw); }
.nwu-subpage-hero { position: relative; height: 305px; overflow: hidden; color: #fff; background: #006ca7; }
.nwu-subpage-hero__gradient { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nwu-subpage-hero__gradient--sp,.nwu-subpage-hero__boat--sp { display:none; }
.nwu-subpage-hero__boat { position:absolute; right:7%; bottom:16px; width:390px; opacity:.46; }
.nwu-subpage-hero__inner,.nwu-inner { width:min(100% - 120px, 1200px); margin:auto; }
.nwu-subpage-hero__inner { position:relative; z-index:1; padding-top:56px; }
.nwu-breadcrumb { display:flex; gap:18px; align-items:center; font-size:16px; font-weight:700; }
.nwu-breadcrumb span:nth-child(2) { color:#00a4dc; font-size:13px; transform:rotate(90deg); }
.nwu-subpage-hero h1 { margin:36px 0 0; font-size:42px; letter-spacing:.08em; }
.nwu-page h2 { margin:0; font-size:36px; letter-spacing:.08em; }
.nwu-recruit-intro,.nwu-work,.nwu-recruit-list,.nwu-contact,.nwu-links,.nwu-news,.nwu-article,.nwu-thanks { padding:100px 0; }
.nwu-recruit-intro .nwu-inner { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:80px; }
.nwu-recruit-intro h2 { font-size:42px; line-height:1.55; }.nwu-recruit-intro p,.nwu-work> .nwu-inner>p,.nwu-contact>.nwu-inner>p,.nwu-links>.nwu-inner>p { margin:28px 0 0; color:#222; font-size:18px; line-height:2; }
.nwu-recruit-photo { height:330px; border-radius:20px; background:linear-gradient(135deg,rgba(0,114,177,.28),rgba(245,245,245,.7)),url('../../images/frontpage/info-recruit-background.png') center/cover; }
.nwu-work { background:#dcecf8; }.nwu-work h2,.nwu-recruit-list h2,.nwu-contact h2,.nwu-links h2,.nwu-news h2 { padding-left:24px; border-left:8px solid var(--blue); }
.nwu-merits { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:52px; }.nwu-merits article { min-height:250px; padding:38px 30px; border-radius:16px; background:#fff; box-shadow:0 4px 14px rgba(0,55,107,.11); }.nwu-merits i { display:block; color:var(--blue); font-style:normal; font-size:28px; font-weight:700; }.nwu-merits h3 { margin:24px 0 12px; font-size:22px; }.nwu-merits p { margin:0; color:#222; line-height:1.8; }
.nwu-news-list { margin:42px 0; border-top:1px solid #91b5cf; }.nwu-news-row { display:grid; grid-template-columns:130px 130px 1fr; gap:20px; align-items:center; min-height:82px; padding:18px 14px; border-bottom:1px solid #91b5cf; }.nwu-news-row time { color:#333; }.nwu-news-row span,.nwu-article__meta span { display:inline-grid; place-items:center; padding:5px 12px; color:#fff; background:var(--blue); font-size:13px; }.nwu-news-row a { font-size:17px; font-weight:600; transition:color .2s ease; }.nwu-news-row a:hover { color:var(--blue); }
.nwu-button { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-width:270px; min-height:64px; padding:14px 30px; border:0; border-radius:999px; color:#fff; background:var(--navy); box-shadow:0 4px 2px rgba(0,0,0,.2); font-size:18px; font-weight:700; cursor:pointer; transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }.nwu-button span { font-size:26px; line-height:1; }.nwu-button--back { color:var(--navy); background:#fff; border:1px solid var(--navy); }.nwu-button:hover { transform:translateY(-4px); background:#0072b1; box-shadow:0 8px 8px rgba(0,55,107,.25); }.nwu-button:focus-visible { outline:3px solid #00a4dc; outline-offset:4px; }
.nwu-form { max-width:900px; margin:52px auto 0; }.nwu-field { display:grid; grid-template-columns:230px 1fr; gap:30px; padding:26px 0; border-bottom:1px solid #9dbbd0; }.nwu-field label { display:flex; gap:12px; align-items:flex-start; font-weight:700; }.nwu-field b,.nwu-confirmation b { padding:2px 8px; color:#fff; background:#e34343; font-size:12px; }.nwu-field input,.nwu-field textarea { width:100%; padding:14px; border:1px solid #7199b8; border-radius:3px; color:#222; font:inherit; background:#fff; }.nwu-field small,.nwu-form-error { color:#bd2424; }.nwu-form .nwu-button { display:flex; margin:44px auto 0; }.nwu-honeypot { position:absolute; left:-9999px; }.nwu-confirmation { margin:46px 0; border-top:1px solid #9dbbd0; }.nwu-confirmation>div { display:grid; grid-template-columns:230px 1fr; border-bottom:1px solid #9dbbd0; }.nwu-confirmation dt,.nwu-confirmation dd { margin:0; padding:25px; }.nwu-confirmation dt { display:flex; gap:12px; background:#d5e6f4; font-weight:700; }.nwu-confirmation dd { color:#222; background:#fff; white-space:pre-wrap; }.nwu-form-actions { display:flex; justify-content:center; gap:28px; }.nwu-thanks { min-height:700px; text-align:center; }.nwu-thanks h1 { margin:50px 0 28px; font-size:36px; }.nwu-thanks p { margin-bottom:52px; color:#222; line-height:2; }
.nwu-link-groups { display:grid; grid-template-columns:repeat(2,1fr); gap:36px 50px; margin-top:50px; }.nwu-link-groups section { background:#fff; }.nwu-link-groups h3 { margin:0; padding:17px 25px; background:#b7d3e9; font-size:21px; }.nwu-link-groups ul { margin:0; padding:10px 25px 25px; list-style:none; }.nwu-link-groups li { padding:13px 0; border-bottom:1px solid #bed1df; }.nwu-link-groups a { display:flex; justify-content:space-between; }.nwu-link-groups a span { color:var(--blue); }
.nwu-news-tabs { display:flex; flex-wrap:wrap; gap:12px; margin:40px 0; }.nwu-news-tabs a { display:flex; min-width:144px; padding:12px 16px; align-items:center; justify-content:center; border:1px solid var(--blue); text-align:center; background:#fff; font-weight:700; }.nwu-news-tabs a.is-current,.nwu-news-tabs a:hover { color:#fff; background:var(--blue); }.navigation.pagination .nav-links { display:flex; justify-content:center; gap:15px; }.navigation.pagination a,.navigation.pagination span { padding:8px 12px; background:#fff; }
.nwu-article { min-height:900px; }.nwu-article__meta { display:flex; gap:18px; align-items:center; }.nwu-article h1 { margin:18px 0 42px; padding-bottom:25px; border-bottom:2px solid var(--blue); font-size:34px; }.nwu-article .nwu-inner > figure { float:right; width:42%; margin:0 0 30px 50px; }.nwu-article .nwu-inner > figure img { width:100%; height:auto; }.nwu-article__body { min-height:350px; color:#222; font-size:17px; line-height:2; }.nwu-article .nwu-button { clear:both; margin-top:55px; }
@media (max-width:699px) { .nwu-page { padding-top:48px; }.nwu-subpage-hero { height:207px; }.nwu-subpage-hero__gradient--pc,.nwu-subpage-hero__boat--pc { display:none; }.nwu-subpage-hero__gradient--sp,.nwu-subpage-hero__boat--sp { display:block; }.nwu-subpage-hero__boat { right:-28px; bottom:13px; width:235px; }.nwu-subpage-hero__inner,.nwu-inner { width:calc(100% - 40px); }.nwu-subpage-hero__inner { padding-top:30px; }.nwu-breadcrumb { gap:10px; font-size:12px; }.nwu-subpage-hero h1 { margin-top:24px; font-size:30px; }.nwu-page h2 { font-size:26px; }.nwu-recruit-intro,.nwu-work,.nwu-recruit-list,.nwu-contact,.nwu-links,.nwu-news,.nwu-article,.nwu-thanks { padding:58px 0; }.nwu-recruit-intro .nwu-inner { grid-template-columns:1fr; gap:30px; }.nwu-recruit-intro h2 { font-size:29px; }.nwu-recruit-intro p,.nwu-work>.nwu-inner>p,.nwu-contact>.nwu-inner>p,.nwu-links>.nwu-inner>p { margin-top:22px; font-size:15px; line-height:1.9; }.nwu-recruit-photo { height:220px; }.nwu-work h2,.nwu-recruit-list h2,.nwu-contact h2,.nwu-links h2,.nwu-news h2 { padding-left:14px; border-left-width:5px; }.nwu-merits { grid-template-columns:1fr; gap:18px; margin-top:35px; }.nwu-merits article { min-height:0; padding:25px; }.nwu-merits h3 { margin:12px 0 7px; font-size:19px; }.nwu-news-row { grid-template-columns:1fr auto; gap:8px 12px; padding:16px 4px; }.nwu-news-row a { grid-column:1/-1; font-size:15px; }.nwu-button { min-width:230px; min-height:53px; font-size:16px; }.nwu-form { margin-top:34px; }.nwu-field { grid-template-columns:1fr; gap:12px; padding:20px 0; }.nwu-field input,.nwu-field textarea { font-size:16px; }.nwu-confirmation>div { grid-template-columns:1fr; }.nwu-confirmation dt,.nwu-confirmation dd { padding:16px; }.nwu-form-actions { flex-direction:column; align-items:center; gap:16px; }.nwu-thanks { min-height:480px; }.nwu-thanks h1 { font-size:25px; }.nwu-link-groups { grid-template-columns:1fr; gap:24px; margin-top:32px; }.nwu-link-groups h3 { font-size:18px; }.nwu-news-tabs { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }.nwu-news-tabs a { min-width:0; padding:10px 5px; font-size:13px; }.nwu-article { min-height:700px; }.nwu-article h1 { margin-bottom:28px; font-size:24px; }.nwu-article .nwu-inner > figure { display:none; }.nwu-article__body { min-height:250px; font-size:15px; line-height:1.9; } }
@media (prefers-reduced-motion: reduce) { .nwu-button,.nwu-news-row a { transition-duration:0s; } }

/* Figma page canvases (desktop: 1440, mobile: 375). */
body.nwu-content-page .site-footer { position:absolute; height:822px; overflow:hidden; }
body.nwu-layout-recruit .site-stage,body.nwu-layout-recruit .site-artboard { height:3611px; } body.nwu-layout-recruit .site-footer { top:2789px; }
body.nwu-layout-contact .site-stage,body.nwu-layout-contact .site-artboard { height:2733px; } body.nwu-layout-contact .site-footer { top:1936px; }
body.nwu-layout-check .site-stage,body.nwu-layout-check .site-artboard { height:2458px; } body.nwu-layout-check .site-footer { top:1661px; }
body.nwu-layout-thanks .site-stage,body.nwu-layout-thanks .site-artboard { height:1631px; } body.nwu-layout-thanks .site-footer { top:1049px; height:582px; }
body.nwu-layout-links .site-stage,body.nwu-layout-links .site-artboard { height:3129px; } body.nwu-layout-links .site-footer { top:2598px; }
body.nwu-layout-news .site-stage,body.nwu-layout-news .site-artboard { height:2083px; } body.nwu-layout-news .site-footer { top:1552px; }
body.nwu-layout-single .site-stage,body.nwu-layout-single .site-artboard { height:2528px; } body.nwu-layout-single .site-footer { top:1997px; }
.nwu-subpage-hero { height:357px; }.nwu-subpage-hero__wave { position:absolute; bottom:0; height:64px; width:52%; }.nwu-subpage-hero__wave--left { left:0; }.nwu-subpage-hero__wave--right { right:0; }.nwu-subpage-hero__inner { width:1320px; max-width:calc(100% - 120px); }.nwu-breadcrumb img { width:13px; height:13px; transform:rotate(90deg); }.nwu-breadcrumb span:nth-child(2) { transform:none; color:inherit; font-size:inherit; }
.nwu-recruit-head { padding:116px 0 100px; }.nwu-recruit-head .nwu-inner { display:grid; grid-template-columns:660px 1fr; gap:60px; }.nwu-recruit-head__copy { position:relative; }.nwu-recruit-head__separator { position:absolute; top:191px; left:0; display:block; width:660px; height:1px; background:#797e82; }.nwu-recruit-head h2 { margin:0; font-size:40px; line-height:1.55; letter-spacing:.08em; }.nwu-recruit-head p,.nwu-work__intro p { margin:35px 0 0; color:#222; font-size:18px; line-height:2; }.nwu-recruit-head__visual { position:relative; height:400px; overflow:hidden; }.nwu-recruit-head__visual>img:first-child { position:absolute; top:0; right:0; width:270px; }.nwu-recruit-head__photo { position:absolute; right:0; bottom:0; width:510px; height:340px; object-fit:cover; }.nwu-recruit-head__mask { position:absolute; inset:20px 0 0 auto; width:520px; height:350px; }
.nwu-work { padding:96px 0 100px; background:var(--pale); }.nwu-work>.nwu-inner { display:grid; grid-template-columns:1fr 525px; gap:75px; align-items:center; }.nwu-work__intro h2 { margin:0; padding-left:0; border:0; }.nwu-work__photo { width:525px; height:350px; object-fit:cover; border-radius:10px; }.nwu-merits { display:grid; grid-template-columns:repeat(3,381px); gap:28px; margin-top:80px; }.nwu-merits article { position:relative; min-height:454px; overflow:hidden; padding:170px 35px 30px; border-radius:0; background:#d5e8f6; box-shadow:none; text-align:center; }.nwu-merits__ellipse { position:absolute; top:34px; left:calc(50% - 66px); width:132px; height:132px; }.nwu-merits__icon { position:absolute; top:65px; left:calc(50% - 35px); width:70px; height:70px; object-fit:contain; }.nwu-merits h3 { margin:0 0 20px; font-size:23px; }.nwu-merits p { font-size:16px; text-align:left; line-height:2; }
.nwu-recruit-list { padding:96px 0 190px; }.nwu-recruit-list h2 { padding-left:0; border:0; }.nwu-recruit-list .nwu-button { margin:0 auto; }.nwu-top-page-link { display:flex; width:320px; margin:110px auto 0; align-items:center; justify-content:center; gap:18px; color:var(--navy); font-weight:700; }.nwu-top-page-link img,.nwu-button img { width:18px; height:18px; object-fit:contain; }
.nwu-contact { padding-top:94px; }.nwu-contact>.nwu-inner { width:1200px; }.nwu-contact h2 { padding:0; border:0; }.nwu-form { max-width:none; margin-top:62px; }.nwu-field { grid-template-columns:340px 1fr; gap:36px; min-height:122px; padding:16px 0; }.nwu-field label { padding-top:25px; font-size:18px; }.nwu-field b,.nwu-confirmation b { display:inline-flex; width:80px; height:29px; align-items:center; justify-content:center; border-radius:8px; padding:0; }.nwu-field input { height:90px; }.nwu-field textarea { height:430px; resize:vertical; }.nwu-form .nwu-button { margin-top:58px; }.nwu-confirmation>div { grid-template-columns:340px 1fr; }.nwu-confirmation dt { padding:26px 30px; }.nwu-form-actions { margin-top:50px; }
.nwu-thanks { padding-top:96px; min-height:550px; text-align:left; }.nwu-thanks h1 { margin:0 0 38px; font-size:36px; }.nwu-thanks p { margin:0 0 50px; font-size:18px; }.nwu-thanks .nwu-button { margin:0; }
.nwu-links { padding-top:100px; }.nwu-links h2 { padding:0; border:0; }.nwu-link-groups { gap:0 70px; }.nwu-link-groups section { background:transparent; }.nwu-link-groups h3 { padding:16px 0; background:transparent; border-bottom:2px solid var(--blue); }.nwu-link-groups ul { padding:10px 0 44px; }.nwu-link-groups li { padding:12px 0; border-bottom:1px solid #b8d0df; }
.nwu-news { padding-top:92px; }.nwu-news h2 { padding:0; border:0; }.nwu-news-tabs a:first-child::before { content:'すべて'; }.nwu-news-tabs a:first-child { font-size:0; }.nwu-news-tabs a:first-child::before { font-size:16px; }.nwu-article { padding-top:100px; }.nwu-article h1 { order:0; }.nwu-article__meta { order:1; }.nwu-article .nwu-inner { display:flex; flex-direction:column; }.nwu-article .nwu-inner > figure { order:2; }.nwu-article__body { order:3; }.nwu-article .nwu-button { order:4; }
@media (hover:hover) and (pointer:fine) { .nwu-button:hover { color:var(--navy); background:#fff; border:1px solid var(--navy); transform:none; box-shadow:0 4px 2px rgba(0,0,0,.2); } }
@media (max-width:699px) { body.nwu-content-page .site-footer { height:512px; } body.nwu-layout-recruit .site-stage,body.nwu-layout-recruit .site-artboard { height:4773px; } body.nwu-layout-recruit .site-footer { top:4261px; } body.nwu-layout-contact .site-stage,body.nwu-layout-contact .site-artboard { height:2373px; } body.nwu-layout-contact .site-footer { top:1861px; } body.nwu-layout-check .site-stage,body.nwu-layout-check .site-artboard { height:2466px; } body.nwu-layout-check .site-footer { top:1954px; } body.nwu-layout-thanks .site-stage,body.nwu-layout-thanks .site-artboard { height:1350px; } body.nwu-layout-thanks .site-footer { top:838px; } body.nwu-layout-links .site-stage,body.nwu-layout-links .site-artboard { height:3458px; } body.nwu-layout-links .site-footer { top:2946px; } body.nwu-layout-news .site-stage,body.nwu-layout-news .site-artboard { height:1642px; } body.nwu-layout-news .site-footer { top:1130px; } body.nwu-layout-single .site-stage,body.nwu-layout-single .site-artboard { height:1583px; } body.nwu-layout-single .site-footer { top:1071px; }
.nwu-subpage-hero { height:207px; }.nwu-subpage-hero__wave { height:33px; }.nwu-subpage-hero__inner { width:335px; max-width:calc(100% - 40px); }.nwu-breadcrumb img { width:9px; height:9px; }.nwu-recruit-head { padding:61px 0; }.nwu-recruit-head .nwu-inner { display:block; }.nwu-recruit-head h2 { font-size:27px; }.nwu-recruit-head p,.nwu-work__intro p { font-size:16px; line-height:1.9; }.nwu-recruit-head__visual { height:270px; margin-top:36px; }.nwu-recruit-head__photo { width:335px; height:224px; }.nwu-recruit-head__mask { width:345px; height:230px; }.nwu-work { padding:62px 0; }.nwu-work>.nwu-inner { display:flex; flex-direction:column; gap:30px; }.nwu-work__photo { width:335px; height:223px; }.nwu-merits { grid-template-columns:335px; gap:24px; margin-top:48px; }.nwu-merits article { min-height:380px; padding:155px 28px 25px; }.nwu-recruit-list { padding:62px 0 80px; }.nwu-recruit-list .nwu-news-list { min-height:330px; }.nwu-top-page-link { margin-top:75px; }
.nwu-contact { padding-top:62px; }.nwu-contact>.nwu-inner { width:335px; }.nwu-field { grid-template-columns:1fr; gap:4px; min-height:0; padding:14px 0; }.nwu-field label { padding-top:0; font-size:16px; }.nwu-field input { height:55px; }.nwu-field textarea { height:230px; }.nwu-field b,.nwu-confirmation b { width:48px; height:22px; border-radius:5px; font-size:11px; }.nwu-confirmation>div { grid-template-columns:1fr; }.nwu-thanks { padding-top:60px; min-height:400px; }.nwu-thanks h1 { font-size:26px; }.nwu-links { padding-top:62px; }.nwu-link-groups { gap:0; }.nwu-links .nwu-inner { width:335px; }.nwu-link-groups ul { padding-bottom:34px; }.nwu-news { padding-top:60px; }.nwu-article { padding-top:60px; } }

/* The subpage root is a scaled Figma artboard, not a flowing document. */
@media (min-width:700px) {
  .nwu-page { padding-top:80px; }.nwu-page__hero { width:1440px; margin-left:0; }
  body.nwu-content-page .site-stage { container-type:inline-size; position:relative; width:min(100%,1440px); margin:0 auto; overflow:hidden; background:var(--pale); }
  body.nwu-content-page .site-artboard { position:relative; width:1440px; overflow:hidden; transform:scale(calc(100cqi / 1440px)); transform-origin:top left; background:var(--pale); }
  body.nwu-layout-recruit .site-stage { height:min(250.764vw,3611px); } body.nwu-layout-recruit .site-artboard { height:3611px; }
  body.nwu-layout-contact .site-stage { height:min(189.792vw,2733px); } body.nwu-layout-contact .site-artboard { height:2733px; }
  body.nwu-layout-check .site-stage { height:min(170.694vw,2458px); } body.nwu-layout-check .site-artboard { height:2458px; }
  body.nwu-layout-thanks .site-stage { height:min(113.264vw,1631px); } body.nwu-layout-thanks .site-artboard { height:1631px; }
  body.nwu-layout-links .site-stage { height:min(217.292vw,3129px); } body.nwu-layout-links .site-artboard { height:3129px; }
  body.nwu-layout-news .site-stage { height:min(144.653vw,2083px); } body.nwu-layout-news .site-artboard { height:2083px; }
  body.nwu-layout-single .site-stage { height:min(175.556vw,2528px); } body.nwu-layout-single .site-artboard { height:2528px; }
}
@media (max-width:699px) {
  body.nwu-content-page .site-stage { container-type:inline-size; position:relative; width:100%; margin:0; overflow:hidden; background:var(--pale); }
  body.nwu-content-page .site-artboard { position:relative; width:375px; overflow:hidden; transform:scale(calc(100cqi / 375px)); transform-origin:top left; background:var(--pale); }
  body.nwu-content-page .nwu-page__hero { width:375px; margin-left:0; }
  body.nwu-layout-recruit .site-stage { height:calc(100vw * 4773 / 375); } body.nwu-layout-recruit .site-artboard { height:4773px; }
  body.nwu-layout-contact .site-stage { height:calc(100vw * 2373 / 375); } body.nwu-layout-contact .site-artboard { height:2373px; }
  body.nwu-layout-check .site-stage { height:calc(100vw * 2466 / 375); } body.nwu-layout-check .site-artboard { height:2466px; }
  body.nwu-layout-thanks .site-stage { height:calc(100vw * 1350 / 375); } body.nwu-layout-thanks .site-artboard { height:1350px; }
  body.nwu-layout-links .site-stage { height:calc(100vw * 3458 / 375); } body.nwu-layout-links .site-artboard { height:3458px; }
  body.nwu-layout-news .site-stage { height:calc(100vw * 1642 / 375); } body.nwu-layout-news .site-artboard { height:1642px; }
  body.nwu-layout-single .site-stage { height:calc(100vw * 1583 / 375); } body.nwu-layout-single .site-artboard { height:1583px; }
}
@media (min-width:700px) { .nwu-link-groups { left:0; }.nwu-link-groups section:nth-child(2),.nwu-link-groups section:nth-child(4),.nwu-link-groups section:nth-child(6) { left:577px; } }
@media (max-width:699px) { .nwu-layout-contact .nwu-form .nwu-button { top:985px; } }
/* Link collection fixed Figma grid. */
@media (min-width:700px) {
  .nwu-links { position:absolute; top:454px; left:0; width:1440px; height:2100px; padding:0; }.nwu-links>.nwu-inner { position:relative; width:1200px; height:2100px; margin:0 auto; }.nwu-links h2 { position:absolute; top:18px; left:270px; width:660px; height:64px; margin:0; padding-bottom:16px; border-bottom:1px solid #6f8da4; font-size:40px; line-height:64px; text-align:left; }.nwu-links>.nwu-inner>p { position:absolute; top:210px; left:314px; width:660px; margin:0; font-size:18px; line-height:36px; }.nwu-link-groups { position:absolute; top:417px; left:49px; width:1151px; height:1600px; margin:0; display:block; }.nwu-link-groups section { position:absolute; width:476px; background:transparent; }.nwu-link-groups section:nth-child(1){left:0;top:0}.nwu-link-groups section:nth-child(2){left:626px;top:0}.nwu-link-groups section:nth-child(3){left:0;top:629px}.nwu-link-groups section:nth-child(4){left:626px;top:629px}.nwu-link-groups section:nth-child(5){left:0;top:1116px}.nwu-link-groups section:nth-child(6){left:626px;top:1116px}.nwu-link-groups h3{width:310px;height:30px;margin:0;padding:0 0 6px;border-bottom:1px solid #6f8da4;background:transparent;font-size:24px;line-height:30px}.nwu-link-groups ul{width:476px;margin:0;padding:47px 0 0;}.nwu-link-groups li{height:36px;padding:0;font-size:18px;line-height:36px}.nwu-links-page .nwu-top-page-link{top:2400px!important;}
}
@media (max-width:699px) {
  .nwu-links { position:absolute; top:255px; left:0; width:375px; height:2650px; padding:0; }.nwu-links>.nwu-inner { position:relative; width:335px; height:2650px; margin:0 20px; }.nwu-links h2 { position:absolute; top:53px; left:0; width:335px; height:36px; margin:0; padding-bottom:18px; border-bottom:1px solid #6f8da4; font-size:26px;line-height:36px; }.nwu-links>.nwu-inner>p { position:absolute; top:149px; left:0; width:335px; margin:0; font-size:18px; line-height:36px; }.nwu-link-groups { position:absolute; top:281px; left:0; width:335px; height:2100px; margin:0; display:block; }.nwu-link-groups section { position:absolute; left:0; width:335px; background:transparent; }.nwu-link-groups section:nth-child(1){top:0}.nwu-link-groups section:nth-child(2){top:562px}.nwu-link-groups section:nth-child(3){top:1124px}.nwu-link-groups section:nth-child(4){top:1542px}.nwu-link-groups section:nth-child(5){top:1744px}.nwu-link-groups section:nth-child(6){top:2090px}.nwu-link-groups h3{width:335px;height:30px;margin:0;padding:0 0 4px;border-bottom:1px solid #6f8da4;background:transparent;font-size:20px;line-height:30px}.nwu-link-groups ul{width:335px;margin:0;padding:20px 0 0}.nwu-link-groups li{height:36px;padding:0;font-size:18px;line-height:36px}.nwu-links-page .nwu-top-page-link{top:2812px!important;}
}
@media (min-width:700px) { .nwu-merits { top:400px; }.nwu-recruit-list .nwu-button { top:703px!important; } }
@media (max-width:699px) { .nwu-merits { top:687px; }.nwu-recruit-head__photo { top:0!important; bottom:auto!important; }.nwu-recruit-head p { height:288px; overflow:hidden; }.nwu-recruit-list .nwu-button { top:744px!important; left:20px!important; } }

/* Recruit-specific overrides have higher specificity than shared archive rules. */
@media (min-width:700px) {
  body.nwu-layout-recruit .nwu-recruit-list .nwu-news-list { top:91px!important; left:108px!important; width:1223px!important; height:572px; min-height:0!important; border-top:0; }
  body.nwu-layout-recruit .nwu-recruit-list .nwu-recruit-row { position:absolute; left:0; display:block; width:1223px; height:128px; min-height:0!important; padding:0; border:0; border-bottom:1px solid #797e82; }
  body.nwu-layout-recruit .nwu-recruit-list .nwu-recruit-row:nth-child(1) { top:0; }
  body.nwu-layout-recruit .nwu-recruit-list .nwu-recruit-row:nth-child(2) { top:148px; }
  body.nwu-layout-recruit .nwu-recruit-list .nwu-recruit-row:nth-child(3) { top:296px; }
  body.nwu-layout-recruit .nwu-recruit-list .nwu-recruit-row:nth-child(4) { top:444px; }
  body.nwu-layout-recruit .nwu-recruit-list .nwu-news-list:has(> .nwu-news-row:nth-child(5)) { height:auto; padding:592px 0 0; }
  body.nwu-layout-recruit .nwu-recruit-list .nwu-news-list:has(> .nwu-news-row:nth-child(5)) > .nwu-recruit-row:nth-child(n+5) { position:relative; top:auto; margin-bottom:20px; }
}
@media (max-width:699px) {
  body.nwu-layout-recruit .nwu-recruit-list .nwu-news-list { top:56px!important; left:20px!important; width:335px!important; height:668px; min-height:0!important; border-top:0; }
  body.nwu-layout-recruit .nwu-recruit-list .nwu-recruit-row { position:absolute; left:0; display:block; width:335px; height:155px; min-height:0!important; padding:0; border:0; border-bottom:1px solid #797e82; }
  body.nwu-layout-recruit .nwu-recruit-list .nwu-recruit-row:nth-child(1) { top:0; }
  body.nwu-layout-recruit .nwu-recruit-list .nwu-recruit-row:nth-child(2) { top:171px; }
  body.nwu-layout-recruit .nwu-recruit-list .nwu-recruit-row:nth-child(3) { top:342px; }
  body.nwu-layout-recruit .nwu-recruit-list .nwu-recruit-row:nth-child(4) { top:513px; }
  body.nwu-layout-recruit .nwu-recruit-list .nwu-news-list:has(> .nwu-news-row:nth-child(5)) { height:auto; padding:684px 0 0; }
  body.nwu-layout-recruit .nwu-recruit-list .nwu-news-list:has(> .nwu-news-row:nth-child(5)) > .nwu-recruit-row:nth-child(n+5) { position:relative; top:auto; margin-bottom:16px; }
  body.nwu-layout-recruit .nwu-merits article { padding:0; }
  body.nwu-layout-recruit .nwu-merits__ellipse { top:19px; left:103.5px; width:126px; height:126px; }
  body.nwu-layout-recruit .nwu-merits__icon { top:50px; left:131.5px; width:70px; height:70px; }
  body.nwu-layout-recruit .nwu-merits h3 { position:absolute; top:161px; left:19px; width:295px; height:30px; margin:0; color:#00376b; font-size:20px; font-weight:500; line-height:30px; letter-spacing:.4px; text-align:center; }
  body.nwu-layout-recruit .nwu-merits p { position:absolute; top:207px; left:19px; width:295px; margin:0; color:#333; font-size:18px; font-weight:500; line-height:36px; letter-spacing:.36px; text-align:left; }
}

/* RecruitPage / RecruitPage_SP: 募集要項の固定スロット */
@media (min-width:700px) {
  .nwu-recruit-list .nwu-news-list {
    top:91px!important;
    left:108px!important;
    width:1223px!important;
    height:572px;
    min-height:0!important;
    margin:0;
    border-top:0;
  }
  .nwu-recruit-list .nwu-recruit-row {
    position:absolute;
    left:0;
    display:block;
    width:1223px;
    height:128px;
    min-height:0!important;
    padding:0;
    border:0;
    border-bottom:1px solid #797e82;
  }
  .nwu-recruit-list .nwu-recruit-row:nth-child(1) { top:0; }
  .nwu-recruit-list .nwu-recruit-row:nth-child(2) { top:148px; }
  .nwu-recruit-list .nwu-recruit-row:nth-child(3) { top:296px; }
  .nwu-recruit-list .nwu-recruit-row:nth-child(4) { top:444px; }
  .nwu-recruit-list .nwu-recruit-row__date {
    position:absolute;
    top:6px;
    left:0;
    width:101px;
    height:22px;
    color:#00376b;
    font-size:18px;
    font-weight:500;
    line-height:22px;
    letter-spacing:.9px;
  }
  .nwu-recruit-list .nwu-recruit-row__title {
    position:absolute;
    top:0;
    left:133px;
    width:1090px;
    height:36px;
    color:#00376b;
    font-size:20px;
    font-weight:500;
    line-height:36px;
    letter-spacing:.4px;
  }
  .nwu-recruit-list .nwu-recruit-row__excerpt {
    position:absolute;
    top:46px;
    left:133px;
    display:-webkit-box;
    width:1090px;
    height:72px;
    margin:0;
    overflow:hidden;
    color:#333;
    font-size:18px;
    font-weight:500;
    line-height:36px;
    letter-spacing:.36px;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
}

@media (max-width:699px) {
  .nwu-recruit-list .nwu-news-list {
    top:56px!important;
    left:20px!important;
    width:335px!important;
    height:669px;
    min-height:0!important;
    margin:0;
    border-top:0;
  }
  .nwu-recruit-list .nwu-recruit-row {
    position:absolute;
    left:0;
    display:block;
    width:335px;
    height:155px;
    min-height:0!important;
    padding:0;
    border:0;
    border-bottom:1px solid #797e82;
  }
  .nwu-recruit-list .nwu-recruit-row:nth-child(1) { top:0; }
  .nwu-recruit-list .nwu-recruit-row:nth-child(2) { top:171px; }
  .nwu-recruit-list .nwu-recruit-row:nth-child(3) { top:342px; }
  .nwu-recruit-list .nwu-recruit-row:nth-child(4) { top:513px; }
  .nwu-recruit-list .nwu-recruit-row__date {
    position:absolute;
    top:0;
    left:0;
    width:90px;
    height:24px;
    color:#00376b;
    font-size:16px;
    font-weight:500;
    line-height:24px;
    letter-spacing:.8px;
  }
  .nwu-recruit-list .nwu-recruit-row__title {
    position:absolute;
    top:32px;
    left:0;
    width:335px;
    height:27px;
    color:#00376b;
    font-size:18px;
    font-weight:500;
    line-height:27px;
    letter-spacing:.36px;
  }
  .nwu-recruit-list .nwu-recruit-row__excerpt {
    position:absolute;
    top:67px;
    left:0;
    display:-webkit-box;
    width:335px;
    height:72px;
    margin:0;
    overflow:hidden;
    color:#333;
    font-size:16px;
    font-weight:500;
    line-height:24px;
    letter-spacing:.32px;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
  }
}

/* Article content is edited in WordPress, so it must not escape the artboard. */
.nwu-article__body { min-width:0; overflow-wrap:anywhere; word-break:break-word; }
.nwu-article__body img,.nwu-article__body video,.nwu-article__body iframe { display:block; max-width:100%; height:auto; }
.nwu-article__body table { display:block; max-width:100%; overflow-x:auto; }
.nwu-article__body pre { max-width:100%; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; }

/* Confirmation values can contain arbitrary user-provided text. */
.nwu-confirmation dd { min-width:0; overflow-wrap:anywhere; word-break:break-word; }

/* News pagination is optional.  When present, content-layout.js places it below
   the measured list and moves the following CTAs as one vertical sequence. */
.nwu-news-page .nwu-pagination,.nwu-news-page .nwu-inner>ul.page-numbers { position:absolute; z-index:2; box-sizing:border-box; margin:0; padding:0; list-style:none; }
.nwu-news-page .nwu-pagination ul.page-numbers { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; margin:0; padding:0; list-style:none; }
.nwu-news-page ul.page-numbers li { margin:0; padding:0; list-style:none; }
.nwu-news-page ul.page-numbers a,.nwu-news-page ul.page-numbers span { display:grid; place-items:center; box-sizing:border-box; min-width:38px; height:38px; padding:0 10px; border:1px solid var(--navy); border-radius:50%; color:var(--navy); background:#fff; font-weight:700; line-height:1; text-decoration:none; transition:color .2s ease,background .2s ease,border-color .2s ease; }
.nwu-news-page ul.page-numbers .current,.nwu-news-page ul.page-numbers a:hover { color:#fff; background:var(--navy); }
.nwu-news-page ul.page-numbers a:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.nwu-news-page ul.page-numbers .is-disabled { opacity:.35; }
.nwu-news-page .nwu-pagination__arrow { display:block; width:8px; height:14px; overflow:visible; }
.nwu-news-page .nwu-pagination__arrow path { fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
/* NewsPage: Figma uses the corporate navy for all archive metadata and controls. */
body.nwu-layout-news .nwu-news-tabs a { border-color:var(--navy); color:var(--navy); background:transparent; }
body.nwu-layout-news .nwu-news-tabs a.is-current,
body.nwu-layout-news .nwu-news-tabs a:hover { color:#fff; background:var(--navy); }
body.nwu-layout-news .nwu-news-list { border-top-color:#797e82; }
body.nwu-layout-news .nwu-news-row { border-bottom-color:#797e82; transition:background-color .2s ease; }
body.nwu-layout-news .nwu-news-row time,
body.nwu-layout-news .nwu-news-row a { color:var(--navy); }
body.nwu-layout-news .nwu-news-row span { color:#fff; background:var(--navy); }
body.nwu-layout-news .nwu-news-row a:hover { color:var(--blue); }
body.nwu-layout-news a.nwu-news-row { color:inherit; }
body.nwu-layout-news a.nwu-news-row:hover { color:inherit; background-color:rgba(0,55,107,.12); }
body.nwu-layout-news a.nwu-news-row:focus-visible { outline:2px solid var(--blue); outline-offset:2px; background-color:rgba(0,55,107,.12); }
body.nwu-layout-news .nwu-news-row__title { color:#333; font-size:17px; font-weight:600; }
@media (max-width:699px) { body.nwu-layout-news .nwu-news-row__title { grid-column:1/-1; font-size:15px; } }
@media (min-width:700px) { .nwu-news-page .nwu-pagination,.nwu-news-page .nwu-inner>ul.page-numbers { left:218.5px; width:1006px; } }
@media (max-width:699px) { .nwu-news-page .nwu-pagination,.nwu-news-page .nwu-inner>ul.page-numbers { left:20px; width:335px; }.nwu-news-page .nwu-pagination ul.page-numbers,.nwu-news-page .nwu-inner>ul.page-numbers { gap:6px; }.nwu-news-page ul.page-numbers a,.nwu-news-page ul.page-numbers span { min-width:34px; height:34px; padding:0 8px; } }
@media (min-width:700px) { .nwu-news-tabs { top:515px!important; }.nwu-news-list { top:659px!important; } }
@media (max-width:699px) { .nwu-news-tabs { top:265px!important; }.nwu-news-list { top:421px!important; } }
/* Visual fidelity final pass. */
body.nwu-content-page .site-artboard,body.nwu-content-page .site-stage,.nwu-page { background:linear-gradient(135deg,#e6f2ff 0%,#f5f5f5 100%); }
.nwu-recruit-head__photo { display:block!important; -webkit-mask-image:url('../images/recruit/head-mask-4802-5449.svg')!important; mask-image:url('../images/recruit/head-mask-4802-5449.svg')!important; }
@media (min-width:700px) { .nwu-subpage-hero__inner { width:986px; max-width:none; margin:0 auto; padding-top:68px; }.nwu-breadcrumb { margin:0; }.nwu-subpage-hero h1 { margin-top:34px; }.nwu-subpage-hero__boat { left:calc(50% + 233px); right:auto; top:6px; bottom:auto; width:480px; height:270px; opacity:1; }.nwu-layout-recruit .nwu-subpage-hero__boat { top:24px; }.nwu-contact h2,.nwu-thanks h2,.nwu-links h2 { text-align:center; }.nwu-contact h2 { padding-bottom:0; }.nwu-contact h2::after,.nwu-thanks h2::after,.nwu-links h2::after { content:""; position:absolute; left:0; width:660px; height:1px; background:#6f8da4; }.nwu-contact h2::after { top:128px; }.nwu-thanks h2::after,.nwu-links h2::after { top:128px; }.nwu-contact h2,.nwu-thanks h2,.nwu-links h2 { border-bottom:0!important; }.nwu-layout-contact .nwu-field label { position:relative; }.nwu-layout-contact .nwu-field label b { position:absolute; left:260px; top:28px; }.nwu-field input,.nwu-field textarea { border-radius:8px; }.nwu-article h1 { border-bottom:0; }.nwu-article:not(:has(.nwu-inner > figure)) .nwu-article__body { top:168px; }.nwu-recruit-head h2 { white-space:nowrap; } }
@media (max-width:699px) { .nwu-subpage-hero__inner { width:335px; margin:0 20px; padding-top:30px; }.nwu-subpage-hero__boat { left:136px; right:auto; top:32px; bottom:auto; width:239px; height:134px; opacity:1; }.nwu-contact h2,.nwu-thanks h2,.nwu-links h2 { text-align:center; border-bottom:0!important; }.nwu-contact h2::after,.nwu-thanks h2::after,.nwu-links h2::after { content:""; position:absolute; left:0; width:335px; height:1px; background:#6f8da4; top:65px; }.nwu-layout-contact .nwu-field label { position:relative; }.nwu-layout-contact .nwu-field label b { position:absolute; left:265px; top:6px; }.nwu-field input,.nwu-field textarea { border-radius:8px; }.nwu-article h1 { border-bottom:0; }.nwu-article__body { top:213px; }.nwu-recruit-head h2 { white-space:normal; }.nwu-recruit-head__separator { top:91px; width:335px; } }
@media (max-width:699px) { .nwu-subpage-hero__boat--sp { display:block!important; }.nwu-subpage-hero__boat--pc { display:none!important; } }
@media (min-width:700px) { .nwu-recruit-list .nwu-news-list { position:absolute!important; top:71px!important; left:48px!important; width:1223px!important; min-height:592px!important; }.nwu-recruit-list .nwu-news-row { min-height:148px!important; }.nwu-article .nwu-article__back { top:1152px!important; left:384px!important; width:217px!important; min-width:217px!important; height:73px!important; min-height:73px!important; margin:0!important; } }
@media (max-width:699px) { .nwu-recruit-list .nwu-news-list { position:absolute!important; top:40px!important; left:20px!important; width:335px!important; min-height:684px!important; }.nwu-recruit-list .nwu-news-row { min-height:171px!important; }.nwu-article .nwu-article__back { top:565px!important; left:0!important; width:335px!important; min-width:335px!important; height:53px!important; min-height:53px!important; margin:0!important; } }
@media (min-width:700px) { .nwu-recruit-list .nwu-news-list { top:70px!important; left:108px!important; }.nwu-contact .nwu-form-error { position:absolute; top:305px; left:270px; width:660px; margin:0; text-align:center; } }
@media (max-width:699px) { .nwu-recruit-list .nwu-news-list { top:39px!important; }.nwu-contact .nwu-form-error { position:absolute; top:349px; left:0; width:335px; margin:0; text-align:center; font-size:13px; line-height:18px; } }
@media (min-width:700px) { body.nwu-layout-contact .nwu-contact .nwu-form-error { position:absolute; top:305px; left:270px; width:660px; margin:0; text-align:center; } }
@media (max-width:699px) { body.nwu-layout-contact .nwu-contact .nwu-form-error { position:absolute; top:349px; left:0; width:335px; margin:0; text-align:center; font-size:13px; line-height:18px; } }
@media (min-width:700px) { .nwu-news-page .nwu-news-list { top:658px!important; }.nwu-news-page .nwu-news-row { min-height:105px!important; } }
@media (max-width:699px) { .nwu-news-page .nwu-news-list { top:424px!important; }.nwu-news-page .nwu-news-row { min-height:97px!important; } }
body.nwu-layout-check .nwu-form-actions { margin:0!important; }
/* 700px is the desktop breakpoint; neutralize the legacy mobile action stack. */
@media (min-width:700px) and (max-width:700px) { body.nwu-layout-check .nwu-form-actions { display:flex; height:56px; flex-direction:row; align-items:flex-start; gap:120px; } body.nwu-layout-check .nwu-form-actions form { position:static; } }
@media (min-width:700px) { body.nwu-layout-check .nwu-form-actions { justify-content:space-between; gap:0; } }
@media (min-width:700px) { body.nwu-layout-contact .nwu-form .nwu-button { gap:8px; padding:0 12px; } body.nwu-layout-contact .nwu-form .nwu-button span { white-space:nowrap; } body.nwu-layout-contact .nwu-form .nwu-button img { width:14px; height:14px; flex:0 0 14px; } }
@media (min-width:700px) { body.nwu-layout-single .nwu-article .nwu-inner > figure { display:block!important; } }
@media (min-width:700px) { .nwu-link-groups { left:0!important; }.nwu-link-groups section:nth-child(2),.nwu-link-groups section:nth-child(4),.nwu-link-groups section:nth-child(6) { left:626px!important; } }
@media (max-width:699px) { .nwu-layout-contact .nwu-form .nwu-button { top:985px!important; } }
@media (max-width:699px) { .nwu-layout-contact .nwu-field--message b { display:inline-flex!important; } }
@media (min-width:700px) { body.nwu-layout-check .nwu-contact .nwu-form-actions { top:1124px; left:374px; } }
/* Links CTA and editorial archive/article positions. */
@media (min-width:700px) { .nwu-links>.nwu-inner>.nwu-top-page-link { position:absolute; left:470px!important; top:1946px!important; }.nwu-news-tabs { top:515px; }.nwu-news-list { top:659px; }.nwu-article { position:absolute; top:454px; left:0; width:1440px; height:1500px; padding:0; }.nwu-article .nwu-inner { position:relative; width:986px; height:1500px; margin:0 auto; }.nwu-article h1 { position:absolute; top:46px; left:0; width:1000px; margin:0; padding:0; font-size:26px; line-height:36px; }.nwu-article__meta { position:absolute; top:114px; left:0; margin:0; }.nwu-article .nwu-inner > figure { position:absolute; top:168px; left:0; width:510px; height:720px; margin:0; }.nwu-article .nwu-inner > figure img { width:510px; height:720px; object-fit:cover; }.nwu-article__body { position:absolute; top:912px; left:0; width:1000px; min-height:180px; }.nwu-article__back { position:absolute; top:1152px; left:384px; width:217px; height:73px; min-height:73px; }.nwu-single-page>.nwu-top-page-link { top:1799px!important; left:590px!important; } }
@media (max-width:699px) { .nwu-links>.nwu-inner>.nwu-top-page-link { position:absolute; left:0!important; top:2557px!important; }.nwu-news-tabs { top:265px; }.nwu-news-list { top:421px; }.nwu-news__cta { position:absolute; top:839px!important; left:20px!important; }.nwu-article { position:absolute; top:255px; left:0; width:375px; height:800px; padding:0; }.nwu-article .nwu-inner { position:relative; width:335px; height:800px; margin:0 20px; }.nwu-article h1 { position:absolute; top:76px; left:0; width:335px; margin:0; padding:0; font-size:24px; line-height:36px; }.nwu-article__meta { position:absolute; top:175px; left:10px; margin:0; }.nwu-article .nwu-inner > figure { position:absolute; top:213px; left:10px; width:315px; margin:0; }.nwu-article__body { position:absolute; top:213px; left:10px; width:315px; min-height:180px; }.nwu-article__back { position:absolute; top:565px; left:0; width:335px; height:53px; min-height:53px; }.nwu-single-page>.nwu-top-page-link { top:937px!important; left:20px!important; } }
.nwu-recruit-head__photo { -webkit-mask-image:url('../images/recruit/head-mask-4802-5449.svg'); mask-image:url('../images/recruit/head-mask-4802-5449.svg'); }
@media (min-width:700px) { .nwu-recruit-list .nwu-top-page-link { top:896px; } }
@media (max-width:699px) { .nwu-recruit-head__visual { top:388px; }.nwu-recruit-list .nwu-button { position:absolute; top:744px!important; left:20px!important; }.nwu-recruit-list .nwu-top-page-link { top:861px; } }
.nwu-work>.nwu-work__top { display:grid; grid-template-columns:1fr 525px; gap:75px; align-items:center; }
.nwu-work>.nwu-inner.nwu-merits { display:grid; grid-template-columns:repeat(3,381px); gap:18px; }
.nwu-link-groups li { border-bottom:0; }
@media (max-width:699px) { .nwu-work>.nwu-work__top { display:flex; flex-direction:column; gap:30px; }.nwu-work>.nwu-inner.nwu-merits { grid-template-columns:335px; gap:24px; } .nwu-field:nth-of-type(4) b,.nwu-field:nth-of-type(5) b { display:none; } }
@media (min-width:700px) and (max-width:1439px) { body.nwu-content-page .site-header { height:calc(100vw * 80 / 1440); } body.nwu-content-page .site-header__inner { transform:scale(calc(100vw / 1440px)); } }
@media (min-width:700px) { body.nwu-layout-links .site-footer,body.nwu-layout-news .site-footer,body.nwu-layout-single .site-footer { height:531px; } }
@media (min-width:1441px) {
  body.nwu-content-page .site-footer {
    overflow:visible;
    background:transparent;
  }
}

/* Keep every secondary-page key visual aligned with About and Company. */
.nwu-subpage-hero__boat { mix-blend-mode:screen; }
@media (min-width:700px) {
  body.nwu-layout-recruit .nwu-subpage-hero__boat { top:6px; }
}

/* Final Figma alignment overrides. */
.nwu-subpage-hero__wave--left-sp,.nwu-subpage-hero__wave--right-sp { display:none; }
@media (min-width:700px) {
  body.nwu-layout-recruit .site-footer { top:3080px; height:531px; } body.nwu-layout-contact .site-footer { top:2227px; height:531px; } body.nwu-layout-check .site-footer { top:1952px; height:531px; }
  .nwu-subpage-hero { height:357px; }.nwu-subpage-hero__gradient--pc { display:block!important; }.nwu-subpage-hero__gradient--sp,.nwu-subpage-hero__boat--sp { display:none!important; }.nwu-subpage-hero__wave--left,.nwu-subpage-hero__wave--right { display:block; left:0; right:auto; width:1439px; max-width:100%; }.nwu-subpage-hero__wave--left { top:260px; height:63.0147px; bottom:auto; }.nwu-subpage-hero__wave--right { top:260.8557px; height:96.1444px; bottom:auto; }.nwu-subpage-hero__wave--left-sp,.nwu-subpage-hero__wave--right-sp { display:none!important; }
  .nwu-top-page-link { position:absolute; z-index:5; display:flex; width:259px; height:78px; margin:0; border-radius:39px; color:#fff; background:var(--navy); box-shadow:0 4px 2px rgba(0,0,0,.25); }.nwu-top-page-link img { filter:brightness(0) invert(1); }.nwu-recruit-page .nwu-top-page-link { top:2880px; left:590px; }.nwu-contact-page .nwu-top-page-link { top:2029px; left:590px; }.nwu-thanks-page .nwu-top-page-link { top:907px; left:590px; }.nwu-links-page .nwu-top-page-link { top:2400px; left:590px; }.nwu-news-page .nwu-top-page-link { top:1354px; left:590px; }.nwu-single-page .nwu-top-page-link { top:1799px; left:590px; }
  .nwu-button { border-radius:4px; min-height:56px; }.nwu-recruit-list .nwu-button,.nwu-news__cta { position:absolute; width:301px; height:73px; min-height:73px; left:570px; }.nwu-recruit-list .nwu-button { top:2607px; }.nwu-news__cta { top:1081px; }
}
@media (max-width:699px) {
  .nwu-subpage-hero__wave--left,.nwu-subpage-hero__wave--right { display:none!important; }.nwu-subpage-hero__wave--left-sp,.nwu-subpage-hero__wave--right-sp { position:absolute; display:block; left:0; width:375px; }.nwu-subpage-hero__wave--left-sp { top:175px; height:16.3854px; }.nwu-subpage-hero__wave--right-sp { top:175px; height:25px; }.nwu-subpage-hero { height:207px; }
  .nwu-top-page-link { position:absolute; display:flex; width:335px; height:70px; margin:0; border-radius:36px; color:#fff; background:var(--navy); box-shadow:0 4px 2px rgba(0,0,0,.25); }.nwu-top-page-link img { filter:brightness(0) invert(1); }.nwu-recruit-page .nwu-top-page-link { top:4127px; left:20px; }.nwu-contact-page .nwu-top-page-link { top:1727px; left:20px; }.nwu-thanks-page .nwu-top-page-link { top:704px; left:20px; }.nwu-links-page .nwu-top-page-link { top:2812px; left:20px; }.nwu-news-page .nwu-top-page-link { top:996px; left:20px; }.nwu-single-page .nwu-top-page-link { top:937px; left:20px; }
}
@media (hover:hover) and (pointer:fine) { .nwu-top-page-link:hover { color:var(--navy); background:#fff; border:1px solid var(--navy); }.nwu-top-page-link:hover img { filter:none; } }
@media (min-width:700px) { body.nwu-layout-contact .nwu-top-page-link--auto { top:2029px; left:590px; } body.nwu-layout-check .nwu-top-page-link--auto { top:1754px; left:590px; } body.nwu-layout-thanks .nwu-top-page-link--auto { top:907px; left:590px; } body.nwu-layout-single .nwu-top-page-link--auto { top:1799px; left:590px; } }
@media (max-width:699px) { body.nwu-layout-contact .nwu-top-page-link--auto { top:1727px; left:20px; } body.nwu-layout-check .nwu-top-page-link--auto { top:1819px; left:20px; } body.nwu-layout-thanks .nwu-top-page-link--auto { top:704px; left:20px; } body.nwu-layout-single .nwu-top-page-link--auto { top:937px; left:20px; } }

/* Page-specific Figma geometry. */
.nwu-button span { font-size:inherit; line-height:inherit; }
.nwu-merits { position:absolute; top:1410px; left:131px; width:1179px!important; margin:0!important; grid-template-columns:repeat(3,381px)!important; gap:18px!important; }.nwu-merits article { width:381px; height:454px; min-height:454px; border:1px solid #00376b; border-radius:16px; background:#d3e9f4; }.nwu-recruit-head__mask { display:none; }.nwu-recruit-head__photo { -webkit-mask-image:url('../../images/recruit/head-mask-4802-5449.svg'); mask-image:url('../../images/recruit/head-mask-4802-5449.svg'); -webkit-mask-size:100% 100%; mask-size:100% 100%; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; }.nwu-work h2::before,.nwu-recruit-list h2::before { content:""; display:inline-block; width:16px; height:16px; margin-right:16px; border-radius:50%; background:var(--blue); vertical-align:3px; }.nwu-recruit-list .nwu-button { top:2687px!important; }
.nwu-contact>.nwu-inner { text-align:center; }.nwu-contact>.nwu-inner>h2 { display:inline-block; width:660px; padding-bottom:32px; border-bottom:1px solid #6f8da4; }.nwu-contact>.nwu-inner>p { text-align:center; }.nwu-field { text-align:left; border:0; }.nwu-form .nwu-button { position:absolute; top:1853px; left:632px; width:176px; min-width:176px; height:56px; margin:0; }.nwu-field--phone b,.nwu-field--address b { display:inline-flex; }.nwu-button--red { color:#fff; background:#e34343; }.nwu-button--blue { color:#fff; background:var(--navy); }.nwu-thanks { text-align:center; }.nwu-thanks h2 { display:inline-block; padding-bottom:32px; border-bottom:1px solid #6f8da4; }.nwu-thanks .nwu-inner { text-align:center; }.nwu-link-groups { width:1066px; margin-left:49px; grid-template-columns:310px 310px; justify-content:space-between; }.nwu-link-groups h3 { width:310px; }.nwu-link-groups a:hover { color:var(--blue); }.nwu-news-tabs { position:absolute; top:555px; left:280px; width:auto; gap:12px; }.nwu-news-tabs a { min-width:133px; border-radius:24px; }.nwu-news-list { position:absolute; top:806px; left:218.5px; width:1006px; }.nwu-news-row { min-height:105px; }.nwu-news__cta { top:1161px!important; left:569px!important; }
@media (min-width:1440px) { .nwu-subpage-hero__wave--left,.nwu-subpage-hero__wave--right { width:100vw; max-width:none; } }
@media (min-width:700px) and (max-width:1439px) { .nwu-subpage-hero__wave--left,.nwu-subpage-hero__wave--right { width:1440px; max-width:none; } }
@media (max-width:699px) { .nwu-merits { position:absolute; top:1678px; left:20px; width:335px!important; grid-template-columns:335px!important; gap:24px!important; }.nwu-merits article { width:335px; height:auto; min-height:480px; border:1px solid #00376b; border-radius:16px; }.nwu-merits article:first-child { min-height:516px; }.nwu-recruit-head__visual { margin-left:0; }.nwu-recruit-head__photo { left:0; right:auto; width:335px; height:223px; }.nwu-work h2::before,.nwu-recruit-list h2::before { width:12px; height:12px; margin-right:10px; }.nwu-recruit-list .nwu-button { top:4010px!important; left:20px!important; width:335px!important; height:53px!important; min-height:53px!important; }.nwu-contact>.nwu-inner>h2 { width:335px; padding-bottom:20px; }.nwu-field input { height:60px; }.nwu-field textarea { height:360px; }.nwu-field b { width:70px; height:23px; }.nwu-form .nwu-button { top:1613px; left:20px; width:335px; height:50px; min-width:335px; min-height:50px; }.nwu-link-groups { width:335px; margin-left:0; grid-template-columns:335px; }.nwu-link-groups h3 { width:335px; }.nwu-news-tabs { position:absolute; top:555px; left:20px; width:335px; }.nwu-news-list { position:absolute; top:720px; left:20px; width:335px; }.nwu-news__cta { top:879px!important; left:20px!important; width:335px!important; height:53px!important; min-height:53px!important; } }
@media (min-width:700px) { body.nwu-layout-check .nwu-top-page-link { top:1754px; } body.nwu-layout-check .nwu-form-actions { position:absolute; top:1578px; left:494px; width:451px; }.nwu-form-actions .nwu-button--red { width:155px; min-width:155px; height:56px; }.nwu-form-actions .nwu-button--blue { width:176px; min-width:176px; height:56px; } }
/* Hero bleed and Recruit-only final Figma coordinates. */
.nwu-subpage-hero { background:var(--pale); }
.nwu-subpage-hero__gradient--pc { top:0; height:300px; }.nwu-subpage-hero__wave--left,.nwu-subpage-hero__wave--right { width:100%; max-width:none; }
body.nwu-layout-recruit .nwu-subpage-hero__gradient--pc { top:0; }
@media (min-width:1441px) { body.nwu-content-page .site-stage,body.nwu-content-page .site-artboard { overflow:visible; } body.nwu-content-page .nwu-page__hero { position:relative; left:calc((1440px - 100vw) / 2); width:100vw; margin-left:0; } }
@media (min-width:700px) {
  .nwu-recruit-head { position:absolute; top:454px; left:0; width:1440px; height:476px; padding:0; }.nwu-recruit-head .nwu-inner { display:block; width:1440px; margin:0; }.nwu-recruit-head__copy { position:absolute; left:60px; top:0; width:660px; }.nwu-recruit-head h2 { width:585px; height:128px; margin:0; font-size:40px; line-height:64px; }.nwu-recruit-head p { width:660px; margin-top:128px; font-size:18px; line-height:36px; }.nwu-recruit-head__visual { position:absolute; left:745px; top:21px; width:695px; height:415px; margin:0; overflow:visible; }.nwu-recruit-head__visual>img:first-child { top:32px; left:0; right:auto; width:695px; height:383px; }.nwu-recruit-head__photo { left:15px; right:auto; top:0; bottom:auto; width:680px; height:400px; }.nwu-work { position:absolute; top:1010px; left:0; width:1440px; height:400px; padding:0; background:transparent; }.nwu-work>.nwu-work__top { position:relative; display:block; width:1440px; height:400px; margin:0; }.nwu-work__intro { position:absolute; left:60px; top:41px; width:660px; }.nwu-work__intro h2 { font-size:40px; line-height:48px; }.nwu-work__intro h2::before { width:24px; height:24px; margin-right:24px; vertical-align:5px; }.nwu-work__intro p { margin-top:40px; font-size:18px; line-height:36px; }.nwu-work__photo { position:absolute; left:784px; top:0; width:525px; height:350px; }.nwu-recruit-list { position:absolute; top:1984px; left:0; width:1440px; height:800px; padding:0; }.nwu-recruit-list .nwu-inner { position:relative; width:1440px; margin:0; }.nwu-recruit-list h2 { position:absolute; left:60px; top:0; font-size:40px; line-height:48px; }.nwu-recruit-list h2::before { width:24px; height:24px; margin-right:24px; vertical-align:5px; }.nwu-recruit-list .nwu-news-list { position:absolute; left:60px; top:91px; width:1320px; min-height:592px; margin:0; }.nwu-recruit-list .nwu-news-row { min-height:148px; }.nwu-recruit-list .nwu-empty { padding-top:30px; }
}
@media (max-width:699px) {
  .nwu-subpage-hero__gradient--sp { top:0; height:200px; }.nwu-recruit-head { position:absolute; top:279px; left:0; width:375px; height:648px; padding:0; }.nwu-recruit-head .nwu-inner { display:block; width:375px; margin:0; }.nwu-recruit-head__copy { position:absolute; left:20px; top:0; width:335px; }.nwu-recruit-head h2 { width:335px; height:72px; margin:0; font-size:26px; line-height:36.4px; }.nwu-recruit-head h2 br { display:none; }.nwu-recruit-head p { width:335px; margin-top:40px; font-size:18px; line-height:36px; }.nwu-recruit-head__visual { position:absolute; left:0; top:424px; width:375px; height:224px; overflow:visible; }.nwu-recruit-head__visual>img:first-child { left:0; top:17.27px; width:375px; height:206.73px; }.nwu-recruit-head__photo { left:8.09px; top:0; width:366.91px; height:215.9px; }.nwu-work { position:absolute; top:991px; left:0; width:375px; height:623px; padding:0; background:transparent; }.nwu-work>.nwu-work__top { position:relative; display:block; width:375px; height:623px; margin:0; }.nwu-work__intro { position:absolute; left:20px; top:0; width:335px; }.nwu-work__intro h2 { font-size:26px; line-height:36px; }.nwu-work__intro h2::before { width:16px; height:16px; margin-right:24px; vertical-align:2px; }.nwu-work__intro p { margin-top:20px; font-size:18px; line-height:36px; }.nwu-work__photo { position:absolute; left:20px; top:400px; width:335px; height:223px; }.nwu-recruit-list { position:absolute; top:3266px; left:0; width:375px; height:760px; padding:0; }.nwu-recruit-list .nwu-inner { position:relative; width:375px; margin:0; }.nwu-recruit-list h2 { position:absolute; left:20px; top:0; font-size:26px; line-height:36px; }.nwu-recruit-list h2::before { width:16px; height:16px; margin-right:24px; vertical-align:2px; }.nwu-recruit-list .nwu-news-list { position:absolute; left:20px; top:56px; width:335px; min-height:684px; margin:0; }.nwu-recruit-list .nwu-news-row { min-height:171px; }.nwu-recruit-list .nwu-empty { padding-top:18px; }
}
@media (max-width:699px) { body.nwu-layout-check .nwu-top-page-link { top:1819px; }.nwu-form-actions { position:absolute; left:20px; width:335px; }.nwu-form-actions .nwu-button--red,.nwu-form-actions .nwu-button--blue { width:335px; min-width:335px; height:50px; min-height:50px; }.nwu-form-actions .nwu-button--red { top:1631px; }.nwu-form-actions form { position:absolute; top:74px; left:0; }.nwu-form-actions .nwu-button--blue { top:auto; } }
@media (min-width:700px) { .nwu-recruit-list .nwu-inner > .nwu-top-page-link { top:896px!important; } }
@media (max-width:699px) { .nwu-recruit-head__visual { top:388px!important; }.nwu-recruit-list .nwu-inner > .nwu-top-page-link { top:861px!important; } }

/* SP form/page copy corrections. */
@media (max-width:699px) {
  body.nwu-layout-contact .nwu-form .nwu-button {
    border-radius:0;
  }
  body.nwu-layout-check .nwu-contact > .nwu-inner > p,
  body.nwu-layout-thanks .nwu-thanks p {
    text-align:left;
  }
}

/* Links page copy colors and alignment. */
body.nwu-layout-links .nwu-links > .nwu-inner > p {
  text-align:center;
}
body.nwu-layout-links .nwu-link-groups a {
  color:#333;
}

/* News category links and SP key-visual edge corrections. */
@media (max-width:699px) {
  body.nwu-layout-news .nwu-news-tabs {
    top:218px!important;
  }
  body.nwu-layout-news .nwu-news-page .nwu-news-list {
    top:434px!important;
  }
  .nwu-subpage-hero::after,
  .about-pagehead--sp::after,
  .company-pagehead--sp::after,
  .dictionary-pagehead--sp::after,
  .fishpage-hero--sp::after {
    content:"";
    position:absolute;
    z-index:2;
    right:0;
    bottom:0;
    left:0;
    height:8px;
    background:var(--pale);
    pointer-events:none;
  }
}

/* Contact, confirmation and thanks Figma positions. */
@media (min-width:700px) {
  .nwu-contact { position:absolute; top:454px; left:0; width:1440px; height:1420px; padding:0; }.nwu-contact>.nwu-inner { position:relative; width:1200px; height:1420px; margin:0 auto; }.nwu-contact h2 { position:absolute; top:1px; left:270px; width:660px; height:64px; margin:0; padding:0 0 16px; font-size:40px; line-height:64px; }.nwu-contact>.nwu-inner>p { position:absolute; top:193px; left:270px; width:660px; height:auto; margin:0; font-size:18px; line-height:36px; text-align:center; }.nwu-layout-contact .nwu-form { position:absolute; top:404px; left:0; width:1200px; height:969px; margin:0; }.nwu-layout-contact .nwu-field { position:absolute; left:0; width:1200px; min-height:90px; padding:0; }.nwu-layout-contact .nwu-field--name { top:0; }.nwu-layout-contact .nwu-field--email { top:127px; }.nwu-layout-contact .nwu-field--phone { top:264px; }.nwu-layout-contact .nwu-field--address { top:396px; }.nwu-layout-contact .nwu-field--message { top:522px; }.nwu-layout-contact .nwu-field label { padding-top:25px; font-size:24px; line-height:36px; }.nwu-layout-contact .nwu-field input { height:90px; }.nwu-layout-contact .nwu-field textarea { height:430px; }.nwu-layout-contact .nwu-form .nwu-button { top:995px; left:512px; }.nwu-layout-check .nwu-confirmation { position:absolute; top:376px; left:120px; width:940px; margin:0; }.nwu-layout-check .nwu-confirmation>div { grid-template-columns:340px 600px; min-height:116px; }.nwu-layout-check .nwu-confirmation>div:last-child { min-height:215px; }.nwu-layout-check .nwu-confirmation dt { padding:24px 0; font-size:24px; line-height:36px; }.nwu-layout-check .nwu-confirmation dd { padding:24px 0; font-size:18px; line-height:36px; }.nwu-layout-check .nwu-form-actions { top:1124px; }.nwu-thanks { position:absolute; top:454px; left:0; width:1440px; height:500px; padding:0; }.nwu-thanks .nwu-inner { position:relative; width:660px; height:500px; margin:0 auto; }.nwu-thanks h2 { position:absolute; top:17px; left:0; width:660px; height:64px; margin:0; padding-bottom:16px; font-size:40px; line-height:64px; }.nwu-thanks p { position:absolute; top:209px; left:0; width:660px; height:180px; margin:0; font-size:18px; line-height:36px; text-align:center; }
}
@media (max-width:699px) {
  .nwu-contact { position:absolute; top:255px; left:0; width:375px; height:1500px; padding:0; }.nwu-contact>.nwu-inner { position:relative; width:335px; height:1500px; margin:0 20px; }.nwu-contact h2 { position:absolute; top:37px; left:0; width:335px; height:36px; margin:0; padding:0 0 18px; font-size:26px; line-height:36px; }.nwu-contact>.nwu-inner>p { position:absolute; top:133px; left:0; width:335px; margin:0; font-size:18px; line-height:36px; text-align:center; }.nwu-layout-contact .nwu-form { position:absolute; top:373px; left:0; width:335px; height:1040px; margin:0; }.nwu-layout-contact .nwu-field { position:absolute; left:0; width:335px; min-height:0; padding:0; }.nwu-layout-contact .nwu-field--name { top:0; }.nwu-layout-contact .nwu-field--email { top:139px; }.nwu-layout-contact .nwu-field--phone { top:276px; }.nwu-layout-contact .nwu-field--address { top:415px; }.nwu-layout-contact .nwu-field--message { top:555px; }.nwu-layout-contact .nwu-field label { padding:0; font-size:20px; line-height:36px; }.nwu-layout-contact .nwu-field input { height:60px; margin-top:8px; }.nwu-layout-contact .nwu-field textarea { height:360px; margin-top:7px; }.nwu-layout-contact .nwu-field--phone b,.nwu-layout-contact .nwu-field--address b { display:inline-flex!important; }.nwu-layout-contact .nwu-form .nwu-button { top:1358px; left:0; }.nwu-layout-check .nwu-confirmation { position:absolute; top:218px; left:0; width:335px; margin:0; }.nwu-layout-check .nwu-confirmation>div { grid-template-columns:1fr; min-height:130px; }.nwu-layout-check .nwu-confirmation>div:last-child { min-height:310px; }.nwu-layout-check .nwu-confirmation dt,.nwu-layout-check .nwu-confirmation dd { padding:0; font-size:20px; line-height:36px; background:transparent; }.nwu-layout-check .nwu-confirmation dd { padding-top:10px; font-size:18px; }.nwu-layout-check .nwu-form-actions { top:1376px; left:0; }.nwu-thanks { position:absolute; top:255px; left:0; width:375px; height:430px; padding:0; }.nwu-thanks .nwu-inner { position:relative; width:335px; height:430px; margin:0 20px; }.nwu-thanks h2 { position:absolute; top:37px; left:0; width:335px; height:36px; margin:0; padding-bottom:18px; font-size:26px; line-height:36px; }.nwu-thanks p { position:absolute; top:133px; left:0; width:335px; height:252px; margin:0; font-size:18px; line-height:36px; text-align:center; }
}

/* Archive / Single editorial controls and responsive article flow. */
body.nwu-layout-news .nwu-news-tabs a {
  transition:color 240ms ease, background-color 240ms ease;
}
body.nwu-layout-news .nwu-news-tabs a:not(.is-current):not(:hover) {
  background:#fff;
}
body.nwu-layout-news .nwu-news-row span,
body.nwu-layout-single .nwu-article__meta span {
  box-sizing:border-box;
  min-width:106px;
  height:36px;
  padding:0 16px;
  border-radius:999px;
  color:#fff;
  background:var(--navy);
  font-size:16px;
  white-space:nowrap;
}
body.nwu-layout-news .nwu-news-row[data-news-category="important"] span {
  width:160px;
  min-width:160px;
  place-items:center;
  text-align:center;
}
@media (min-width:700px) {
  body.nwu-layout-news .nwu-news-row[data-news-category="important"] {
    grid-template-columns:130px 180px 1fr;
  }
}
@media (max-width:699px) {
  body.nwu-layout-news .nwu-news-row {
    grid-template-columns:auto 1fr;
    justify-items:start;
  }
  body.nwu-layout-news .nwu-news-row span,
  body.nwu-layout-single .nwu-article__meta span {
    min-width:90px;
    height:32px;
    padding:0 12px;
  }
  body.nwu-layout-news .nwu-news__cta,
  body.nwu-layout-single .nwu-article__back {
    border-radius:0;
  }
  body.nwu-layout-single .nwu-article .nwu-inner {
    box-sizing:border-box;
    height:auto;
    min-height:800px;
    padding-top:76px;
  }
  body.nwu-layout-single .nwu-article h1 {
    position:static;
    flex:none;
    width:335px;
    margin:0;
  }
  body.nwu-layout-single .nwu-article__meta {
    position:static;
    flex:none;
    width:315px;
    margin:24px 10px 0;
  }
  body.nwu-layout-single .nwu-article .nwu-inner > figure {
    position:static;
    display:block!important;
    flex:none;
    float:none;
    width:315px;
    height:auto;
    margin:28px 10px 0;
  }
  body.nwu-layout-single .nwu-article .nwu-inner > figure img {
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
  }
  body.nwu-layout-single .nwu-article__body,
  body.nwu-layout-single .nwu-article:not(:has(.nwu-inner > figure)) .nwu-article__body {
    position:static;
    flex:none;
    width:315px;
    height:auto;
    margin:28px 10px 0;
  }
}
@media (min-width:700px) { .nwu-merits { top:400px; }.nwu-recruit-list .nwu-button { top:703px!important; } }
@media (max-width:699px) { .nwu-merits { top:687px; }.nwu-recruit-head__photo { top:0!important; bottom:auto!important; }.nwu-recruit-head p { height:288px; overflow:hidden; }.nwu-recruit-list .nwu-button { top:744px!important; left:20px!important; } }

/* RecruitPage / RecruitPage_SP: use each artboard's exact Figma background. */
body.nwu-layout-recruit .site-artboard,
body.nwu-layout-recruit .nwu-page {
  background:transparent;
}
@media (min-width:700px) {
  body.nwu-layout-recruit .site-stage {
    background:linear-gradient(166.19375677337166deg, #e6f2ff 0%, #f5f5f5 100%);
  }
}
@media (min-width:1441px) {
  body.nwu-layout-recruit .site-stage {
    width:100%;
    margin:0;
  }
  body.nwu-layout-recruit .site-artboard {
    margin:0 auto;
    transform:none;
  }
}
@media (max-width:699px) {
  body.nwu-layout-recruit .site-stage {
    background:linear-gradient(128.82016381405896deg, #e6f2ff 0%, #f5f5f5 100%);
  }
}

/* Match Seasonal Fish: invert button arrows together with text/background. */
body:is(.nwu-layout-recruit,.nwu-layout-contact,.nwu-layout-check,.nwu-layout-thanks,.nwu-layout-links,.nwu-layout-news,.nwu-layout-single) .nwu-button,
body:is(.nwu-layout-recruit,.nwu-layout-contact,.nwu-layout-check,.nwu-layout-thanks,.nwu-layout-links,.nwu-layout-news,.nwu-layout-single) .nwu-top-page-link {
  transition:color 240ms ease, background-color 240ms ease;
}
body:is(.nwu-layout-recruit,.nwu-layout-contact,.nwu-layout-check,.nwu-layout-thanks,.nwu-layout-links,.nwu-layout-news,.nwu-layout-single) .nwu-button img,
body:is(.nwu-layout-recruit,.nwu-layout-contact,.nwu-layout-check,.nwu-layout-thanks,.nwu-layout-links,.nwu-layout-news,.nwu-layout-single) .nwu-top-page-link img {
  transition:filter 240ms ease;
}
@media (hover:hover) and (pointer:fine) {
  body:is(.nwu-layout-recruit,.nwu-layout-contact,.nwu-layout-check,.nwu-layout-thanks,.nwu-layout-links,.nwu-layout-news,.nwu-layout-single) .nwu-button:hover img,
  body:is(.nwu-layout-recruit,.nwu-layout-contact,.nwu-layout-check,.nwu-layout-thanks,.nwu-layout-links,.nwu-layout-news,.nwu-layout-single) .nwu-top-page-link:hover img {
    filter:brightness(0) saturate(100%) invert(18%) sepia(25%) saturate(3475%) hue-rotate(174deg) brightness(80%) contrast(105%);
  }
}

/* Editorial page backdrop is owned by body; keep fixed-width canvases transparent. */
body.nwu-content-page .site-stage,
body.nwu-content-page .site-artboard,
body.nwu-content-page .nwu-page {
  background:transparent;
}

/* Match the Market Guide top-page link without changing page-specific coordinates. */
body.nwu-content-page .nwu-top-page-link {
  z-index:5;
  display:flex;
  width:259px;
  height:78px;
  margin:0;
  padding:0;
  align-items:center;
  justify-content:center;
  gap:16px;
  border:0;
  border-radius:36px;
  color:var(--paper);
  background:var(--navy);
  box-shadow:0 4px 2px rgba(0,0,0,.25);
  font-size:20px;
  font-weight:500;
  line-height:1.5;
  letter-spacing:1px;
  transition:color 240ms ease, background-color 240ms ease;
}
body.nwu-content-page .nwu-top-page-link img {
  width:25px;
  height:25px;
  max-width:none;
  transition:filter 240ms ease;
}
body.nwu-content-page .nwu-top-page-link:focus-visible {
  border:0;
  outline:2px solid var(--blue);
  outline-offset:4px;
  color:var(--navy);
  background:var(--paper);
}
body.nwu-content-page .nwu-top-page-link:focus-visible img {
  filter:brightness(0) saturate(100%) invert(18%) sepia(25%) saturate(3475%) hue-rotate(174deg) brightness(80%) contrast(105%);
}
@media (min-width:700px) and (hover:hover) and (pointer:fine) {
  body.nwu-content-page .nwu-top-page-link:hover {
    border:0;
    color:var(--navy);
    background:var(--paper);
  }
  body.nwu-content-page .nwu-top-page-link:hover img {
    filter:brightness(0) saturate(100%) invert(18%) sepia(25%) saturate(3475%) hue-rotate(174deg) brightness(80%) contrast(105%);
  }
}
@media (max-width:699px) {
  body.nwu-content-page .nwu-top-page-link {
    width:335px;
    height:70px;
    padding:14px 24px;
    gap:12px;
    line-height:1.4;
  }
}
@media (prefers-reduced-motion:reduce) {
  body.nwu-layout-news .nwu-news-row,
  body.nwu-content-page .nwu-top-page-link,
  body.nwu-content-page .nwu-top-page-link img {
    transition-duration:0s;
  }
}

/* Seasonal Fish uses the same shared TOP-link artwork and now the Market Guide geometry too. */
.fishpage-top-link {
  display:flex;
  padding:0;
  align-items:center;
  justify-content:center;
  gap:16px;
  border:0;
  border-radius:36px;
  color:var(--paper);
  font-size:20px;
  font-weight:500;
  line-height:1.5;
  letter-spacing:1px;
}
.fishpage-top-link span,
.fishpage-top-link img {
  position:static;
}
.fishpage-top-link img {
  width:25px;
  height:25px;
}
@media (max-width:699px) {
  .fishpage-page--sp .fishpage-top-link {
    padding:14px 24px;
    gap:12px;
    border-radius:36px;
    line-height:1.4;
  }
  .fishpage-page--sp .fishpage-top-link span,
  .fishpage-page--sp .fishpage-top-link img {
    position:static;
  }
  .fishpage-page--sp .fishpage-top-link img {
    width:25px;
    height:25px;
  }
}

/* WordPress body media belongs to the content flow, separate from the featured image slot. */
body.nwu-layout-single .nwu-article,
body.nwu-layout-single .nwu-article > .nwu-inner {
  min-height:0;
}
body.nwu-layout-single .nwu-article__body {
  display:flow-root;
  min-height:0;
}
body.nwu-layout-single .nwu-article__body figure {
  position:static;
  display:block;
  float:none;
  width:auto;
  max-width:100%;
  height:auto;
  min-height:0;
  margin:24px 0;
}
body.nwu-layout-single .nwu-article__body figure img {
  display:block;
  max-width:100%;
  height:auto;
  object-fit:contain;
}
