@charset "UTF-8";
:root {
  --_header-fixed-display: none;
}

@keyframes scrollBar {
  0% {
    transform: scaleY(0);
    transform-origin: top;
  }
  40% {
    transform: scaleY(1);
    transform-origin: top;
  }
  40.1% {
    transform: scaleY(1);
    transform-origin: bottom;
  }
  80% {
    transform: scaleY(0);
    transform-origin: bottom;
  }
  100% {
    transform: scaleY(0);
    transform-origin: top;
  }
}
.fv-inner {
  position: relative;
  z-index: 1;
}
.fv-head {
  position: sticky;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
.fv-head-overlay {
  position: absolute;
  top: 0;
  right: calc(-60 * var(--px));
  bottom: calc(-60 * var(--px));
  left: calc(-60 * var(--px));
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(0deg, rgba(0, 0, 0, 0.01) 0%, rgba(0, 0, 0, 0.01) 100%),
    rgba(0, 0, 0, 0.3);
  opacity: 0;
  -webkit-backdrop-filter: blur(21px);
  backdrop-filter: blur(21px);
  transform: translate3d(0, 0, 0);
  perspective: 1000px;
  backface-visibility: hidden;
  will-change: opacity;
}
.fv-head-video {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.fv-head-headline {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fv-head-headline-image {
  height: 56.22vh;
  aspect-ratio: 61/416;
}
.fv-head-scroll {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  height: 100vh;
  height: 100dvh;
  pointer-events: none;
}
.fv-head-scroll-inner {
  position: absolute;
  bottom: calc(23 * var(--px));
  left: calc(19 * var(--px));
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--px));
  align-items: center;
  justify-content: flex-end;
  color: var(--color-white);
}
.fv-head-scroll-text {
  font-family: var(--font-oswald);
  font-size: calc(0.75 * var(--rem));
  font-weight: 400;
  line-height: 1.24;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  writing-mode: vertical-rl;
}
.fv-head-scroll-bar {
  width: 1px;
  height: 79px;
  background-color: currentcolor;
  transform: scaleY(0);
  transform-origin: top;
  animation: scrollBar 2.8s var(--ease-in-out-quart) infinite;
}
.fv-switch {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 3;
  height: 100vh;
  height: 100dvh;
}
.fv-switch-button {
  position: absolute;
  right: calc(19 * var(--px));
  bottom: calc(13 * var(--px));
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: calc(56 * var(--px));
  min-height: calc(32 * var(--px));
  padding: calc(8 * var(--px));
  background-color: var(--color-black);
  border-radius: 50vh;
}
.fv-switch-button-icon {
  display: flex;
  gap: calc(5 * var(--px));
  align-items: center;
}
.fv-switch-button[data-state='playing'] .fv-switch-button-icon::before,
.fv-switch-button[data-state='playing'] .fv-switch-button-icon::after {
  display: block;
  width: calc(4 * var(--px));
  height: calc(16 * var(--px));
  content: '';
  background: linear-gradient(12deg, #53a5ff 18.38%, #5663f0 112.03%);
}
.fv-switch-button[data-state='paused'] .fv-switch-button-icon::after {
  display: block;
  width: calc(13 * var(--px));
  height: calc(13 * var(--px));
  margin-left: calc(4 * var(--px));
  content: '';
  background: linear-gradient(12deg, #53a5ff 18.38%, #5663f0 112.03%);
  clip-path: polygon(0 0, 100% 50%, 0% 100%);
}
.fv-body {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: calc(240 * var(--px)) calc(32 * var(--px)) calc(95 * var(--px));
  overflow: hidden;
  transform: translate3d(0, 0, 0);
  perspective: 1000px;
  backface-visibility: hidden;
}
.fv-body-paragraph {
  display: grid;
  grid-gap: calc(48 * var(--px));
  gap: calc(48 * var(--px));
}
.fv-body-paragraph-text {
  font-size: calc(1 * var(--rem));
  font-weight: 500;
  line-height: 2.4;
  color: var(--color-white);
  opacity: var(--init-opacity);
}
.fv-body-emphasis {
  display: block;
  margin-top: calc(1.5 * var(--rem));
  font-family: var(--font-oswald);
  font-size: calc(2.5 * var(--rem));
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  background: linear-gradient(
    90deg,
    #34a0ff 0%,
    #4584e3 29.81%,
    #3576d8 54.81%,
    #94d6ff 78.85%,
    #47b9ff 100%
  );
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: var(--init-opacity);
}
.fv-spacing {
  height: 100vh;
}

.nav {
  position: relative;
  z-index: 1;
  margin-top: -100vh;
}
.nav-inner {
  width: 100%;
  height: 100%;
  background-color: #cedae1;
  transform: translate3d(0, 0, 0);
  perspective: 1000px;
  backface-visibility: hidden;
}
.nav-navigation {
  padding: calc(56 * var(--px)) calc(20 * var(--px));
}
.nav-navigation-list {
  display: grid;
  grid-gap: calc(8 * var(--px));
  gap: calc(8 * var(--px));
}
.nav-navigation-item-inner {
  position: relative;
  width: 100%;
  aspect-ratio: 360/190;
}
.nav-navigation-item-image {
  position: relative;
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 0 0 var(--color-white));
  clip-path: inset(0 0 round calc(8 * var(--px)));
}
.nav-navigation-item-note {
  position: absolute;
  bottom: calc(12 * var(--px));
  left: calc(12 * var(--px));
  z-index: 1;
  color: var(--color-white);
}
.nav-navigation-item-headline {
  display: flex;
  gap: calc(6 * var(--px));
  align-items: flex-start;
  justify-content: flex-start;
}
.nav-navigation-item-headline-sub {
  margin-top: 0.6em;
  margin-left: -0.5em;
  font-family: var(--font-oswald);
  font-size: calc(0.625 * var(--rem));
  font-weight: 400;
  line-height: 1.24;
  text-transform: uppercase;
  letter-spacing: 0.09em;
}
.nav-navigation-item-headline-main {
  font-size: calc(1.25 * var(--rem));
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
}
.nav-navigation-item-text {
  margin-top: calc(4 * var(--px));
  font-size: calc(0.8125 * var(--rem));
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.08em;
}

.history-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.history-image {
  position: relative;
  width: 100%;
  aspect-ratio: 400/440;
}
.history-note {
  position: absolute;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: calc(20 * var(--px));
}
.history-headline {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: var(--color-white);
}
.history-headline-sub {
  font-family: var(--font-oswald);
  font-size: calc(0.625 * var(--rem));
  font-weight: 400;
  line-height: 1.24;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.85);
}
.history-headline-main {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(9 * var(--px)) calc(11 * var(--px)) calc(10 * var(--px));
  margin-top: calc(4 * var(--px));
  background-color: var(--color-blue);
  border-radius: calc(8 * var(--px));
}
.history-headline-main-text {
  font-size: calc(1.25 * var(--rem));
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
}
.history-paragraph {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: calc(9 * var(--px)) calc(8 * var(--px)) calc(10 * var(--px));
  margin-top: calc(4 * var(--px));
  font-size: calc(0.8125 * var(--rem));
  font-weight: 500;
  line-height: 1;
  color: var(--color-white);
  letter-spacing: 0.08em;
  background-color: var(--color-blue);
  border-radius: calc(8 * var(--px));
}

.message {
  margin-top: calc(56 * var(--px));
}
.message-inner {
  padding: 0 calc(20 * var(--px)) calc(80 * var(--px));
}
.message-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.message-image {
  position: relative;
  width: 100%;
  aspect-ratio: 360/320;
  filter: drop-shadow(0 0 0 var(--color-white));
  clip-path: inset(0 0 round calc(8 * var(--px)));
}
.message-note {
  position: absolute;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: calc(20 * var(--px));
}
.message-headline {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.message-headline-sub {
  font-family: var(--font-oswald);
  font-size: calc(0.625 * var(--rem));
  font-weight: 400;
  line-height: 1.24;
  color: var(--color-white);
  text-transform: uppercase;
  letter-spacing: 0.09em;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.85);
}
.message-headline-main {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(9 * var(--px)) calc(11 * var(--px)) calc(10 * var(--px));
  margin-top: calc(4 * var(--px));
  color: var(--color-white);
  background-color: var(--color-blue);
  border-radius: calc(8 * var(--px));
}
.message-headline-main-text {
  font-size: calc(1.25 * var(--rem));
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
}
.message-paragraph {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: calc(9 * var(--px)) calc(8 * var(--px)) calc(10 * var(--px));
  margin-top: calc(4 * var(--px));
  font-size: calc(0.8125 * var(--rem));
  font-weight: 500;
  line-height: 1;
  color: var(--color-white);
  letter-spacing: 0.08em;
  background-color: var(--color-blue);
  border-radius: calc(8 * var(--px));
}

@media screen and (min-width: 960px) {
  .fv-head-video {
    height: 100vh;
  }
  .fv-head::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: calc(280 * var(--px));
    content: '';
    background-image: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.5) 0%,
      rgba(0, 0, 0, 0) 100%
    );
  }
  .fv-head-scroll {
    width: 100%;
  }
  .fv-head-scroll-inner {
    bottom: 0;
    left: 0;
    width: 100%;
  }
  .fv-head-scroll-text {
    writing-mode: horizontal-tb;
  }
  .fv-headline {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    padding: 0 calc(146 * var(--px));
    pointer-events: none;
  }
  .fv-headline-sticky {
    position: sticky;
    top: 0;
    width: 100%;
    height: calc(100vh + 380 * var(--px));
    padding-top: var(--header-height);
  }
  .fv-headline-image {
    display: flex;
    align-items: center;
    height: 100vh;
  }
  .fv-headline-image img {
    width: auto;
    height: 56.22vh;
    aspect-ratio: 61/416;
  }
  .fv-body {
    padding: calc(240 * var(--px)) 0 calc(340 * var(--px)) calc(548 * var(--px));
  }
  .fv-body-paragraph-text {
    font-size: calc(1.125 * var(--rem));
    letter-spacing: 0.06em;
  }
  .fv-body-emphasis {
    font-size: calc(3.0625 * var(--rem));
  }
  .fv-spacing {
    height: 0;
  }
  .nav {
    margin-top: 0;
  }
  .nav-navigation {
    padding: calc(176 * var(--px)) calc(68 * var(--px)) calc(67 * var(--px));
  }
  .nav-navigation-list {
    grid-template-columns: repeat(6, 1fr);
    gap: calc(4 * var(--px));
    filter: drop-shadow(0 0 0 var(--color-white));
    clip-path: inset(0 0 round calc(8 * var(--px)));
  }
  .nav-navigation-item-link {
    width: 100%;
    height: 100%;
  }
  .nav-navigation-item-inner {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
  }
  .nav-navigation-item-image {
    clip-path: none;
  }
  .nav-navigation-item-note {
    bottom: calc(24 * var(--px));
    left: calc(24 * var(--px));
  }
  .nav-navigation-item-headline {
    flex-wrap: wrap;
    gap: 0;
    row-gap: calc(0.375 * var(--rem));
    align-items: center;
  }
  .nav-navigation-item-headline-sub {
    margin-top: 0.4em;
    font-size: calc(0.75 * var(--rem));
  }
  .nav-navigation-item-headline-main {
    font-size: calc(1.5 * var(--rem));
  }
  .nav-navigation-item-text {
    margin-top: calc(8 * var(--px));
    font-size: calc(1 * var(--rem));
  }
  .nav-navigation-item[data-nav-item='セコムグループの事業'] {
    grid-row: 1/2;
    grid-column: 1/4;
    aspect-ratio: 617/330;
  }
  .nav-navigation-item[data-nav-item='ビジョン'] {
    grid-row: 1/2;
    grid-column: 4/7;
    aspect-ratio: 617/330;
  }
  .nav-navigation-item[data-nav-item='セコムの言葉'] {
    grid-row: 2/3;
    grid-column: 1/3;
    aspect-ratio: 407/330;
  }
  .nav-navigation-item[data-nav-item='セコムグループのスケール'] {
    grid-row: 2/3;
    grid-column: 3/5;
    aspect-ratio: 407/330;
  }
  .nav-navigation-item[data-nav-item='働きやすさの推進'] {
    grid-row: 2/3;
    grid-column: 5/7;
    aspect-ratio: 407/330;
  }
  .history-image {
    aspect-ratio: 1366/480;
  }
  .history-headline-sub {
    font-size: calc(0.75 * var(--rem));
  }
  .history-headline-main {
    padding: calc(9 * var(--px)) calc(9 * var(--px)) calc(10 * var(--px));
    margin-top: calc(7 * var(--px));
  }
  .history-headline-main-text {
    font-size: calc(1.625 * var(--rem));
  }
  .history-paragraph {
    margin-top: calc(8 * var(--px));
    font-size: calc(1 * var(--rem));
  }
  .message {
    margin-top: calc(88 * var(--px));
  }
  .message-inner {
    display: grid;
    grid-template-rows: min-content;
    grid-template-columns: repeat(var(--grid-columns), 1fr);
    padding: 0 0 calc(120 * var(--px));
  }
  .message-link {
    grid-column: 3/39;
  }
  .message-image {
    aspect-ratio: 1238/480;
  }
  .message-headline-sub {
    font-size: calc(0.75 * var(--rem));
  }
  .message-headline-main {
    margin-top: calc(0.5 * var(--rem));
  }
  .message-headline-main-text {
    font-size: calc(1.625 * var(--rem));
  }
  .message-paragraph {
    margin-top: calc(0.5 * var(--rem));
    font-size: calc(1 * var(--rem));
  }
  .footer {
    border-top: none;
  }
}
