:root {
  --c-ThkRed: hsl(356 88.6% 44.7%);
  --c-ThkRed80: hsl(356 71.7% 55.7%);
  --c-ThkRed60: hsl(357 71.6% 66.9%);
  --c-ThkRed40: hsl(356 71.7% 77.8%);
  --c-ThkRed20: hsl(357 71.4% 89%);
  --c-ThkGraphRed: hsl(356 88.6% 44.7%);
  --c-ThkGraphRed70: hsl(357 71.6% 61.4%);
  --c-ThkGraphRed40: hsl(356 71.7% 77.8%);
  --c-ThkGraphRed15: hsl(358 71.4% 91.8%);
  --c-ThkGraphGray45: hsl(0 0% 54.9%);
  --c-ThkGraphGray25: hsl(0 0% 74.9%);
  --c-grayBg: hsl(0 0% 90.2%);
  --c-gray11: hsl(0 0% 6.7%);
  --c-grayDC: hsl(0 0% 86.3%);
  --c-grayC2: hsl(0 0% 76.1%);
  --c-Black: hsl(220 0% 0%);
  --c-black: hsl(220 0% 10%);
  --c-blackHover: hsl(220 0% 50%);
  --c-White: hsl(220 0% 100%);
  --c-white: hsl(220 0% 100%);
  --c-dummy: hsl(0 0% 47.1%);
  --c-bg: hsl(220 10% 90%);
  --c-text: hsl(220 10% 10%);
  --c-textHover: hsl(220 10% 50%);
  --fadeInLength: 20px;
  --fadeInOpacityDuration: 0.8s;
  --lmContentsDelay: 0.3s;
  --easeOutQuad: cubic-bezier(0.5, 1, 0.89, 1);
  --easeOutCubic: cubic-bezier(0.33, 1, 0.68, 1);
  --easeOutQuart: cubic-bezier(0.25, 1, 0.5, 1);
  --easeOutQuint: cubic-bezier(0.22, 1, 0.36, 1);
  --easeOutExpo: cubic-bezier(0.16, 1, 0.3, 1);
  --easeInOutQuad: cubic-bezier(0.45, 0, 0.55, 1);
  --easeInOutCubic: cubic-bezier(0.65, 0, 0.35, 1);
  --easeInOutQuart: cubic-bezier(0.76, 0, 0.24, 1);
  --easeInOutQuint: cubic-bezier(0.83, 0, 0.17, 1);
  --easeInOutExpo: cubic-bezier(0.87, 0, 0.13, 1);
  --easeInQuad: cubic-bezier(0.11, 0, 0.5, 0);
  --easeInCubic: cubic-bezier(0.32, 0, 0.67, 0);
  --easeInQuart: cubic-bezier(0.5, 0, 0.75, 0);
  --easeInQuint: cubic-bezier(0.64, 0, 0.78, 0);
  --easeInExpo: cubic-bezier(0.7, 0, 0.84, 0);
}

:root {
  --topFvCatchTranslateY: calc(-1 * 66px / 2);
  --topFvCatchDuration: 0.8s;
  --topFvCatchDelay: 0.05s;
  --topFvCatchSvgDuration: 0.4s;
  --topFvCatchSvgDelay: 0.05s;
  --topFvCatchSvgDelayPlus: 0.2s;
}

main,
footer {
  display: none;
}

main.displayOn,
footer.displayOn {
  display: block;
}

:root {
  --splashDash_T: 99.95;
  --splashDash_H: 127.95;
  --splashDash_K: 124.49;
  --splashDash_logoLine_1: 313.44;
  --splashDash_logoLine_2: 313.44;
  --splashLineMaskInDuration: 1s;
  --splashLineMaskInDelay_T: 0.5s;
  --splashLineMaskInDelay_H: 1s;
  --splashLineMaskInDelay_K: 1.5s;
  --splashSubMaskInDuration: 0.5s;
  --splashSubMaskInDelay_T: calc(var(--splashLineMaskInDelay_T) + var(--splashLineMaskInDuration) - var(--splashSubMaskInDuration));
  --splashSubMaskInDelay_H: calc(var(--splashLineMaskInDelay_H) + var(--splashLineMaskInDuration) - var(--splashSubMaskInDuration));
  --splashSubMaskInDelay_K: calc(var(--splashLineMaskInDelay_K) + var(--splashLineMaskInDuration) - var(--splashSubMaskInDuration));
  --splashSlideDuration: 0.4s;
  --splashSlideDelay_HK: 0s;
  --splashSlideBlur_T: 0px;
  --splashSlideScale_T: 1;
  --splashSlideBlur: 0px;
  --splashSlideScale: 1;
  --splashSlideDuration_T: calc(var(--splashSlideDuration) - 0s);
  --splashSlideDuration_H: calc(var(--splashSlideDuration) - var(--splashSlideDelay_HK));
  --splashSlideDuration_K: calc(var(--splashSlideDuration) - var(--splashSlideDelay_HK));
  --splashSlideDelay_T: calc(var(--splashLineMaskInDelay_K) + var(--splashLineMaskInDuration) + 1s);
  --splashSlideDelay_H: calc(var(--splashLineMaskInDelay_K) + var(--splashLineMaskInDuration) + 1s + var(--splashSlideDelay_HK));
  --splashSlideDelay_K: calc(var(--splashLineMaskInDelay_K) + var(--splashLineMaskInDuration) + 1s + var(--splashSlideDelay_HK));
}

.splash {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  width: 100vw;
  height: 100vh;
  height: 100svh;
}
.splash .full {
  display: none;
  grid-column: 1;
  grid-row: 1;
  justify-self: center;
  align-self: center;
  opacity: 0;
}
.splash .logo {
  display: none;
  grid-column: 1;
  grid-row: 1;
  justify-self: center;
  align-self: center;
  opacity: 0;
}
.splash .container {
  grid-column: 1;
  grid-row: 1;
  justify-self: center;
  align-self: center;
  width: 0px;
  height: 50px;
  position: relative;
}
@media screen and (max-width: 1239px) {
  .splash .container {
    scale: 0.9;
  }
}
@media screen and (max-width: 1039px) {
  .splash .container {
    scale: 0.8;
  }
}
@media screen and (max-width: 839px) {
  .splash .container {
    scale: 0.7;
  }
}
@media screen and (max-width: 639px) {
  .splash .container {
    scale: 0.6;
  }
}
@media screen and (max-width: 439px) {
  .splash .container {
    scale: 0.5;
  }
}
.splash .container .logo_single {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  position: absolute;
}
.splash .container .logo_single::before {
  content: "";
  display: inline-block;
  background-color: var(--c-white);
  position: absolute;
  top: 50%;
  bottom: -5px;
}
.splash .container .logo_single svg.svg_single {
  grid-column: 1;
  grid-row: 1;
  fill: none;
  stroke: var(--c-ThkRed);
  stroke-miterlimit: 10;
  stroke-width: 5.5px;
  position: relative;
}
.splash .container .logo_single_t {
  translate: -247px 0;
  left: -83px;
}
.splash .container .logo_single_t::before {
  left: -250px;
  right: calc(50% - 8.5px - 5px);
}
.splash .container .logo_single_t svg .logo_part {
  stroke-dasharray: var(--splashDash_T);
  stroke-dashoffset: var(--splashDash_T);
}
.splash .container .logo_single_t .white {
  width: 11px;
  height: 5.68px;
  background-color: var(--c-white);
  position: absolute;
  right: -5px;
  top: 5.5px;
}
.splash .container .logo_single_h {
  translate: -94.5px 0;
  left: -24.5px;
}
.splash .container .logo_single_h::before {
  left: 0;
  right: -5px;
}
.splash .container .logo_single_h svg .logo_part {
  stroke-dasharray: var(--splashDash_H);
  stroke-dashoffset: var(--splashDash_H);
}
.splash .container .logo_single_h .white {
  position: absolute;
  inset: 0;
}
.splash .container .logo_single_h .white::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 5.68px;
  background-color: var(--c-white);
  opacity: 0;
  position: absolute;
  left: 0px;
  top: 5.5px;
}
.splash .container .logo_single_h .white::after {
  content: "";
  display: inline-block;
  width: 5.65px;
  height: 6px;
  background-color: var(--c-white);
  position: absolute;
  right: 5.5px;
  bottom: 0px;
}
.splash .container .logo_single_k {
  translate: 103.5px 0;
  left: 25.5px;
}
.splash .container .logo_single_k::before {
  left: -5px;
  right: -30px;
}
.splash .container .logo_single_k svg .logo_part {
  stroke-dasharray: var(--splashDash_K);
  stroke-dashoffset: var(--splashDash_K);
}
.splash .container .logo_single_k .white {
  width: 5.6px;
  height: 6px;
  background-color: var(--c-white);
  position: absolute;
  left: 5.5px;
  top: 0px;
}
.splash .container .logo_single_k .wrap {
  padding-right: 11.5px;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, calc(0% + 8px) 100%);
  position: absolute;
  left: calc(100% - 4px);
  bottom: 2.5px;
}
.splash .container .logo_single_k .wrap .sub_k {
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  position: relative;
  left: 11.5px;
  bottom: auto;
}
.splash .container .logo_single_k .wrap .sub_k svg {
  fill: var(--c-ThkRed);
}
.splash .container .sub {
  position: absolute;
  bottom: 2.5px;
}
.splash .container .sub_t {
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  left: -283.5px;
}
.splash .container .sub_h {
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  left: -55.5px;
  bottom: -0.5px;
}
.splash .container.displayOff {
  display: none;
}
.splash .logo_line {
  display: none;
  grid-column: 1;
  grid-row: 1;
  justify-self: center;
  align-self: center;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  position: relative;
}
.splash .logo_line svg {
  grid-column: 1;
  grid-row: 1;
  fill: none;
  stroke: var(--c-ThkRed);
  stroke-miterlimit: 10;
  stroke-width: 5.5px;
}
.splash .logo_line svg .logo_part_1 {
  stroke-dasharray: var(--splashDash_logoLine_1);
  stroke-dashoffset: var(--splashDash_logoLine_1);
}
.splash .logo_line svg .logo_part_2 {
  stroke-dasharray: var(--splashDash_logoLine_2);
  stroke-dashoffset: var(--splashDash_logoLine_2);
}
.splash .logo_line.LineOut {
  display: grid;
}
@media screen and (max-width: 1239px) {
  .splash .logo_line.LineOut {
    scale: 0.9;
  }
}
@media screen and (max-width: 1039px) {
  .splash .logo_line.LineOut {
    scale: 0.8;
  }
}
@media screen and (max-width: 839px) {
  .splash .logo_line.LineOut {
    scale: 0.7;
  }
}
@media screen and (max-width: 639px) {
  .splash .logo_line.LineOut {
    scale: 0.6;
  }
}
@media screen and (max-width: 439px) {
  .splash .logo_line.LineOut {
    scale: 0.5;
  }
}
.splash .logo_line.LineOut svg .logo_part_1 {
  animation: logolineOut_1 1s var(--easeInOutCubic) 0s both;
}
@keyframes logolineOut_1 {
  0% {
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dashoffset: var(--splashDash_logoLine_1);
  }
}
.splash .logo_line.LineOut svg .logo_part_2 {
  animation: logolineOut_2 1s var(--easeInOutCubic) 0s both;
}
@keyframes logolineOut_2 {
  0% {
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dashoffset: var(--splashDash_logoLine_2);
  }
}

.splash.start .container .logo_single_t {
  animation: slide_T var(--splashSlideDuration_T) var(--easeInOutCubic) var(--splashSlideDelay_T) both;
}
@keyframes slide_T {
  0% {
    translate: -247px 0;
    filter: blur(0px);
    scale: 1 1;
  }
  50% {
    filter: blur(var(--splashSlideBlur_T));
    scale: var(--splashSlideScale_T) 1;
  }
  100% {
    translate: 0 0;
    filter: blur(0px);
    scale: 1 1;
  }
}
.splash.start .container .logo_single_t svg .logo_part {
  animation: lineMaskIn_T var(--splashLineMaskInDuration) var(--easeInOutCubic) var(--splashLineMaskInDelay_T) both;
}
@keyframes lineMaskIn_T {
  0% {
    stroke-dashoffset: var(--splashDash_T);
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.splash.start .container .logo_single_t .white {
  animation: whiteIn_T calc(var(--splashSlideDuration_T) / 7) var(--easeOutCubic) calc(var(--splashSlideDelay_T) + var(--splashSlideDuration_T) / 2) both;
}
@keyframes whiteIn_T {
  0% {
    clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  }
  100% {
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
}
.splash.start .container .logo_single_h::before {
  animation: slide_H_before var(--splashSlideDuration_H) var(--easeInOutCubic) var(--splashSlideDelay_H) both;
}
@keyframes slide_H_before {
  0% {
    left: 0;
    right: -5px;
  }
  75% {
    right: -5px;
  }
  76% {
    right: 0;
  }
  100% {
    left: -50px;
    right: 0;
  }
}
.splash.start .container .logo_single_h {
  animation: slide_H var(--splashSlideDuration_H) var(--easeInOutCubic) var(--splashSlideDelay_H) both;
}
@keyframes slide_H {
  0% {
    translate: -94.5px 0;
    filter: blur(0px);
    scale: 1 1;
  }
  50% {
    filter: blur(var(--splashSlideBlur));
    scale: var(--splashSlideScale) 1;
  }
  100% {
    translate: 0 0;
    filter: blur(0px);
    scale: 1 1;
  }
}
.splash.start .container .logo_single_h svg .logo_part {
  animation: lineMaskIn_H var(--splashLineMaskInDuration) var(--easeInOutCubic) var(--splashLineMaskInDelay_H) both;
}
@keyframes lineMaskIn_H {
  0% {
    stroke-dashoffset: var(--splashDash_H);
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.splash.start .container .logo_single_h .white::after {
  animation: whiteIn_H_after calc(var(--splashSlideDuration_H) / 2) var(--easeOutCubic) calc(var(--splashSlideDelay_H) + var(--splashSlideDuration_H) / 2) both;
}
@keyframes whiteIn_H_after {
  0% {
    clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  }
  100% {
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
}
.splash.start .container .logo_single_k {
  animation: slide_K var(--splashSlideDuration_K) var(--easeInOutCubic) var(--splashSlideDelay_K) both;
}
@keyframes slide_K {
  0% {
    translate: 103.5px 0;
    filter: blur(0px);
    scale: 1 1;
  }
  50% {
    filter: blur(var(--splashSlideBlur));
    scale: var(--splashSlideScale) 1;
  }
  100% {
    translate: 0 0;
    filter: blur(0px);
    scale: 1 1;
  }
}
.splash.start .container .logo_single_k svg .logo_part {
  animation: lineMaskIn_K var(--splashLineMaskInDuration) var(--easeInOutCubic) var(--splashLineMaskInDelay_K) both;
}
@keyframes lineMaskIn_K {
  0% {
    stroke-dashoffset: var(--splashDash_K);
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.splash.start .container .logo_single_k .white {
  animation: whiteIn_K calc(var(--splashSlideDuration_K) / 2) var(--easeOutCubic) calc(var(--splashSlideDelay_K) + var(--splashSlideDuration_K) / 2) both;
}
@keyframes whiteIn_K {
  0% {
    clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
  }
  100% {
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
}
.splash.start .container .logo_single_k .wrap .sub_k {
  animation: maskIn_sub var(--splashSubMaskInDuration) var(--easeOutCubic) var(--splashSubMaskInDelay_K) both, maskOut_sub_K calc(var(--splashSlideDuration_K) - 0.1s) var(--easeInOutCubic) var(--splashSlideDelay_K) both;
}
@keyframes maskOut_sub_K {
  0% {
    translate: 0 0;
  }
  100% {
    translate: calc(-100% - 11.5px) 0;
  }
}
.splash.start .container .sub_t {
  animation: maskIn_sub var(--splashSubMaskInDuration) var(--easeOutCubic) var(--splashSubMaskInDelay_T) both;
}
.splash.start .container .sub_h {
  animation: maskIn_sub var(--splashSubMaskInDuration) var(--easeOutCubic) var(--splashSubMaskInDelay_H) both;
}
@keyframes maskIn_sub {
  0% {
    clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  }
  100% {
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
}

.splash.hide {
  display: none;
}

#wrapper #bg {
  opacity: 0;
}
#wrapper #bg.fadeIn {
  transition: opacity 0.5s;
  opacity: 1;
}
#wrapper header .logo_wrap {
  opacity: 0;
  translate: 0 -20px;
}
#wrapper header .logo_wrap.fadeIn {
  transition: opacity 0.5s, translate 0.8s var(--easeOutQuart);
  opacity: 1;
  translate: 0 0;
}
#wrapper header .entry {
  opacity: 0;
  translate: 0 -20px;
}
#wrapper header .entry.fadeIn {
  transition: opacity 0.5s, translate 0.8s var(--easeOutQuart);
  opacity: 1;
  translate: 0 0;
}
#wrapper header .nav_switch {
  opacity: 0;
  translate: 20px 0;
}
#wrapper header .nav_switch.fadeIn {
  transition: opacity 0.5s, translate 0.8s var(--easeOutQuart);
  opacity: 1;
  translate: 0 0;
}
#wrapper .bg_lm {
  opacity: 0;
  translate: 0 -500px;
}
#wrapper .bg_lm.fadeIn {
  transition: opacity 0.5s, translate 1.5s var(--easeOutQuart);
  opacity: 1;
  translate: 0 0;
}
#wrapper main .fv .swiper_fv_wrap .swiper_bg,
#wrapper main .fv .swiper_fv_wrap .swiper_fv {
  opacity: 0;
  translate: 0 200px;
}
@media screen and (max-width: 1239px) {
  #wrapper main .fv .swiper_fv_wrap .swiper_bg,
  #wrapper main .fv .swiper_fv_wrap .swiper_fv {
    translate: 0 150px;
  }
}
@media screen and (max-width: 639px) {
  #wrapper main .fv .swiper_fv_wrap .swiper_bg,
  #wrapper main .fv .swiper_fv_wrap .swiper_fv {
    translate: 0 100px;
  }
}
#wrapper main .fv .swiper_fv_wrap .swiper_bg.fadeIn,
#wrapper main .fv .swiper_fv_wrap .swiper_fv.fadeIn {
  transition: opacity 0.8s, translate 1.2s var(--easeOutQuart);
  opacity: 1;
  translate: 0 0;
}
#wrapper main .fv .swiper_fv_wrap .catch .item .container {
  opacity: 0;
  translate: 50px 0;
}
#wrapper main .fv .swiper_fv_wrap .catch .catch_mb {
  opacity: 0;
  translate: 50px 0;
}
#wrapper main .fv .swiper_fv_wrap .catch.fadeIn .item .container {
  transition: opacity 0.8s, translate 1.2s var(--easeOutQuart);
  opacity: 1;
  translate: 0 0;
}
#wrapper main .fv .swiper_fv_wrap .catch.fadeIn .item.item_ma .container {
  transition-delay: calc(var(--topFvCatchDelay) * 0);
}
#wrapper main .fv .swiper_fv_wrap .catch.fadeIn .item.item_tsu .container {
  transition-delay: calc(var(--topFvCatchDelay) * 1);
}
#wrapper main .fv .swiper_fv_wrap .catch.fadeIn .item.item_su .container {
  transition-delay: calc(var(--topFvCatchDelay) * 2);
}
#wrapper main .fv .swiper_fv_wrap .catch.fadeIn .item.item_gu .container {
  transition-delay: calc(var(--topFvCatchDelay) * 3);
}
#wrapper main .fv .swiper_fv_wrap .catch.fadeIn .item.item_ni .container {
  transition-delay: calc(var(--topFvCatchDelay) * 4);
}
#wrapper main .fv .swiper_fv_wrap .catch.fadeIn .item.item_ten .container {
  transition-delay: calc(var(--topFvCatchDelay) * 5);
}
#wrapper main .fv .swiper_fv_wrap .catch.fadeIn .item.item_i1 .container {
  transition-delay: calc(var(--topFvCatchDelay) * 6);
}
#wrapper main .fv .swiper_fv_wrap .catch.fadeIn .item.item_ki .container {
  transition-delay: calc(var(--topFvCatchDelay) * 7);
}
#wrapper main .fv .swiper_fv_wrap .catch.fadeIn .item.item_te .container {
  transition-delay: calc(var(--topFvCatchDelay) * 8);
}
#wrapper main .fv .swiper_fv_wrap .catch.fadeIn .item.item_i2 .container {
  transition-delay: calc(var(--topFvCatchDelay) * 9);
}
#wrapper main .fv .swiper_fv_wrap .catch.fadeIn .item.item_ku .container {
  transition-delay: calc(var(--topFvCatchDelay) * 10);
}
#wrapper main .fv .swiper_fv_wrap .catch.fadeIn .item.item_maru .container {
  transition-delay: calc(var(--topFvCatchDelay) * 11);
}
#wrapper main .fv .swiper_fv_wrap .catch.fadeIn .catch_mb {
  transition: opacity 0.8s, translate 1.2s var(--easeOutQuart);
  opacity: 1;
  translate: 0 0;
}
#wrapper main .fv .scroll_down .container {
  opacity: 0;
  translate: 0 20px;
}
#wrapper main .fv .scroll_down .container.fadeIn {
  transition: opacity 0.5s, translate 0.8s var(--easeOutQuart);
  opacity: 1;
  translate: 0 0;
}
#wrapper main .fv .copyright .container {
  opacity: 0;
  translate: 20px 0;
}
#wrapper main .fv .copyright .container.fadeIn {
  transition: opacity 0.5s, translate 0.8s var(--easeOutQuart);
  opacity: 1;
  translate: 0 0;
}

.bg_lm {
  display: grid;
  grid-template-columns: 1fr;
  position: fixed;
  inset: 0;
}
.bg_lm img {
  justify-self: center;
  width: 72px;
  height: auto;
}
@media screen and (max-width: 1239px) {
  .bg_lm img {
    width: 64.8px;
  }
}
@media screen and (max-width: 639px) {
  .bg_lm img {
    width: 57.6px;
  }
}

.fv {
  padding: 70px 100px 60px;
  width: 100vw;
  height: 100vh;
  height: 100svh;
}
@media screen and (max-width: 1239px) {
  .fv {
    padding: 50px 80px 40px;
  }
}
@media screen and (max-width: 1039px) {
  .fv {
    padding: calc(68px + 6vw) 6vw 6vw;
  }
}
@media screen and (max-width: 639px) {
  .fv {
    padding: calc(60px + 6vw) 6vw 6vw;
  }
}
.fv .swiper_fv_wrap {
  width: 100%;
  height: 100%;
  position: relative;
}
.fv .swiper_fv_wrap .swiper_bg {
  position: absolute;
  inset: 0;
}
.fv .swiper_fv_wrap .swiper_bg::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--c-Black);
  filter: blur(12px);
  transform: translateX(7px) translateY(7px);
  mix-blend-mode: multiply;
  opacity: 0.25;
}
@media screen and (max-width: 1239px) {
  .fv .swiper_fv_wrap .swiper_bg::before {
    filter: blur(10px);
    transform: translateX(6.5px) translateY(6.5px);
  }
}
@media screen and (max-width: 639px) {
  .fv .swiper_fv_wrap .swiper_bg::before {
    filter: blur(8px);
    transform: translateX(6px) translateY(6px);
  }
}
.fv .swiper_fv_wrap .swiper_bg::after {
  content: "";
  display: block;
  background-color: var(--c-white);
  position: absolute;
  inset: 0;
}
.fv .swiper_fv_wrap .swiper {
  position: absolute;
  inset: 0;
}
.fv .swiper_fv_wrap .swiper .swiper-wrapper {
  width: 100%;
  height: 100%;
}
.fv .swiper_fv_wrap .swiper .swiper-wrapper .swiper-slide {
  width: 100%;
  height: 100%;
}
.fv .swiper_fv_wrap .swiper .swiper-wrapper .swiper-slide .photo {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.fv .swiper_fv_wrap .swiper .swiper-wrapper .swiper-slide .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 839px) {
  .fv .swiper_fv_wrap .swiper .swiper-wrapper .swiper-slide .photo img.img_pc {
    display: none;
  }
}
.fv .swiper_fv_wrap .swiper .swiper-wrapper .swiper-slide .photo img.img_mb {
  display: none;
}
@media screen and (max-width: 839px) {
  .fv .swiper_fv_wrap .swiper .swiper-wrapper .swiper-slide .photo img.img_mb {
    display: block;
  }
}
.fv .swiper_fv_wrap .swiper .swiper-wrapper .swiper-slide-on .photo img {
  animation: photoAnimation 8s linear 0s 1 normal both;
}
.fv .swiper_fv_wrap .swiper .swiper-wrapper .swiper-slide-1 .photo img.img_pc {
  object-position: 70% 30%;
}
.fv .swiper_fv_wrap .swiper .swiper-wrapper .swiper-slide-1 .photo img.img_mb {
  object-position: 60% 30%;
}
.fv .swiper_fv_wrap .swiper .swiper-wrapper .swiper-slide-2 .photo img.img_pc {
  object-position: 50% 30%;
}
.fv .swiper_fv_wrap .swiper .swiper-wrapper .swiper-slide-2 .photo img.img_mb {
  object-position: 50% 50%;
}
.fv .swiper_fv_wrap .swiper .swiper-wrapper .swiper-slide-3 .photo img.img_pc {
  object-position: 30% 40%;
}
.fv .swiper_fv_wrap .swiper .swiper-wrapper .swiper-slide-3 .photo img.img_mb {
  object-position: 70% 30%;
}
.fv .swiper_fv_wrap .swiper .swiper-wrapper .swiper-slide-4 .photo img.img_pc {
  object-position: 50% 30%;
}
.fv .swiper_fv_wrap .swiper .swiper-wrapper .swiper-slide-4 .photo img.img_mb {
  object-position: 50% 30%;
}
.fv .swiper_fv_wrap .swiper .swiper-wrapper .swiper-slide-5 .photo img.img_pc {
  object-position: 50% 30%;
}
.fv .swiper_fv_wrap .swiper .swiper-wrapper .swiper-slide-5 .photo img.img_mb {
  object-position: 50% 30%;
}
@keyframes photoAnimation {
  0% {
    transform: scale(1.3) rotate(0.1deg);
  }
  100% {
    transform: scale(1.01) rotate(0.1deg);
  }
}
.fv .swiper_fv_wrap .catch_full {
  position: absolute;
  left: 0;
  top: 50%;
}
.fv .swiper_fv_wrap .catch_full .wrap {
  position: relative;
  left: var(--topFvCatchTranslateY);
  translate: 0 -50%;
}
.fv .swiper_fv_wrap .catch {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  translate: 0 var(--topFvCatchTranslateY);
  pointer-events: none;
  z-index: 1;
}
.fv .swiper_fv_wrap .catch .item {
  translate: 0 18.5%;
  position: absolute;
  left: -33px;
  top: 0;
  bottom: 0;
}
@media screen and (max-width: 839px) {
  .fv .swiper_fv_wrap .catch .item {
    display: none;
  }
}
.fv .swiper_fv_wrap .catch .item.item_ma {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 0) var(--easeInOutQuart);
}
.fv .swiper_fv_wrap .catch .item.item_ma .container svg {
  transition: fill var(--topFvCatchSvgDuration) calc(var(--topFvCatchSvgDelay) * 0 + var(--topFvCatchSvgDelayPlus));
}
.fv .swiper_fv_wrap .catch .item.item_tsu {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 1) var(--easeInOutQuart);
}
.fv .swiper_fv_wrap .catch .item.item_tsu .container svg {
  transition: fill var(--topFvCatchSvgDuration) calc(var(--topFvCatchSvgDelay) * 1 + var(--topFvCatchSvgDelayPlus));
}
.fv .swiper_fv_wrap .catch .item.item_su {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 2) var(--easeInOutQuart);
}
.fv .swiper_fv_wrap .catch .item.item_su .container svg {
  transition: fill var(--topFvCatchSvgDuration) calc(var(--topFvCatchSvgDelay) * 2 + var(--topFvCatchSvgDelayPlus));
}
.fv .swiper_fv_wrap .catch .item.item_gu {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 3) var(--easeInOutQuart);
}
.fv .swiper_fv_wrap .catch .item.item_gu .container svg {
  transition: fill var(--topFvCatchSvgDuration) calc(var(--topFvCatchSvgDelay) * 3 + var(--topFvCatchSvgDelayPlus));
}
.fv .swiper_fv_wrap .catch .item.item_ni {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 3) var(--easeInOutQuart);
}
.fv .swiper_fv_wrap .catch .item.item_ni .container svg {
  transition: fill var(--topFvCatchSvgDuration) calc(var(--topFvCatchSvgDelay) * 3 + var(--topFvCatchSvgDelayPlus));
}
.fv .swiper_fv_wrap .catch .item.item_ten {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 3) var(--easeInOutQuart);
}
.fv .swiper_fv_wrap .catch .item.item_ten .container svg {
  transition: fill var(--topFvCatchSvgDuration) calc(var(--topFvCatchSvgDelay) * 3 + var(--topFvCatchSvgDelayPlus));
}
.fv .swiper_fv_wrap .catch .item.item_i1 {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 4) var(--easeInOutQuart);
}
.fv .swiper_fv_wrap .catch .item.item_i1 .container svg {
  transition: fill var(--topFvCatchSvgDuration) calc(var(--topFvCatchSvgDelay) * 4 + var(--topFvCatchSvgDelayPlus));
}
.fv .swiper_fv_wrap .catch .item.item_ki {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 5) var(--easeInOutQuart);
}
.fv .swiper_fv_wrap .catch .item.item_ki .container svg {
  transition: fill var(--topFvCatchSvgDuration) calc(var(--topFvCatchSvgDelay) * 5 + var(--topFvCatchSvgDelayPlus));
}
.fv .swiper_fv_wrap .catch .item.item_te {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 5) var(--easeInOutQuart);
}
.fv .swiper_fv_wrap .catch .item.item_te .container svg {
  transition: fill var(--topFvCatchSvgDuration) calc(var(--topFvCatchSvgDelay) * 5 + var(--topFvCatchSvgDelayPlus));
}
.fv .swiper_fv_wrap .catch .item.item_i2 {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 5) var(--easeInOutQuart);
}
.fv .swiper_fv_wrap .catch .item.item_i2 .container svg {
  transition: fill var(--topFvCatchSvgDuration) calc(var(--topFvCatchSvgDelay) * 5 + var(--topFvCatchSvgDelayPlus));
}
.fv .swiper_fv_wrap .catch .item.item_ku {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 5) var(--easeInOutQuart);
}
.fv .swiper_fv_wrap .catch .item.item_ku .container svg {
  transition: fill var(--topFvCatchSvgDuration) calc(var(--topFvCatchSvgDelay) * 5 + var(--topFvCatchSvgDelayPlus));
}
.fv .swiper_fv_wrap .catch .item.item_maru {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 5) var(--easeInOutQuart);
}
.fv .swiper_fv_wrap .catch .item.item_maru .container svg {
  transition: fill var(--topFvCatchSvgDuration) calc(var(--topFvCatchSvgDelay) * 5 + var(--topFvCatchSvgDelayPlus));
}
.fv .swiper_fv_wrap .catch .item.white .container svg {
  fill: var(--c-white);
}
.fv .swiper_fv_wrap .catch .catch_mb {
  display: none;
}
@media screen and (max-width: 839px) {
  .fv .swiper_fv_wrap .catch .catch_mb {
    display: block;
    position: absolute;
    left: -27px;
    top: 0;
    bottom: 0;
  }
}
.fv .swiper_fv_wrap .catch .catch_mb .container {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
}
.fv .swiper_fv_wrap .catch .catch_mb .container .top {
  transition: translate var(--topFvCatchDuration) var(--easeInOutQuart);
  translate: 0 14%;
  grid-column: 1;
  grid-row: 1;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
}
.fv .swiper_fv_wrap .catch .catch_mb .container .top img {
  grid-column: 1;
  grid-row: 1;
}
.fv .swiper_fv_wrap .catch .catch_mb .container .top svg {
  grid-column: 1;
  grid-row: 1;
  transition: fill 0.6s 0.2s;
}
.fv .swiper_fv_wrap .catch .catch_mb .container .bottom {
  transition: translate var(--topFvCatchDuration) var(--easeInOutQuart);
  transition-delay: 0.05s;
  translate: 0 14%;
  grid-column: 1;
  grid-row: 1;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
}
.fv .swiper_fv_wrap .catch .catch_mb .container .bottom img {
  grid-column: 1;
  grid-row: 1;
}
.fv .swiper_fv_wrap .catch .catch_mb .container .bottom svg {
  grid-column: 1;
  grid-row: 1;
  transition: fill 0.6s 0.25s;
}
.fv .swiper_fv_wrap .catch .catch_mb .container.white .top svg {
  fill: var(--c-white);
}
.fv .swiper_fv_wrap .catch .catch_mb .container.white .bottom svg {
  fill: var(--c-white);
}
.fv .swiper_fv_wrap .catch .catch_mb .container.fromBottom .top {
  transition-delay: 0.05s;
}
.fv .swiper_fv_wrap .catch .catch_mb .container.fromBottom .top svg {
  transition: fill 0.6s 0.25s;
}
.fv .swiper_fv_wrap .catch .catch_mb .container.fromBottom .bottom {
  transition-delay: 0s;
}
.fv .swiper_fv_wrap .catch .catch_mb .container.fromBottom .bottom svg {
  transition: fill 0.6s 0.2s;
}
.fv .swiper_fv_wrap .catch_00 {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  translate: 0 var(--topFvCatchTranslateY);
  pointer-events: none;
  z-index: 1;
}
.fv .swiper_fv_wrap .catch_00 .item {
  translate: 0 18.5%;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
}
@media screen and (max-width: 839px) {
  .fv .swiper_fv_wrap .catch_00 .item {
    display: none;
  }
}
.fv .swiper_fv_wrap .catch_00 .item.item_ma {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 0) var(--easeInOutQuart);
  transition-delay: calc(var(--topFvCatchDelay) * 0);
  left: -33px;
}
.fv .swiper_fv_wrap .catch_00 .item.item_tsu {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 1) var(--easeInOutQuart);
  margin-left: 45px;
}
.fv .swiper_fv_wrap .catch_00 .item.item_su {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 2) var(--easeInOutQuart);
  margin-left: 87.5px;
}
.fv .swiper_fv_wrap .catch_00 .item.item_gu {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 3) var(--easeInOutQuart);
  margin-left: 168px;
}
.fv .swiper_fv_wrap .catch_00 .item.item_ni {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 4) var(--easeInOutQuart);
  margin-left: 206px;
}
.fv .swiper_fv_wrap .catch_00 .item.item_ten {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 5) var(--easeInOutQuart);
  margin-left: 248px;
}
.fv .swiper_fv_wrap .catch_00 .item.item_i1 {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 6) var(--easeInOutQuart);
  margin-left: 276px;
}
.fv .swiper_fv_wrap .catch_00 .item.item_ki {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 7) var(--easeInOutQuart);
  margin-left: 356px;
}
.fv .swiper_fv_wrap .catch_00 .item.item_te {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 8) var(--easeInOutQuart);
  margin-left: 394px;
}
.fv .swiper_fv_wrap .catch_00 .item.item_i2 {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 9) var(--easeInOutQuart);
  margin-left: 437.5px;
}
.fv .swiper_fv_wrap .catch_00 .item.item_ku {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 10) var(--easeInOutQuart);
  margin-left: 481.5px;
}
.fv .swiper_fv_wrap .catch_00 .item.item_maru {
  transition: translate var(--topFvCatchDuration) calc(var(--topFvCatchDelay) * 11) var(--easeInOutQuart);
  margin-left: 512.5px;
}
.fv .swiper_fv_wrap .catch_00 .item.box .container {
  position: absolute;
}
.fv .swiper_fv_wrap .catch_00 .item.box .container::before {
  content: "";
  display: inline-block;
  width: 66px;
  height: 66px;
  background-color: var(--c-white);
  position: absolute;
  left: 0;
  top: 0;
}
.fv .swiper_fv_wrap .catch_00 .item.box .container img {
  position: relative;
}
.fv .swiper_fv_wrap .catch_00 .catch_mb {
  display: none;
}
@media screen and (max-width: 839px) {
  .fv .swiper_fv_wrap .catch_00 .catch_mb {
    display: block;
    position: absolute;
    left: -27px;
    top: 0;
    bottom: 0;
  }
}
.fv .swiper_fv_wrap .catch_00 .catch_mb .container {
  transition: translate var(--topFvCatchDuration) var(--easeInOutQuart);
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  translate: 0 15%;
}
.fv .scroll_down {
  transition: opacity 0.5s;
  opacity: 1;
  pointer-events: auto;
  cursor: pointer;
  position: fixed;
  left: 29.5px;
  bottom: 0;
  z-index: 1;
}
@media screen and (max-width: 1039px) {
  .fv .scroll_down {
    display: none;
  }
}
.fv .scroll_down .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 20.5px;
}
.fv .scroll_down .container .text {
  font-size: 12px;
  line-height: 1em;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.fv .scroll_down .container .text span {
  font-weight: 500;
}
.fv .scroll_down .container .text {
  writing-mode: sideways-lr;
}
.fv .scroll_down .container .motion {
  margin-top: 15px;
  width: 100%;
  height: 150px;
  position: relative;
}
.fv .scroll_down .container .motion .motion_container {
  overflow: hidden;
  position: absolute;
  inset: 0;
}
.fv .scroll_down .container .motion .motion_container .motion_line {
  margin-left: 10px;
  width: 0.5px;
  height: 100%;
  background-color: var(--c-black);
}
.fv .scroll_down .container.start .motion .motion_container {
  animation: scrollAnimation 3.5s 2s var(--easeOutQuint) infinite;
}
.fv .scroll_down.hide {
  opacity: 0;
  pointer-events: none;
}
.fv .scroll.duration05 {
  transition: opacity 0.5s;
}
@keyframes scrollAnimation {
  0% {
    top: 0%;
    bottom: 0%;
  }
  25% {
    top: 100%;
    bottom: 0%;
  }
  26% {
    top: 0%;
    bottom: 100%;
  }
  50% {
    top: 0%;
    bottom: 0%;
  }
}
.fv .copyright {
  transition: opacity 0.5s;
  opacity: 1;
  pointer-events: auto;
  padding-left: 20px;
  margin-top: 10px;
  width: 100px;
  position: fixed;
  right: 0;
  top: 0;
  bottom: 0;
}
@media screen and (max-width: 1039px) {
  .fv .copyright {
    display: none;
  }
}
.fv .copyright .container {
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  height: 100%;
}
.fv .copyright .container .text {
  justify-self: center;
  font-size: 12px;
  line-height: 1em;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.fv .copyright .container .text span {
  font-weight: 500;
}
.fv .copyright .container .text {
  text-align: center;
  writing-mode: sideways-lr;
}
.fv .copyright.hide {
  opacity: 0;
  pointer-events: none;
}

section {
  transition: translate 0.3s var(--easeOutQuad);
  margin-top: 100px;
  padding-top: 100px;
  margin-inline: auto;
  width: 1240px;
  position: relative;
}
@media screen and (max-width: 1339px) {
  section {
    width: 88vw;
  }
}
@media screen and (max-width: 1239px) {
  section {
    margin-top: 65px;
    padding-top: 65px;
  }
}
@media screen and (max-width: 639px) {
  section {
    margin-top: 30px;
    padding-top: 30px;
  }
}
section .section_container {
  padding: 120px 120px 140px;
  position: relative;
}
@media screen and (max-width: 1339px) {
  section .section_container {
    padding: 95px 4vw 110px;
  }
}
@media screen and (max-width: 639px) {
  section .section_container {
    padding: 70px 4vw 80px;
  }
}
section .section_container .section_bg {
  position: absolute;
  inset: 0;
}
section .section_container .section_bg::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--c-Black);
  filter: blur(12px);
  transform: translateX(7px) translateY(7px);
  mix-blend-mode: multiply;
  opacity: 0.25;
}
@media screen and (max-width: 1239px) {
  section .section_container .section_bg::before {
    filter: blur(10px);
    transform: translateX(6.5px) translateY(6.5px);
  }
}
@media screen and (max-width: 639px) {
  section .section_container .section_bg::before {
    filter: blur(8px);
    transform: translateX(6px) translateY(6px);
  }
}
section .section_container .section_bg::after {
  content: "";
  display: block;
  background-color: var(--c-white);
  position: absolute;
  inset: 0;
}
section .section_container .bolt_wrap {
  position: absolute;
  inset: 20px;
}
@media screen and (max-width: 1239px) {
  section .section_container .bolt_wrap {
    inset: 18px;
  }
}
@media screen and (max-width: 639px) {
  section .section_container .bolt_wrap {
    inset: 16px;
  }
}
section .section_container .bolt_wrap .bolt {
  line-height: 0;
  position: absolute;
}
section .section_container .bolt_wrap .bolt img {
  width: 20px;
  height: auto;
}
@media screen and (max-width: 1239px) {
  section .section_container .bolt_wrap .bolt img {
    width: 18px;
  }
}
@media screen and (max-width: 639px) {
  section .section_container .bolt_wrap .bolt img {
    width: 16px;
  }
}
section .section_container .bolt_wrap .bolt_LT {
  left: 0;
  top: 0;
}
section .section_container .bolt_wrap .bolt_RT {
  right: 0;
  top: 0;
}
section .section_container .bolt_wrap .bolt_RB {
  right: 0;
  bottom: 0;
}
section .section_container .bolt_wrap .bolt_LB {
  left: 0;
  bottom: 0;
}
section .section_container .section_title {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  column-gap: 30px;
  position: relative;
}
@media screen and (max-width: 1239px) {
  section .section_container .section_title {
    column-gap: 24px;
  }
}
@media screen and (max-width: 639px) {
  section .section_container .section_title {
    column-gap: 18px;
  }
}
section .section_container .section_title .line {
  align-self: center;
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  height: 8px;
  overflow: hidden;
}
section .section_container .section_title .lineL {
  position: relative;
}
section .section_container .section_title .lineL img {
  position: absolute;
  right: 0;
  top: 0;
}
section .section_container .section_title .title h2 {
  margin-right: -0.15em;
  font-size: 42px;
  line-height: 1em;
  letter-spacing: 0.15em;
  font-weight: 600;
}
section .section_container .section_title .title h2 span {
  font-weight: 600;
}
section .section_container .section_title .title h2 {
  color: var(--c-white);
  -webkit-text-stroke: 1.5px var(--c-ThkRed);
  text-stroke: 1.5px var(--c-ThkRed);
}
@media screen and (max-width: 1239px) {
  section .section_container .section_title .title h2 {
    font-size: 35px;
    -webkit-text-stroke: 1.25px var(--c-ThkRed);
    text-stroke: 1.25px var(--c-ThkRed);
  }
}
@media screen and (max-width: 639px) {
  section .section_container .section_title .title h2 {
    font-size: 28px;
    -webkit-text-stroke: 1px var(--c-ThkRed);
    text-stroke: 1px var(--c-ThkRed);
  }
}
section .section_container .section_title.fadeElem .lineL {
  clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
}
section .section_container .section_title.fadeElem .title {
  opacity: 0;
  translate: 0 20px;
}
section .section_container .section_title.fadeElem .lineR {
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}
section .section_container .section_title.fadeIn .lineL,
section .section_container .section_title.fadeIn .lineR {
  transition: clip-path 1s var(--easeOutQuart);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
section .section_container .section_title.fadeIn .title {
  transition: opacity 1s, translate 1s var(--easeOutQuart);
  opacity: 1;
  translate: 0 0;
}
section .section_container .section_content {
  padding-top: 80px;
  position: relative;
}
@media screen and (max-width: 1239px) {
  section .section_container .section_content {
    padding-top: 60px;
  }
}
@media screen and (max-width: 639px) {
  section .section_container .section_content {
    padding-top: 40px;
  }
}

section.section_message .section_container .section_content .lead {
  margin-block: calc((1em - 1lh) / 2);
  font-size: 18px;
  line-height: 2.2em;
}
@media screen and (max-width: 1239px) {
  section.section_message .section_container .section_content .lead {
    font-size: 17px;
    line-height: 2.1em;
  }
}
@media screen and (max-width: 839px) {
  section.section_message .section_container .section_content .lead {
    margin-inline: 2vw;
  }
}
@media screen and (max-width: 639px) {
  section.section_message .section_container .section_content .lead {
    font-size: 16px;
    line-height: 2em;
  }
}
section.section_message .section_container .section_content .lead p {
  margin-right: -0.15em;
  font-size: 18px;
  line-height: 2.2em;
  letter-spacing: 0.15em;
  font-weight: 600;
}
section.section_message .section_container .section_content .lead p span {
  font-weight: 600;
}
section.section_message .section_container .section_content .lead p {
  text-align: center;
}
@media screen and (max-width: 1239px) {
  section.section_message .section_container .section_content .lead p {
    font-size: 17px;
    line-height: 2.1em;
    letter-spacing: 0.125em;
  }
}
@media screen and (max-width: 839px) {
  section.section_message .section_container .section_content .lead p {
    text-align: justify;
  }
}
@media screen and (max-width: 639px) {
  section.section_message .section_container .section_content .lead p {
    font-size: 16px;
    line-height: 2em;
    letter-spacing: 0.1em;
  }
}
section.section_message .section_container .section_content .lead p span.en {
  font-weight: 500;
}
section.section_message .section_container .section_content .lead p span.en span {
  font-weight: 500;
}
@media screen and (max-width: 839px) {
  section.section_message .section_container .section_content .lead p br.br_pc_only {
    display: none;
  }
}
section.section_message .section_container .section_content .lead p.p_space {
  height: 2.2em;
}
section.section_message .section_container .section_content .catch {
  display: grid;
  grid-template-columns: auto;
  justify-content: center;
  margin-top: 80px;
}
@media screen and (max-width: 1239px) {
  section.section_message .section_container .section_content .catch {
    margin-top: 65px;
  }
}
@media screen and (max-width: 639px) {
  section.section_message .section_container .section_content .catch {
    margin-top: 50px;
  }
}
@media screen and (max-width: 1239px) {
  section.section_message .section_container .section_content .catch img.img_pc {
    width: auto;
    height: 35px;
  }
}
@media screen and (max-width: 839px) {
  section.section_message .section_container .section_content .catch img.img_pc {
    height: 30px;
  }
}
@media screen and (max-width: 639px) {
  section.section_message .section_container .section_content .catch img.img_pc {
    display: none;
  }
}
section.section_message .section_container .section_content .catch img.img_mb {
  display: none;
}
@media screen and (max-width: 639px) {
  section.section_message .section_container .section_content .catch img.img_mb {
    display: block;
  }
}

section.section_contents .section_container .section_content .filter .tag_ul {
  display: grid;
  grid-template-columns: auto auto auto;
  column-gap: 30px;
  row-gap: 30px;
  justify-content: center;
}
@media screen and (max-width: 1239px) {
  section.section_contents .section_container .section_content .filter .tag_ul {
    column-gap: 25px;
    row-gap: 27px;
  }
}
@media screen and (max-width: 839px) {
  section.section_contents .section_container .section_content .filter .tag_ul {
    grid-template-columns: auto auto;
  }
}
@media screen and (max-width: 639px) {
  section.section_contents .section_container .section_content .filter .tag_ul {
    column-gap: 20px;
    row-gap: 25px;
  }
}
section.section_contents .section_container .section_content .filter .tag_ul li .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 220px;
  height: 40px;
  border-radius: 20px;
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 1239px) {
  section.section_contents .section_container .section_content .filter .tag_ul li .btn {
    width: 175px;
  }
}
@media screen and (max-width: 639px) {
  section.section_contents .section_container .section_content .filter .tag_ul li .btn {
    width: 130px;
  }
}
section.section_contents .section_container .section_content .filter .tag_ul li .btn::before {
  transition: background-color 0.3s, border 0.3s;
  content: "";
  display: inline-block;
  background-color: transparent;
  border: 1px solid var(--c-black);
  border-radius: inherit;
  position: absolute;
  inset: 0;
}
section.section_contents .section_container .section_content .filter .tag_ul li .btn .text {
  transition: color 0.3s;
  padding-left: 0.15em;
  font-size: 16px;
  line-height: 1em;
  letter-spacing: 0.15em;
  font-weight: 600;
}
section.section_contents .section_container .section_content .filter .tag_ul li .btn .text span {
  font-weight: 600;
}
section.section_contents .section_container .section_content .filter .tag_ul li .btn .text {
  position: relative;
}
@media screen and (max-width: 1239px) {
  section.section_contents .section_container .section_content .filter .tag_ul li .btn .text {
    font-size: 15.5px;
  }
}
@media screen and (max-width: 639px) {
  section.section_contents .section_container .section_content .filter .tag_ul li .btn .text {
    font-size: 15px;
  }
}
section.section_contents .section_container .section_content .filter .tag_ul li .btn .text span.hash {
  font-weight: 500;
}
section.section_contents .section_container .section_content .filter .tag_ul li .btn .text span.hash span {
  font-weight: 500;
}
@media screen and (min-width: 1239px) {
  section.section_contents .section_container .section_content .filter .tag_ul li .btn:hover::before {
    border: 1px solid var(--c-ThkRed);
  }
}
@media screen and (min-width: 1239px) {
  section.section_contents .section_container .section_content .filter .tag_ul li .btn:hover .text {
    color: var(--c-ThkRed);
  }
}
section.section_contents .section_container .section_content .filter .tag_ul li.tag_all {
  display: none;
  grid-column: 1/4;
  justify-self: center;
}
@media screen and (max-width: 839px) {
  section.section_contents .section_container .section_content .filter .tag_ul li.tag_all {
    grid-column: 1/3;
  }
}
section.section_contents .section_container .section_content .filter .tag_ul li.active .btn::before {
  background-color: var(--c-ThkRed);
  border: 1px solid var(--c-ThkRed);
}
section.section_contents .section_container .section_content .filter .tag_ul li.active .btn .text {
  color: var(--c-white);
}
section.section_contents .section_container .section_content .filter .tag_ul li.tag_all.active {
  pointer-events: none;
}
section.section_contents .section_container .section_content .line {
  margin-top: 80px;
  width: 100%;
  height: 1px;
  position: relative;
}
@media screen and (max-width: 1239px) {
  section.section_contents .section_container .section_content .line {
    margin-top: 60px;
  }
}
@media screen and (max-width: 639px) {
  section.section_contents .section_container .section_content .line {
    margin-top: 40px;
  }
}
section.section_contents .section_container .section_content .line::before {
  content: "";
  display: inline-block;
  background-image: linear-gradient(to right, var(--c-black), var(--c-black) 1px, transparent 1px, transparent 3px);
  background-size: 3px 1px;
  background-position: left top;
  background-repeat: repeat-x;
  position: absolute;
  inset: 0;
}
section.section_contents .section_container .section_content .line.fadeElem {
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}
section.section_contents .section_container .section_content .line.fadeIn {
  transition: clip-path 1s var(--easeOutQuart);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
section.section_contents .section_container .section_content .item_wrap {
  transition: opacity 0.25s, height 0.75s var(--easeInOutQuart);
  opacity: 0;
  min-height: 50px;
  margin-top: 70px;
  margin-left: -10px;
  margin-right: -10px;
  margin-bottom: -10px;
}
@media screen and (max-width: 1339px) {
  section.section_contents .section_container .section_content .item_wrap {
    margin-inline: auto;
    width: 765px;
  }
}
@media screen and (max-width: 1239px) {
  section.section_contents .section_container .section_content .item_wrap {
    margin-top: 50px;
  }
}
@media screen and (max-width: 1039px) {
  section.section_contents .section_container .section_content .item_wrap {
    width: 510px;
  }
}
@media screen and (max-width: 639px) {
  section.section_contents .section_container .section_content .item_wrap {
    margin-left: -6px;
    margin-right: -6px;
    width: auto;
  }
}
section.section_contents .section_container .section_content .item_wrap .grid-sizer {
  width: 255px;
}
@media screen and (max-width: 639px) {
  section.section_contents .section_container .section_content .item_wrap .grid-sizer {
    width: calc(40vw + 6px);
  }
}
section.section_contents .section_container .section_content .item_wrap .item {
  transition: opacity 0s, translate 0s;
  opacity: 0;
  translate: 0 20px;
  display: none;
  flex-direction: column;
  justify-content: center;
  margin: 10px;
  position: relative;
}
@media screen and (max-width: 639px) {
  section.section_contents .section_container .section_content .item_wrap .item {
    margin: 6px;
  }
}
section.section_contents .section_container .section_content .item_wrap .item a {
  display: block;
}
section.section_contents .section_container .section_content .item_wrap .item a .photo {
  overflow: hidden;
  position: absolute;
  inset: 0;
}
section.section_contents .section_container .section_content .item_wrap .item a .photo img {
  transition: scale 0.5s var(--easeOutQuart);
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section.section_contents .section_container .section_content .item_wrap .item a .film {
  transition: opacity 0.5s;
  opacity: 0.38;
  background-color: var(--c-gray11);
  mix-blend-mode: multiply;
  position: absolute;
  inset: 0;
}
section.section_contents .section_container .section_content .item_wrap .item a .category {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 90px;
  height: 26px;
  position: absolute;
  left: 0;
  top: 20px;
}
@media screen and (max-width: 639px) {
  section.section_contents .section_container .section_content .item_wrap .item a .category {
    width: 60px;
    height: 16px;
    top: 12px;
  }
}
section.section_contents .section_container .section_content .item_wrap .item a .category::before {
  transition: background-color 0.5s;
  content: "";
  display: block;
  background-color: var(--c-white);
  position: absolute;
  inset: 0;
}
section.section_contents .section_container .section_content .item_wrap .item a .category .text {
  transition: color 0.5s;
  padding-left: 0.1em;
  font-size: 14px;
  line-height: 1em;
  letter-spacing: 0.1em;
  font-weight: 600;
}
section.section_contents .section_container .section_content .item_wrap .item a .category .text span {
  font-weight: 600;
}
section.section_contents .section_container .section_content .item_wrap .item a .category .text {
  color: var(--c-ThkRed);
  translate: 0 0.05em;
  position: relative;
}
@media screen and (max-width: 639px) {
  section.section_contents .section_container .section_content .item_wrap .item a .category .text {
    font-size: 10px;
    translate: 0 0;
  }
}
section.section_contents .section_container .section_content .item_wrap .item a .title {
  width: 100%;
  position: relative;
}
section.section_contents .section_container .section_content .item_wrap .item a .title::before, section.section_contents .section_container .section_content .item_wrap .item a .title::after {
  transition: background-color 0.3s;
  content: "";
  display: inline-block;
  width: 100%;
  height: 1px;
  line-height: 0;
  background-color: var(--c-white);
  position: absolute;
  left: 0;
}
section.section_contents .section_container .section_content .item_wrap .item a .title::before {
  top: 0;
}
section.section_contents .section_container .section_content .item_wrap .item a .title::after {
  bottom: 0;
}
section.section_contents .section_container .section_content .item_wrap .item a .title .text {
  transition: color 0.3s;
  margin-right: -0.15em;
  line-height: 1em;
  letter-spacing: 0.15em;
  font-weight: 600;
}
section.section_contents .section_container .section_content .item_wrap .item a .title .text span {
  font-weight: 600;
}
section.section_contents .section_container .section_content .item_wrap .item a .title .text {
  color: var(--c-white);
  text-align: center;
}
@media screen and (max-width: 639px) {
  section.section_contents .section_container .section_content .item_wrap .item a .title .text {
    margin-block: calc((1em - 1lh) / 2);
    line-height: 1.45em;
  }
}
section.section_contents .section_container .section_content .item_wrap .item a .title .text span.en {
  font-weight: 500;
}
section.section_contents .section_container .section_content .item_wrap .item a .title .text span.en span {
  font-weight: 500;
}
section.section_contents .section_container .section_content .item_wrap .item a .container {
  position: relative;
}
section.section_contents .section_container .section_content .item_wrap .item a .container .joined {
  margin-top: 15px;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
}
@media screen and (max-width: 639px) {
  section.section_contents .section_container .section_content .item_wrap .item a .container .joined {
    margin-top: 10px;
  }
}
section.section_contents .section_container .section_content .item_wrap .item a .container .joined .text {
  transition: color 0.3s;
  margin-right: -0.15em;
  font-size: 14px;
  line-height: 1em;
  letter-spacing: 0.15em;
  font-weight: 600;
}
section.section_contents .section_container .section_content .item_wrap .item a .container .joined .text span {
  font-weight: 600;
}
section.section_contents .section_container .section_content .item_wrap .item a .container .joined .text {
  color: var(--c-white);
  text-align: center;
}
@media screen and (max-width: 639px) {
  section.section_contents .section_container .section_content .item_wrap .item a .container .joined .text {
    margin-right: -0.08em;
    font-size: 11px;
    letter-spacing: 0.08em;
  }
}
section.section_contents .section_container .section_content .item_wrap .item a .container .joined .text span.num {
  font-weight: 500;
}
section.section_contents .section_container .section_content .item_wrap .item a .container .joined .text span.num span {
  font-weight: 500;
}
@media screen and (min-width: 1239px) {
  section.section_contents .section_container .section_content .item_wrap .item a:hover .photo img {
    scale: 1.05;
  }
}
@media screen and (min-width: 1239px) {
  section.section_contents .section_container .section_content .item_wrap .item a:hover .film {
    opacity: 0.6;
  }
}
@media screen and (min-width: 1239px) {
  section.section_contents .section_container .section_content .item_wrap .item a:hover .category::before {
    background-color: var(--c-ThkRed);
  }
}
@media screen and (min-width: 1239px) {
  section.section_contents .section_container .section_content .item_wrap .item a:hover .category .text {
    color: var(--c-white);
  }
}
section.section_contents .section_container .section_content .item_wrap .item a.gray {
  pointer-events: none;
}
section.section_contents .section_container .section_content .item_wrap .item a.gray::after {
  opacity: 0.55;
  content: "";
  display: inline-block;
  background-color: var(--c-Black);
  position: absolute;
  inset: 0;
}
section.section_contents .section_container .section_content .item_wrap .item.item_11 {
  padding: 0 30px;
  width: 235px;
  height: 235px;
}
@media screen and (max-width: 639px) {
  section.section_contents .section_container .section_content .item_wrap .item.item_11 {
    padding: 0 20px;
    width: calc(40vw - 6px);
    height: calc(40vw - 6px);
  }
}
section.section_contents .section_container .section_content .item_wrap .item.item_11 a .title .text {
  padding-top: 16px;
  padding-bottom: 16px;
  font-size: 18px;
}
@media screen and (max-width: 639px) {
  section.section_contents .section_container .section_content .item_wrap .item.item_11 a .title .text {
    padding-top: 11px;
    padding-bottom: 11px;
    font-size: 14px;
  }
}
@media screen and (min-width: 1239px) {
  section.section_contents .section_container .section_content .item_wrap .item.item_11 a:hover .photo img {
    scale: 1.08;
  }
}
section.section_contents .section_container .section_content .item_wrap .item.item_21,
section.section_contents .section_container .section_content .item_wrap .item.item_22 {
  padding: 0 45px;
  width: 490px;
}
@media screen and (max-width: 1339px) {
  section.section_contents .section_container .section_content .item_wrap .item.item_21,
  section.section_contents .section_container .section_content .item_wrap .item.item_22 {
    padding: 0 30px;
    width: 235px;
  }
}
@media screen and (max-width: 639px) {
  section.section_contents .section_container .section_content .item_wrap .item.item_21,
  section.section_contents .section_container .section_content .item_wrap .item.item_22 {
    padding: 0 20px;
    width: calc(40vw - 6px);
  }
}
section.section_contents .section_container .section_content .item_wrap .item.item_21 a .title .text,
section.section_contents .section_container .section_content .item_wrap .item.item_22 a .title .text {
  padding-top: 26px;
  padding-bottom: 26px;
  font-size: 24px;
}
@media screen and (max-width: 1339px) {
  section.section_contents .section_container .section_content .item_wrap .item.item_21 a .title .text,
  section.section_contents .section_container .section_content .item_wrap .item.item_22 a .title .text {
    padding-top: 16px;
    padding-bottom: 16px;
    font-size: 18px;
  }
}
@media screen and (max-width: 639px) {
  section.section_contents .section_container .section_content .item_wrap .item.item_21 a .title .text,
  section.section_contents .section_container .section_content .item_wrap .item.item_22 a .title .text {
    padding-top: 11px;
    padding-bottom: 11px;
    font-size: 14px;
  }
}
section.section_contents .section_container .section_content .item_wrap .item.item_21 {
  height: 235px;
}
@media screen and (max-width: 639px) {
  section.section_contents .section_container .section_content .item_wrap .item.item_21 {
    height: calc(40vw - 6px);
  }
}
section.section_contents .section_container .section_content .item_wrap .item.item_22 {
  height: 490px;
}
@media screen and (max-width: 1339px) {
  section.section_contents .section_container .section_content .item_wrap .item.item_22 {
    height: 235px;
  }
}
@media screen and (max-width: 639px) {
  section.section_contents .section_container .section_content .item_wrap .item.item_22 {
    height: calc(40vw - 6px);
  }
}
section.section_contents .section_container .section_content .item_wrap .item.displayOn {
  display: flex;
}
section.section_contents .section_container .section_content .item_wrap .item.fadeIn {
  transition: opacity 0.75s, translate 1s var(--easeOutQuart);
  opacity: 1;
  translate: 0 0;
}
section.section_contents .section_container .section_content .item_wrap .no_contents {
  transition: opacity 0.25s, translate 0s 0.25s;
  display: none;
  opacity: 0;
  translate: 0 20px;
  padding-top: 20px;
  position: relative;
}
section.section_contents .section_container .section_content .item_wrap .no_contents .text {
  padding-left: 0.15em;
  font-size: 18px;
  line-height: 1em;
  letter-spacing: 0.15em;
  font-weight: 500;
}
section.section_contents .section_container .section_content .item_wrap .no_contents .text span {
  font-weight: 500;
}
section.section_contents .section_container .section_content .item_wrap .no_contents .text {
  text-align: center;
}
section.section_contents .section_container .section_content .item_wrap .no_contents.displayOn {
  display: block;
}
section.section_contents .section_container .section_content .item_wrap .no_contents.fadeIn {
  transition: opacity 0.5s, translate 0.5s var(--easeOutQuart);
  opacity: 1;
  translate: 0 0;
}
section.section_contents .section_container .section_content .item_wrap.fadeIn {
  transition: opacity 0s, height 0.75s var(--easeInOutQuart);
  opacity: 1;
}

_::-webkit-full-page-media,
_:future,
:root section.section_contents .section_container .section_content .item_wrap .item a .category .text {
  translate: 0 -0.02em;
}
@media screen and (max-width: 639px) {
  _::-webkit-full-page-media,
  _:future,
  :root section.section_contents .section_container .section_content .item_wrap .item a .category .text {
    translate: 0 0.05em;
  }
}

section.section_philosophy .section_container {
  padding: 0;
}
section.section_philosophy .section_container .photo_wrap {
  width: 1240px;
  height: 770px;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 1239px) {
  section.section_philosophy .section_container .photo_wrap {
    width: 100%;
    height: 51.0967741935vw;
  }
}
@media screen and (max-width: 639px) {
  section.section_philosophy .section_container .photo_wrap {
    height: 57.619047619vw;
  }
}
section.section_philosophy .section_container .photo_wrap .photo {
  position: absolute;
  left: 0;
  right: 0;
  top: -50px;
  bottom: -50px;
}
@media screen and (max-width: 1239px) {
  section.section_philosophy .section_container .photo_wrap .photo {
    top: 0;
    bottom: 0;
  }
}
section.section_philosophy .section_container .photo_wrap .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section.section_philosophy .section_container .philosophy {
  padding: 60px;
  mix-blend-mode: multiply;
  position: absolute;
  inset: 0;
}
@media screen and (max-width: 1239px) {
  section.section_philosophy .section_container .philosophy {
    padding: 60px;
  }
}
@media screen and (max-width: 639px) {
  section.section_philosophy .section_container .philosophy {
    padding: 4vw;
  }
}
section.section_philosophy .section_container .philosophy img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 439px) {
  section.section_philosophy .section_container .philosophy img {
    display: none;
  }
}
section.section_philosophy .section_container .philosophy .text {
  display: none;
}
@media screen and (max-width: 439px) {
  section.section_philosophy .section_container .philosophy .text {
    display: block;
    margin-block: calc((1em - 1lh) / 2);
    font-size: 23px;
    line-height: 1.15em;
    letter-spacing: 0.03em;
    font-weight: 600;
  }
  section.section_philosophy .section_container .philosophy .text span {
    font-weight: 600;
  }
  section.section_philosophy .section_container .philosophy .text {
    color: var(--c-ThkRed);
  }
}

section.section_entry {
  position: relative;
  z-index: 301;
}
section.section_entry .section_container .section_content .btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-inline: auto;
  width: 480px;
  height: 90px;
  position: relative;
}
@media screen and (max-width: 1239px) {
  section.section_entry .section_container .section_content .btn a {
    width: 375px;
    height: 77px;
  }
}
@media screen and (max-width: 639px) {
  section.section_entry .section_container .section_content .btn a {
    width: 270px;
    height: 64px;
  }
}
section.section_entry .section_container .section_content .btn a::before {
  transition: background-color 0.3s;
  content: "";
  display: inline-block;
  background-color: var(--c-ThkRed);
  border: 1px solid var(--c-ThkRed);
  position: absolute;
  inset: 0;
}
section.section_entry .section_container .section_content .btn a .text {
  transition: color 0.3s;
  padding-left: 0.12em;
  font-size: 24px;
  line-height: 1em;
  letter-spacing: 0.12em;
  font-weight: 500;
}
section.section_entry .section_container .section_content .btn a .text span {
  font-weight: 500;
}
section.section_entry .section_container .section_content .btn a .text {
  color: var(--c-white);
  position: relative;
}
@media screen and (max-width: 1239px) {
  section.section_entry .section_container .section_content .btn a .text {
    font-size: 21px;
  }
}
@media screen and (max-width: 639px) {
  section.section_entry .section_container .section_content .btn a .text {
    font-size: 18px;
  }
}
section.section_entry .section_container .section_content .btn a .arrow {
  transition: translate 0.5s var(--easeOutQuart);
  position: absolute;
  right: 30px;
  top: 50%;
  translate: 0 -50%;
}
@media screen and (max-width: 1239px) {
  section.section_entry .section_container .section_content .btn a .arrow {
    right: 21px;
  }
}
@media screen and (max-width: 639px) {
  section.section_entry .section_container .section_content .btn a .arrow {
    right: 12px;
  }
}
section.section_entry .section_container .section_content .btn a .arrow svg {
  transition: stroke 0.3s;
  fill: none;
  stroke: var(--c-white);
  stroke-width: 1px;
}
@media screen and (max-width: 839px) {
  section.section_entry .section_container .section_content .btn a .arrow svg.svg_pc {
    display: none;
  }
}
section.section_entry .section_container .section_content .btn a .arrow svg.svg_mb {
  display: none;
}
@media screen and (max-width: 839px) {
  section.section_entry .section_container .section_content .btn a .arrow svg.svg_mb {
    display: block;
  }
}
@media screen and (min-width: 1239px) {
  section.section_entry .section_container .section_content .btn a:hover::before {
    background-color: var(--c-white);
  }
}
@media screen and (min-width: 1239px) {
  section.section_entry .section_container .section_content .btn a:hover .text {
    color: var(--c-ThkRed);
  }
}
@media screen and (min-width: 1239px) {
  section.section_entry .section_container .section_content .btn a:hover .arrow {
    translate: 5px -50%;
  }
}
@media screen and (min-width: 1239px) {
  section.section_entry .section_container .section_content .btn a:hover .arrow svg {
    stroke: var(--c-ThkRed);
  }
}