.js body[data-fv=loading] {
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior: none;
}

.js body[data-fv=s01] {
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior: none;
}

.js body[data-fv=deform] {
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior: none;
}

.js body[data-fv=s02] {
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior: none;
}

.js body[data-fv=s02c] {
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior: none;
}

body.is-fv-sliding {
  overflow-x: auto;
  overflow-y: hidden;
}

html:has(body.p-top) {
  overscroll-behavior-y: none;
}

.p-top .fv {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100vw;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  transition: transform var(--motion-long) var(--ease-in-out), visibility 0s;
}
@media (min-width: 768px) {
  .p-top .fv {
    min-width: 1280px;
  }
}
html:not(.js) .p-top .fv {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.p-top .fv .s01, .p-top .fv .s02-ab, .p-top .fv .s02-c {
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  min-width: 0;
}
.p-top .fv .s02-ab__wrap-a, .p-top .fv .s02-ab__wrap-b {
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  min-width: 0;
}
.p-top .fv .s02-ab__wrap-a {
  z-index: 0;
  opacity: 0;
  pointer-events: none;
}
.p-top .fv .s02-ab__wrap-b {
  z-index: 1;
}
.p-top .fv .s02-ab__canvas {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  max-width: none;
}
.p-top .fv .s01 {
  z-index: 3;
}
.p-top .fv .s01.is-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  visibility: visible;
}
.p-top .fv .s02-ab__next-section {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0s 0.4s;
}
.p-top .fv .s02-c {
  z-index: 20;
  top: 100%;
  bottom: auto;
  height: 100%;
}
.p-top .fv .s02-ab, .p-top .fv .s02-c {
  transition: transform var(--motion-long) var(--ease-in-out);
}
.p-top[data-fv=s02] .fv .s02-ab__next-section, .p-top[data-fv=s02c] .fv .s02-ab__next-section, .p-top[data-fv=s03] .fv .s02-ab__next-section {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.4s, visibility 0s;
}
.p-top[data-fv=s02c] .fv .s02-ab, .p-top[data-fv=s02c] .fv .s02-c, .p-top[data-fv=s03] .fv .s02-ab, .p-top[data-fv=s03] .fv .s02-c {
  transform: translateY(-100%);
}
.js .p-top[data-fv=loading] .s03, .js .p-top[data-fv=loading] .l-header__nav, .js .p-top[data-fv=loading] .l-header__contact {
  transform: translateY(100vh);
  transform: translateY(100svh);
  visibility: hidden;
  transition: transform var(--motion-long) var(--ease-in-out), visibility 0s var(--motion-long);
}
.js .p-top[data-fv=loading] .l-footer {
  visibility: hidden;
  transition: visibility 0s var(--motion-long);
}
.js .p-top[data-fv=s01] .s03, .js .p-top[data-fv=s01] .l-header__nav, .js .p-top[data-fv=s01] .l-header__contact {
  transform: translateY(100vh);
  transform: translateY(100svh);
  visibility: hidden;
  transition: transform var(--motion-long) var(--ease-in-out), visibility 0s var(--motion-long);
}
.js .p-top[data-fv=s01] .l-footer {
  visibility: hidden;
  transition: visibility 0s var(--motion-long);
}
.js .p-top[data-fv=deform] .s03, .js .p-top[data-fv=deform] .l-header__nav, .js .p-top[data-fv=deform] .l-header__contact {
  transform: translateY(100vh);
  transform: translateY(100svh);
  visibility: hidden;
  transition: transform var(--motion-long) var(--ease-in-out), visibility 0s var(--motion-long);
}
.js .p-top[data-fv=deform] .l-footer {
  visibility: hidden;
  transition: visibility 0s var(--motion-long);
}
.js .p-top[data-fv=s02] .s03, .js .p-top[data-fv=s02] .l-header__nav, .js .p-top[data-fv=s02] .l-header__contact {
  transform: translateY(100vh);
  transform: translateY(100svh);
  visibility: hidden;
  transition: transform var(--motion-long) var(--ease-in-out), visibility 0s var(--motion-long);
}
.js .p-top[data-fv=s02] .l-footer {
  visibility: hidden;
  transition: visibility 0s var(--motion-long);
}
.js .p-top[data-fv=s02c] .s03, .js .p-top[data-fv=s02c] .l-header__nav, .js .p-top[data-fv=s02c] .l-header__contact {
  transform: translateY(100vh);
  transform: translateY(100svh);
  visibility: hidden;
  transition: transform var(--motion-long) var(--ease-in-out), visibility 0s var(--motion-long);
}
.js .p-top[data-fv=s02c] .l-footer {
  visibility: hidden;
  transition: visibility 0s var(--motion-long);
}
.p-top[data-fv=s03] .s03, .p-top[data-fv=s03] .l-header__nav, .p-top[data-fv=s03] .l-header__contact {
  transition: transform var(--motion-long) var(--ease-in-out), visibility 0s;
}
.p-top[data-fv=s03] .fv {
  transform: translateY(-100%);
  visibility: hidden;
  transition: transform var(--motion-long) var(--ease-in-out), visibility 0s var(--motion-long);
}
.js .p-top .s02-c .s02-c__container__title p, .js .p-top .s02-c .s02-c__catch-line {
  overflow: hidden;
}
.js .p-top .s02-c .s02-c__container__title p img, .js .p-top .s02-c .s02-c__catch-line > * {
  display: block;
  translate: 0 101%;
}
.js .p-top .s02-c .s02-c__txt {
  overflow: hidden;
  padding-bottom: 0.25em;
  margin-bottom: -0.25em;
}
.js .p-top .s02-c .s02-c__txt > span {
  display: inline-block;
  translate: 0 130%;
}
.js .p-top .s02-c .s02-c__scrolldown {
  opacity: 0;
}
.js .p-top .s02-c.is-revealed .s02-c__container__title p img, .js .p-top .s02-c.is-revealed .s02-c__catch-line > *, .js .p-top .s02-c.is-revealed .s02-c__txt > span {
  translate: 0 0;
}
.js .p-top .s02-c.is-revealed .s02-c__container__title p img {
  transition: translate var(--motion-base) var(--ease-out) calc(var(--motion-long) * 0.6);
}
.js .p-top .s02-c.is-revealed .s02-c__catch-line > * {
  transition: translate var(--motion-long) var(--ease-out) calc(var(--motion-long) * 0.6 + var(--motion-base) * 0.4 + var(--line, 0) * var(--motion-stagger) * 2.5);
}
.js .p-top .s02-c.is-revealed .s02-c__catch-line:nth-of-type(3) > * {
  --line: 1;
}
.js .p-top .s02-c.is-revealed .s02-c__catch-line:nth-of-type(4) > * {
  --line: 2;
}
.js .p-top .s02-c.is-revealed .s02-c__txt > span {
  transition: translate var(--motion-base) var(--ease-out) calc(var(--motion-long) * 0.6 + var(--motion-base) * 1.4 + var(--motion-stagger) * 2.5);
}
.js .p-top .s02-c.is-revealed .s02-c__scrolldown {
  opacity: 1;
  transition: opacity var(--motion-base) var(--ease-out) calc(var(--motion-long) * 0.6 + var(--motion-base) * 2);
}
@media (prefers-reduced-motion: reduce) {
  .js .p-top .s02-c .s02-c__container__title p img, .js .p-top .s02-c .s02-c__catch-line > *, .js .p-top .s02-c .s02-c__txt > span {
    translate: 0 0;
    opacity: 0;
  }
  .js .p-top .s02-c.is-revealed .s02-c__container__title p img, .js .p-top .s02-c.is-revealed .s02-c__catch-line > *, .js .p-top .s02-c.is-revealed .s02-c__txt > span, .js .p-top .s02-c.is-revealed .s02-c__scrolldown {
    opacity: 1;
    transition: opacity var(--motion-short) linear;
  }
}
.p-top .fv .s02-c__scrolldown {
  overflow: hidden;
  background: rgba(231, 232, 232, 0.3);
}
.p-top .fv .s02-c__scrolldown::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 40%;
  background: #e7e8e8;
  transform: translateY(-100%);
}
.p-top[data-fv=s02c] .s02-c.is-revealed .s02-c__scrolldown::after {
  animation: fv-scrolldown 1.6s var(--ease-in-out) calc(var(--motion-long) * 0.6 + var(--motion-base) * 2) infinite both;
}
@media (prefers-reduced-motion: reduce) {
  .p-top .fv .s02-c__scrolldown {
    background: #e7e8e8;
  }
  .p-top .fv .s02-c__scrolldown::after {
    display: none;
  }
}

@keyframes fv-scrolldown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(250%);
  }
}
.p-top .fv .s02-ab__next-section button {
  position: relative;
  isolation: isolate;
  color: #e7e8e8;
}
.p-top .fv .s02-ab__next-section button::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #d71b2a;
  opacity: 0;
  transition: opacity var(--motion-short) linear;
}
@media (hover: hover) and (pointer: fine) {
  .p-top .fv .s02-ab__next-section button:hover::before {
    opacity: 1;
  }
}
.p-top .fv .s02-ab__next-section button:focus-visible::before {
  opacity: 1;
}
.p-top .fv .s02-ab__next-section .next_txt {
  position: relative;
  overflow: hidden;
}
.p-top .fv .s02-ab__next-section .next_txt img {
  display: block;
  width: 100%;
}
.p-top .fv .s02-ab__next-section .next_txt::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../img/top/s02_btn_txt.png) no-repeat center/100% 100%;
  translate: 0 -100%;
}
.p-top .fv .s02-ab__next-section .arrow {
  clip-path: inset(-1px);
}

.p-top[data-fv=s02] .fv .s02-ab__next-section .next_txt img {
  animation: next-txt-out 2.5s linear infinite;
}
.p-top[data-fv=s02] .fv .s02-ab__next-section .next_txt::before {
  animation: next-txt-in 2.5s linear infinite;
}
.p-top[data-fv=s02] .fv .s02-ab__next-section .zm-arrow {
  animation: next-arrow 2.5s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .p-top[data-fv=s02] .fv .s02-ab__next-section .next_txt img, .p-top[data-fv=s02] .fv .s02-ab__next-section .next_txt::before, .p-top[data-fv=s02] .fv .s02-ab__next-section .zm-arrow {
    animation: none;
  }
}

@keyframes next-txt-out {
  0%, 88% {
    translate: 0 0;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  }
  100% {
    translate: 0 100%;
  }
}
@keyframes next-txt-in {
  0%, 88% {
    translate: 0 -100%;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  }
  100% {
    translate: 0 0;
  }
}
@keyframes next-arrow {
  0%, 80% {
    translate: 0 0;
    animation-timing-function: cubic-bezier(0.55, 0, 1, 0.45);
  }
  88% {
    translate: calc(var(--ax) * 101%) calc(var(--ay) * 101%);
  }
  88.01% {
    translate: calc(var(--ax) * -101%) calc(var(--ay) * -101%);
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  }
  100% {
    translate: 0 0;
  }
}
html:not(.js) .p-top .s03__replay {
  display: none;
}

.p-top .s03__tagline {
  display: block;
  --tl-focus: var(--motion-long);
  --tl-fire: var(--motion-long);
  --tl-copy: calc(var(--motion-long) + var(--motion-base) * 0.4);
  --tl-mark: calc(var(--motion-long) + var(--motion-base));
}

.s03__tagline-svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.js .p-top .s03__tagline .tl-fire {
  transform: translateX(-860px);
}
.js .p-top .s03__tagline .tl-copy {
  transform: translateY(64px);
}
.js .p-top .s03__tagline .tl-mark, .js .p-top .s03__tagline .tl-name {
  opacity: 0;
}
.js .p-top .s03__tagline.is-revealed .tl-fire {
  transform: none;
  transition: transform var(--motion-base) var(--ease-in-out) var(--tl-fire);
}
.js .p-top .s03__tagline.is-revealed .tl-copy {
  transform: none;
  transition: transform var(--motion-base) var(--ease-out) var(--tl-copy);
}
.js .p-top .s03__tagline.is-revealed .tl-mark, .js .p-top .s03__tagline.is-revealed .tl-name {
  opacity: 1;
  transition: opacity var(--motion-base) var(--ease-out) var(--tl-mark);
}
@media (prefers-reduced-motion: reduce) {
  .js .p-top .s03__tagline .tl-mark, .js .p-top .s03__tagline .tl-name {
    opacity: 1;
  }
  .js .p-top .s03__tagline .tl-fire, .js .p-top .s03__tagline .tl-copy {
    transform: none;
  }
  .js .p-top .s03__tagline .s03__tagline-svg {
    opacity: 0;
  }
  .js .p-top .s03__tagline.is-revealed .tl-fire, .js .p-top .s03__tagline.is-revealed .tl-copy, .js .p-top .s03__tagline.is-revealed .tl-mark, .js .p-top .s03__tagline.is-revealed .tl-name {
    transition: none;
  }
  .js .p-top .s03__tagline.is-revealed .s03__tagline-svg {
    opacity: 1;
    transition: opacity var(--motion-short) linear;
  }
}

.p-top .s03__wrap__contents-list .con-card {
  isolation: isolate;
  transform: perspective(1200px) translateY(0) rotateX(0deg) rotateY(0deg);
  transition: opacity var(--motion-base) var(--ease-out), translate var(--motion-base) var(--ease-out), transform 0.3s var(--ease-out);
  transition-delay: calc(var(--reveal-wait, 0s) + var(--i, 0) * var(--motion-stagger)), calc(var(--reveal-wait, 0s) + var(--i, 0) * var(--motion-stagger)), 0s;
}
.p-top .s03__wrap__contents-list .con-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  box-shadow: 0 24px 48px rgba(23, 23, 23, 0.22);
  opacity: 0;
  transition: opacity 0.3s var(--ease-out);
}
.p-top .s03__wrap__contents-list .con-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: #edf0f1;
  opacity: 0;
  transition: opacity 0.3s var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
  .p-top .s03__wrap__contents-list .con-card:hover {
    transform: perspective(1200px) translateY(-8px) rotateX(calc(var(--tilt-x, 0) * 6deg)) rotateY(calc(var(--tilt-y, 0) * 6deg));
  }
  .p-top .s03__wrap__contents-list .con-card:hover::after, .p-top .s03__wrap__contents-list .con-card:hover::before {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-top .s03__wrap__contents-list .con-card {
    transform: none !important;
  }
}

.js .p-top .s03__newtopics ul[data-reveal=stagger] > * {
  translate: calc(var(--motion-distance) * 2.5) 0;
  transition-duration: var(--motion-long);
}

.js .p-top .s03__newtopics ul[data-reveal=stagger].is-revealed > * {
  translate: 0 0;
}

@media (prefers-reduced-motion: reduce) {
  .js .p-top .s03__newtopics ul[data-reveal=stagger] > * {
    translate: 0 0;
  }
}
@media (max-width: 767px) {
  .p-top .s03__wrap__contents-list .con-card {
    overflow: hidden;
  }
  .p-top .s03__wrap__contents-list .con-card.current h3 {
    --rise: 1.1em;
    --pb: calc(var(--sp-w) * 0.1);
    animation: card-rise-h3 0.4s var(--ease-out) calc(0.2s + var(--motion-stagger)) backwards;
  }
  .p-top .s03__wrap__contents-list .con-card.current figure {
    overflow: hidden;
  }
  .p-top .s03__wrap__contents-list .con-card.current figure img {
    animation: card-rise 0.4s var(--ease-out) 0.2s backwards;
  }
  .p-top .s03__wrap__contents-list .con-card.current .con-card__arrow .zm-arrow {
    animation: card-rise-arrow 0.4s var(--ease-out) calc(0.2s + var(--motion-stagger) * 2) backwards;
  }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  .p-top .s03__wrap__contents-list .con-card.current h3, .p-top .s03__wrap__contents-list .con-card.current figure img, .p-top .s03__wrap__contents-list .con-card.current .con-card__arrow .zm-arrow {
    animation: none;
  }
}
@keyframes card-rise {
  from {
    translate: 0 101%;
  }
  to {
    translate: 0 0;
  }
}
@keyframes card-rise-h3 {
  from {
    translate: 0 var(--rise);
    clip-path: inset(-0.3em -1em calc(var(--pb) + var(--rise)) -1em);
  }
  to {
    translate: 0 0;
    clip-path: inset(-0.3em -1em var(--pb) -1em);
  }
}
@keyframes card-rise-arrow {
  from {
    translate: -101% 101%;
  }
  to {
    translate: 0 0;
  }
}
.p-top .s01 {
  width: 100vw;
  height: 100vh;
  background: #fff;
  position: relative;
}
@media (min-width: 768px) {
  .p-top .s01 {
    min-width: 1280px;
  }
}
.p-top .s01__bgimg {
  width: calc(100vw - 40px);
  height: calc(100vh - 120px);
  background: url(../img/top/s01_mv@pc.jpg) no-repeat right;
  background-size: auto 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 767px) {
  .p-top .s01__bgimg {
    width: 100vw;
    height: calc(100svh - calc(var(--sp-w) * 0.2));
    background: url(../img/top/s01_mv@sp.jpg) no-repeat;
    background-size: 100% auto;
    position: absolute;
    top: calc(var(--sp-w) * 0.2);
  }
}
.p-top .s01__header {
  display: flex;
  justify-content: space-between;
  padding: 40px;
}
@media (max-width: 767px) {
  .p-top .s01__header {
    padding: calc(var(--sp-w) * 0.04);
  }
}
.p-top .s01__logo {
  width: 275px;
}
@media (max-width: 767px) {
  .p-top .s01__logo {
    width: calc(var(--sp-w) * 0.44);
    padding-top: calc(var(--sp-w) * 0.008);
  }
}
.p-top .s01__menu {
  width: 793.5px;
}
@media (max-width: 767px) {
  .p-top .s01__menu {
    width: calc(var(--sp-w) * 0.2);
  }
}
.p-top .s01__catch {
  width: calc(var(--pc-w) * 0.43993);
  position: absolute;
  left: 30.5px;
  bottom: 60px;
}
@media (max-width: 767px) {
  .p-top .s01__catch {
    width: calc(var(--sp-w) * 0.83);
    left: 0;
    bottom: calc(var(--sp-w) * 0.08);
  }
}
.p-top .s02-ab {
  position: relative;
}
.p-top .s02-ab__wrap-a {
  width: 100vw;
  height: 100vh;
  position: relative;
  background: #1b1c1d;
  color: #e7e8e8;
}
@media (min-width: 768px) {
  .p-top .s02-ab__wrap-a {
    min-width: 1280px;
  }
}
@media (max-width: 767px) {
  .p-top .s02-ab__wrap-a {
    height: 100svh;
  }
}
.p-top .s02-ab__wrap-b {
  width: 100vw;
  height: 100vh;
  position: relative;
  background: url(../img/top/s02_b_bgimage@pc.jpg) center center;
  background-size: cover;
  color: #1e201c;
}
@media (min-width: 768px) {
  .p-top .s02-ab__wrap-b {
    min-width: 1280px;
  }
}
@media (max-width: 767px) {
  .p-top .s02-ab__wrap-b {
    height: 100svh;
    background: url(../img/top/s02_b_bgimage@sp.jpg) center center;
    background-size: cover;
  }
}
.p-top .s02-ab .container {
  width: calc(var(--pc-w) * 0.20833);
  position: absolute;
  right: 120px;
  bottom: 100px;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
}
.p-top .s02-ab .container .heading {
  height: calc(var(--pc-w) * 0.02118);
}
.p-top .s02-ab .container .number {
  height: calc(var(--pc-w) * 0.0816);
  margin: calc(var(--pc-w) * 0.01389) 0;
}
.p-top .s02-ab .container h2 {
  height: calc(var(--pc-w) * 0.03542);
}
.p-top .s02-ab .container .txt {
  font-size: calc(var(--pc-w) * 0.01111);
  letter-spacing: 0.08em;
  margin: 1em 0 0 0;
  text-align: center;
}
.p-top .s02-ab .container img {
  height: 100%;
}
@media (max-width: 767px) {
  .p-top .s02-ab .container {
    width: calc(var(--sp-w) * 0.6);
    top: 50%;
    left: calc(var(--sp-w) * 0.08);
    right: auto;
    bottom: auto;
    margin-top: calc(var(--sp-w) * -0.234);
  }
  .p-top .s02-ab .container .heading {
    height: calc(var(--sp-w) * 0.061);
  }
  .p-top .s02-ab .container .number {
    height: calc(var(--sp-w) * 0.235);
    margin: calc(var(--sp-w) * 0.04) 0;
  }
  .p-top .s02-ab .container h2 {
    height: calc(var(--sp-w) * 0.102);
  }
  .p-top .s02-ab .container .txt {
    font-size: calc(var(--sp-w) * 0.032);
    text-align: left;
  }
}
.p-top .s02-ab__next-section {
  display: flex;
  width: calc(var(--pc-w) * 0.20833);
  position: absolute;
  bottom: 50px;
  right: 120px;
  justify-content: center;
  align-items: center;
  z-index: 10;
}
.p-top .s02-ab__next-section button {
  background: #1b1c1d;
  display: flex;
  gap: calc(var(--pc-w) * 0.00521);
  justify-content: center;
  align-items: center;
  width: calc(var(--pc-w) * 0.12153);
  height: calc(var(--pc-w) * 0.01319);
}
.p-top .s02-ab__next-section button .arrow {
  width: calc(var(--pc-w) * 0.0066);
  height: calc(var(--pc-w) * 0.0066);
}
.p-top .s02-ab__next-section button .next_txt {
  width: calc(var(--pc-w) * 0.09375);
  height: calc(var(--pc-w) * 0.00868);
}
@media (max-width: 767px) {
  .p-top .s02-ab__next-section {
    width: 100vw;
    bottom: calc(var(--sp-w) * 0.08);
    right: auto;
    left: auto;
  }
  .p-top .s02-ab__next-section button {
    gap: calc(var(--sp-w) * 0.015);
    width: calc(var(--sp-w) * 0.35);
    height: calc(var(--sp-w) * 0.038);
  }
  .p-top .s02-ab__next-section button .arrow {
    width: calc(var(--sp-w) * 0.019);
    height: calc(var(--sp-w) * 0.019);
  }
  .p-top .s02-ab__next-section button .next_txt {
    width: calc(var(--sp-w) * 0.27);
    height: calc(var(--sp-w) * 0.025);
  }
}
.p-top .s02-c {
  width: 100vw;
  height: 100vh;
  background: url(../img/top/s02_c_bgimage@pc.jpg) no-repeat center center;
  background-size: cover;
  position: relative;
}
@media (min-width: 768px) {
  .p-top .s02-c {
    min-width: 1280px;
  }
}
@media (max-width: 767px) {
  .p-top .s02-c {
    height: 100svh;
    background: url(../img/top/s02_c_bgimage@sp.jpg) no-repeat center center;
    background-size: cover;
  }
}
.p-top .s02-c__container {
  height: 100%;
  display: grid;
  place-items: center;
}
.p-top .s02-c__container__title p {
  width: min(calc(var(--pc-w) * 0.20938), 402px);
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-top .s02-c__container__title p {
    width: calc(var(--sp-w) * 0.45);
  }
}
.p-top .s02-c__container__title h2 {
  width: min(calc(var(--pc-w) * 0.54826), 1052.67px);
  margin: min(calc(var(--pc-w) * 0.0191), 36.67px) auto min(calc(var(--pc-w) * 0.02604), 50px);
}
@media (max-width: 767px) {
  .p-top .s02-c__container__title h2 {
    width: calc(var(--sp-w) * 0.866);
    margin: calc(var(--sp-w) * 0.055) auto calc(var(--sp-w) * 0.075);
  }
}
:where(.s02-c__catch-line) {
  display: block;
}

.p-top .s02-c__container__title .s02-c__catch-line img {
  display: block;
  width: 100%;
}
.p-top .s02-c__container__title .s02-c__catch-line + .s02-c__catch-line {
  margin-top: 1.5832805573%;
}
@media (max-width: 767px) {
  .p-top .s02-c__container__title .s02-c__catch-line + .s02-c__catch-line {
    margin-top: 2.5404157044%;
  }
}
@media (max-width: 767px) {
  .p-top .s02-c__container__title .s02-c__catch-line + .s02-c__catch-line + .s02-c__catch-line {
    margin-top: 2.4249422633%;
  }
}
.p-top .s02-c__txt {
  font-size: min(calc(var(--pc-w) * 0.01736), 33.33px);
  color: #e7e8e8;
  text-align: center;
}
@media (max-width: 767px) {
  .p-top .s02-c__txt {
    font-size: calc(var(--sp-w) * 0.036);
  }
}
.p-top .s02-c__txt strong {
  font-weight: bold;
  display: inline-block;
  position: relative;
}
.p-top .s02-c__txt strong::after {
  content: "";
  display: block;
  background: #e7e8e8;
  width: 100%;
  height: min(calc(var(--pc-w) * 0.00208), 4px);
  position: absolute;
  left: 0;
  bottom: min(calc(var(--pc-w) * -0.00069), -1.33px);
}
@media (max-width: 767px) {
  .p-top .s02-c__txt strong::after {
    height: calc(var(--sp-w) * 0.006);
    bottom: calc(var(--sp-w) * -0.002);
  }
}
.p-top .s02-c__scrolldown {
  display: block;
  width: 1px;
  height: min(calc(var(--pc-w) * 0.08681), 166.67px);
  background: #e7e8e8;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -0.5px;
}
@media (max-width: 767px) {
  .p-top .s02-c__scrolldown {
    height: calc(var(--sp-w) * 0.25);
  }
}
.p-top .s03__wrap {
  background: url(../img/top/s03_bg@pc.jpg) no-repeat;
  background-size: cover;
  padding-bottom: 125px;
}
@media (max-width: 767px) {
  .p-top .s03__wrap {
    padding-bottom: calc(var(--sp-w) * 0.2);
  }
}
.p-top .s03__wrap h2 {
  width: 704.5px;
  margin: 0 auto 90px;
  padding: 200px 0 0;
}
@media (max-width: 767px) {
  .p-top .s03__wrap h2 {
    width: calc(var(--sp-w) * 0.84);
    margin: 0 auto calc(var(--sp-w) * 0.2);
    padding: calc(var(--sp-w) * 0.31) 0 0;
  }
}
.p-top .s03__wrap__contents-list {
  display: flex;
  justify-content: space-between;
  padding: 0 80px;
}
@media (max-width: 767px) {
  .p-top .s03__wrap__contents-list {
    flex-flow: column;
    padding: 0;
    border-top: 1px solid #b9bbbc;
  }
}
.p-top .s03__wrap__contents-list .con-card {
  display: block;
  width: calc(var(--pc-w) * 0.28472);
  height: 370px;
  position: relative;
  border: 1px solid #b9bbbc;
  padding: 0 40px;
  box-shadow: 0 0 4px rgba(23, 23, 23, 0.2);
}
.p-top .s03__wrap__contents-list .con-card p {
  padding: 145px 0 52.5px;
}
.p-top .s03__wrap__contents-list .con-card h3 {
  font-family: "Atkinson Hyperlegible Next", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 700;
  font-size: 42.5px;
  letter-spacing: 0.02em;
  line-height: 1em;
  position: relative;
  padding: 0 0 0 10px;
}
.p-top .s03__wrap__contents-list .con-card h3::before {
  content: "";
  display: block;
  background: #b9bbbc;
  width: 40px;
  height: 1px;
  position: absolute;
  left: -40px;
  top: 20px;
}
.p-top .s03__wrap__contents-list .con-card h3 span {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 0;
  display: block;
  margin-top: -0.7em;
}
.p-top .s03__wrap__contents-list .con-card figure {
  position: absolute;
  top: 40px;
  left: 40px;
}
.p-top .s03__wrap__contents-list .con-card__arrow {
  width: 24px;
  position: absolute;
  top: 40px;
  right: 40px;
}
@media (max-width: 767px) {
  .p-top .s03__wrap__contents-list .con-card {
    width: 100vw;
    height: auto;
    border: none;
    box-shadow: none;
    padding: 0 calc(var(--sp-w) * 0.04);
    border-bottom: 1px solid #b9bbbc;
  }
  .p-top .s03__wrap__contents-list .con-card p {
    padding: calc(var(--sp-w) * 0.05) 0;
  }
  .p-top .s03__wrap__contents-list .con-card h3 {
    display: none;
    font-size: calc(var(--sp-w) * 0.065);
    padding: 0 0 calc(var(--sp-w) * 0.1);
  }
  .p-top .s03__wrap__contents-list .con-card h3::before {
    display: none;
  }
  .p-top .s03__wrap__contents-list .con-card h3 span {
    font-size: calc(var(--sp-w) * 0.028);
    display: inline;
    vertical-align: middle;
    padding: 0 0 0 1em;
  }
  .p-top .s03__wrap__contents-list .con-card figure {
    display: none;
  }
  .p-top .s03__wrap__contents-list .con-card__arrow {
    display: none;
  }
}
.p-top .s03__wrap__contents-list .con-card.current {
  background: #edf0f1;
}
@media (max-width: 767px) {
  .p-top .s03__wrap__contents-list .con-card.current {
    padding: 0 calc(var(--sp-w) * 0.08);
  }
  .p-top .s03__wrap__contents-list .con-card.current p {
    padding: calc(var(--sp-w) * 0.1) 0 calc(var(--sp-w) * 0.04);
  }
  .p-top .s03__wrap__contents-list .con-card.current h3 {
    display: block;
  }
  .p-top .s03__wrap__contents-list .con-card.current figure {
    display: block;
    top: auto;
    bottom: calc(var(--sp-w) * 0.106);
    left: calc(var(--sp-w) * 0.08);
  }
  .p-top .s03__wrap__contents-list .con-card.current .con-card__arrow {
    display: block;
  }
}
.p-top .s03__wrap__contents-list__01 p {
  width: 267.5px;
}
.p-top .s03__wrap__contents-list__01 figure {
  width: 73.5px;
}
@media (max-width: 767px) {
  .p-top .s03__wrap__contents-list__01 p {
    width: calc(var(--sp-w) * 0.688);
  }
  .p-top .s03__wrap__contents-list__01 h3 {
    padding: 0 0 calc(var(--sp-w) * 0.1) calc(var(--sp-w) * 0.13) !important;
  }
  .p-top .s03__wrap__contents-list__01 figure {
    width: calc(var(--sp-w) * 0.102);
  }
}
.p-top .s03__wrap__contents-list__02 p {
  width: 267px;
}
.p-top .s03__wrap__contents-list__02 figure {
  width: 40px;
}
@media (max-width: 767px) {
  .p-top .s03__wrap__contents-list__02 p {
    width: calc(var(--sp-w) * 0.682);
  }
  .p-top .s03__wrap__contents-list__02 h3 {
    padding: 0 0 calc(var(--sp-w) * 0.1) calc(var(--sp-w) * 0.09) !important;
  }
  .p-top .s03__wrap__contents-list__02 figure {
    width: calc(var(--sp-w) * 0.056);
  }
}
.p-top .s03__wrap__contents-list__03 p {
  width: 256.5px;
}
.p-top .s03__wrap__contents-list__03 figure {
  width: 45px;
}
@media (max-width: 767px) {
  .p-top .s03__wrap__contents-list__03 p {
    width: calc(var(--sp-w) * 0.666);
  }
  .p-top .s03__wrap__contents-list__03 h3 {
    padding: 0 0 calc(var(--sp-w) * 0.1) calc(var(--sp-w) * 0.09) !important;
  }
  .p-top .s03__wrap__contents-list__03 figure {
    width: calc(var(--sp-w) * 0.062);
  }
}
.p-top .s03__wrap {
  position: relative;
}
.p-top .s03__replay {
  position: absolute;
  top: 120px;
  left: 40px;
  z-index: 1;
}
@media (max-width: 767px) {
  .p-top .s03__replay {
    top: calc(var(--sp-w) * 0.16);
    left: calc(var(--sp-w) * 0.04);
  }
}
.p-top .s03__replay button {
  display: inline-flex;
  align-items: center;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.04em;
  color: #1e201c;
}
@media (max-width: 767px) {
  .p-top .s03__replay button {
    font-size: calc(var(--sp-w) * 0.028);
  }
}
.p-top .s03__replay-arrow {
  width: 0.7em;
  height: 0.7em;
  margin-right: 0.5em;
  flex-shrink: 0;
}
.p-top .s03__newtopics {
  background: #1b1c1d url(../img/top/s03_topics_bgtxt@pc.png) no-repeat top left;
  background-size: 1440px auto;
  color: #b9bbbc;
  padding: 125px 0;
}
.p-top .s03__newtopics ul {
  display: flex;
  gap: 60px;
  padding-left: 80px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.p-top .s03__newtopics ul::after {
  content: "";
  flex: 0 0 45px;
}
.p-top .s03__newtopics ul::-webkit-scrollbar {
  display: none;
}
.p-top .s03__newtopics ul li {
  width: 230px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
}
.p-top .s03__newtopics ul li .category {
  font-family: "Atkinson Hyperlegible Next", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 800;
  font-size: 20px;
  line-height: 1em;
}
.p-top .s03__newtopics ul li .date {
  font-family: "Atkinson Hyperlegible Next", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 700;
  font-size: 50px;
  line-height: 1em;
}
.p-top .s03__newtopics ul li .date span {
  font-weight: 200;
}
.p-top .s03__newtopics ul li .title {
  font-size: 16px;
  line-height: 25px;
  text-align: justify;
  padding: 20px 0;
}
.p-top .s03__newtopics ul li a {
  margin-top: auto;
  font-family: "Atkinson Hyperlegible Next", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1em;
  display: flex;
  align-items: center;
  position: relative;
  padding-bottom: 20px;
}
.p-top .s03__newtopics ul li a span {
  width: 14.5px;
  height: 14.5px;
  margin-left: 19px;
}
.p-top .s03__newtopics ul li a::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #b9bbbc;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media (max-width: 767px) {
  .p-top .s03__newtopics {
    background: #1b1c1d url(../img/top/s03_topics_bgtxt@sp.png) no-repeat top left;
    background-size: 100vw auto;
    padding: calc(var(--sp-w) * 0.2) 0;
  }
  .p-top .s03__newtopics ul {
    gap: calc(var(--sp-w) * 0.07);
    padding-left: calc(var(--sp-w) * 0.08);
  }
  .p-top .s03__newtopics ul::after {
    flex-basis: calc(var(--sp-w) * 0.01);
  }
  .p-top .s03__newtopics ul li {
    width: calc(var(--sp-w) * 0.46);
  }
  .p-top .s03__newtopics ul li .category {
    font-size: calc(var(--sp-w) * 0.04);
  }
  .p-top .s03__newtopics ul li .date {
    font-size: calc(var(--sp-w) * 0.1);
  }
  .p-top .s03__newtopics ul li .title {
    font-size: calc(var(--sp-w) * 0.032);
    line-height: calc(var(--sp-w) * 0.05);
    padding: calc(var(--sp-w) * 0.04) 0;
  }
  .p-top .s03__newtopics ul li a {
    font-size: calc(var(--sp-w) * 0.036);
    padding-bottom: calc(var(--sp-w) * 0.04);
  }
  .p-top .s03__newtopics ul li a span {
    width: calc(var(--sp-w) * 0.029);
    height: calc(var(--sp-w) * 0.029);
    margin-left: calc(var(--sp-w) * 0.038);
  }
}
