/* フォントは public/css/fonts.css（必要な範囲だけに絞った自己ホスト版）で読み込む。
   ここから google-fonts-1/2.css を @import すると 334KB を二重に読むことになるので外した。 */
/**
 * Swiper 9.4.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 13, 2023
 */
@font-face {
  font-family: swiper-icons;
  src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
}

.swiper,
swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide,
swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
  transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-centered > .swiper-wrapper::before {
  content: '';
  flex-shrink: 0;
  order: 9999;
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-start: var(--swiper-centered-offset-before);
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-before: var(--swiper-centered-offset-before);
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size: 44px;
}

.swiper-button-next,
.swiper-button-prev {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: 'prev';
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: 'next';
}

.swiper-button-lock {
  display: none;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical > .swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
:host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical > .swiper-pagination-progressbar {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  -ms-touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical > .swiper-scrollbar {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas,
.swiper-zoom-container > img,
.swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

.swiper .swiper-notification,
swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-next + .swiper-slide,
.swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-right,
.swiper-cube .swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: '';
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  backface-visibility: hidden;
  overflow: hidden;
}
@charset "UTF-8";
/* Mixin - Background
--------------------------- */
/* Parts - Device
--------------------------- */
@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
  .sp-only {
    display: block !important;
  }
}
@media screen and (min-width: 768px) {
  .pc-only {
    display: block !important;
  }
  .sp-only {
    display: none !important;
  }
}
*:where(:not(iframe, canvas, img, svg, video):not(svg *)) {
  all: unset;
  display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove list styles (bullets/numbers) */
ol,
ul {
  list-style: none;
}

button {
  all: unset;
  display: revert;
}

figure {
  margin: 0;
}

/* For images to not be able to exceed their container */
/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

h4 {
  margin: 0;
}

html.lenis {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

:root {
  --color-10th-bg: #f0fbff;
  --color-text-white: #ffffff;
  --color-text-black: #113544;
  --color-blue: #0095d3;
  --color-lblue: #11a7e6;
  --color-pblue: #d4ecf5;
  --color-green: #77c1b3;
  --color-lgreen: #7accbd;
  --color-red: #f77e62;
}

html {
  font-size: 62.5%;
}

body {
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  letter-spacing: 0.1em;
  font-feature-settings: 'palt';
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  /* antialiased は macOS で線を細らせるので使わない（読みやすさ優先） */
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: unset;
  /* YakuHanJP は UUUM の Adobe Fonts キット由来で読めなくなったため外した */
  font-family: 'Readex Pro', 'Zen Kaku Gothic New', 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', メイリオ,
    Meiryo, sans-serif;
  font-size: 1.6rem;
  color: var(--color-text-black);
  background-color: var(--color-10th-bg);
}

.l-glink-container {
  position: relative;
}

/* モバイルで .glink-container を opacity: 0 にして is-loaded で戻す指定が
   ここにあったが、削除した。ローディングのオーバーレイ（不透明・全面）が
   既に本体を隠しており、二重に隠すと FV（＝LCP）の描画がオーバーレイ解除
   まで計上されず、Core Web Vitals を大きく悪化させていたため */

.l-section {
  width: 100%;
}

a {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.js-loading {
  pointer-events: none;
  background-color: var(--color-10th-bg);
  position: fixed;
  height: 100vh;
  height: 100svh;
  left: 0;
  top: 0;
  z-index: 1111;
}
.js-loading .p-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  overflow: hidden;
  height: 100%;
}
.js-loading .p-loading span {
  --loading-img-width: 25rem;
  --loading-img-margin: 14rem;
  display: block;
  animation: marquee-horizontal 5s linear infinite;
  will-change: transform;
  display: flex;
  backface-visibility: hidden;
  overflow: hidden;
  width: calc(8 * (var(--loading-img-width) + var(--loading-img-margin)));
  padding: 10px 0;
}
@media screen and (max-width: 767px) {
  .js-loading .p-loading span {
    --loading-img-width: 15rem;
    --loading-img-margin: 8rem;
  }
}
.js-loading .p-loading span img {
  width: var(--loading-img-width);
  margin-right: var(--loading-img-margin);
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  white-space: nowrap;
  will-change: transform;
  -o-object-fit: contain;
  object-fit: contain;
  transform: translateY(105%);
}
.js-loading .p-loading span img:nth-child(odd) {
  animation: updown 1.7s ease-in-out infinite 3.1s;
}
.js-loading .p-loading span img:nth-child(even) {
  animation: updown 1.7s ease-in-out infinite 2.4s;
}

/* 読み込み前は画面上に隠しておく。
   transform を使うと子要素の position:fixed（メニューオーバーレイ）が
   ビューポート基準にならないため top で動かす */
header {
  top: -130px;
}

.glink-container {
  position: relative;
}
.glink-container::after {
  opacity: 0;
}

.l-mainVisual-inner {
  position: relative;
}

.c-mainV-bg {
  width: 100%;
  height: 250vh;
  min-height: 2000px;
  border-radius: 9999px 9999px 0 0;
  position: absolute;
  left: 0;
  /* キャッチコピーは濃紺なので、青いドームに掛からない位置から始める。
     コピーの高さは px 基準（font-size の clamp）なので rem 側の下限も持たせる */
  top: max(26vh, 26rem);
  background-color: var(--color-blue);
  z-index: -1;
}

.is-loaded header {
  top: 16px;
  transition: top 1s cubic-bezier(0.86, 0, 0.11, 1) 0.6s;
}
@media screen and (max-width: 767px) {
  .is-loaded header {
    top: 0;
    transition: none;
  }
}
.is-loaded .glink-container::after {
  opacity: 1;
}

@keyframes loading-anim {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  1% {
    transform: translate(0, 0) rotate(1.5deg);
  }
  2% {
    transform: translate(0, 0) rotate(0deg);
  }
  3% {
    transform: translate(0, 0) rotate(1.5deg);
  }
  4% {
    transform: translate(0, 0) rotate(0deg);
  }
  5% {
    transform: translate(0, 0) rotate(1.5deg);
  }
  6% {
    transform: translate(0, 0) rotate(0deg);
  }
  7% {
    transform: translate(0, 0) rotate(1.5deg);
  }
  8% {
    transform: translate(0, 0) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}
@keyframes marquee-horizontal {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-25%);
  }
}
@keyframes updown {
  0% {
    margin-top: 0;
  }
  50% {
    margin-top: -0.5%;
  }
  100% {
    margin-top: 0;
  }
}
header {
  position: fixed;
  /* top は初期状態（-130px）と .is-loaded（16px）が管理する */
  z-index: 100;
  padding: 14px 12px 14px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--color-10th-bg);
  width: 97%;
  left: 1.5%;
  border-radius: 1000px;
}
header h1 {
  width: 64px;
}
header h1 img {
  width: 100%;
}
/* =========================================================
   ナビは全画面幅でハンバーガーに統一。
   ヘッダーにはロゴとボタンだけを出し、項目は全画面オーバーレイで見せる
   ========================================================= */
header ul {
  position: fixed;
  left: 0;
  top: 0;
  height: 100vh;
  height: 100svh;
  width: 100%;
  background: var(--color-10th-bg);
  display: flex;
  flex-direction: column;
  justify-content: center;
  /* 背の低い画面で溢れたときに先頭が切れないように */
  justify-content: safe center;
  padding: 0 12px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  overflow-y: auto;
}
header ul.is-active {
  opacity: 1;
  pointer-events: auto;
}
header ul li {
  width: 100%;
  margin: 0.8rem 0;
  border-radius: 0 12rem 12rem 0;
  overflow: hidden;
}
header ul .c-menu-item {
  display: block;
  padding: 4vh 26px 4vh 16px;
  background: #def3fb;
  cursor: pointer;
}
header ul .c-menu-item span {
  display: block;
  /* 目に留まる強さを出す。900 は fonts.css に自己ホストしてある */
  font-weight: 900;
  color: #0b2027;
}
header ul .c-menu-item span::after {
  content: attr(data-text);
  display: block;
  margin-top: 4px;
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  color: var(--color-blue);
}
header ul .c-menu-item:hover,
header ul .c-menu-item:focus-visible {
  background: #cdedf9;
}
header ul .c-menu-item:focus-visible {
  outline: 2px solid var(--color-blue);
  outline-offset: -3px;
}
/* 現在いるページの項目。コーラルの点はキャッチコピー「革命」の差し色 */
header ul .c-menu-item[aria-current='page'] {
  background: #c3e6f6;
}
header ul .c-menu-item[aria-current='page'] span::before {
  content: '';
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  margin-right: 0.55em;
  border-radius: 50%;
  background: var(--color-red);
}
/* スポットイラストのアイコンは PC のオーバーレイでだけ出す */
.c-menu-ico {
  display: none;
}
/* PC はピルを互い違いに振って、手作業の揺らぎを出す */
@media screen and (min-width: 768px) {
  header ul li {
    width: min(92%, 620px);
    margin: 0.8rem auto;
  }
  header ul li:nth-child(odd) {
    border-radius: 8px 12rem 12rem 8px;
    transform: translateX(-18px);
  }
  header ul li:nth-child(even) {
    border-radius: 12rem 8px 8px 12rem;
    transform: translateX(18px);
  }
  header ul .c-menu-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.4rem;
    padding: 1.5rem 4rem;
    text-align: left;
  }
  .c-menu-ico {
    display: block;
    width: 76px;
    height: 76px;
    flex-shrink: 0;
  }
  header ul .c-menu-item span {
    min-width: 11em;
    font-size: 2.2rem;
    letter-spacing: 0.1em;
  }
  header ul .c-menu-item span::after {
    font-size: 1.25rem;
    margin-top: 6px;
  }
}
/* ハンバーガーボタン（全幅共通） */
header button {
  width: 40px;
  height: 40px;
  position: relative;
  display: block;
  z-index: 1;
}
header button::before,
header button::after {
  content: '';
  height: 3px;
  width: 100%;
  border-radius: 3px;
  background-color: var(--color-blue);
  display: block;
  position: absolute;
  transform-origin: center center;
}
header button::before {
  top: 50%;
  left: 0;
  transform: translateY(calc(-50% + 6px));
  transition: transform 0.4s ease;
}
header button::after {
  top: 50%;
  left: 0;
  transform: translateY(calc(-50% - 6px));
  transition: transform 0.4s ease;
}
header button.is-active::before {
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(-20deg);
  transition: transform 0.4s ease;
}
header button.is-active::after {
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(20deg);
  transition: transform 0.4s ease;
}
/* メニューを開いてもロゴと×ボタンはオーバーレイの上に残す */
header .c-logo {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  header {
    width: 100%;
    left: 0;
    background: none;
    top: 0;
    padding: 10px 16px 0;
  }
  header h1 {
    width: 50px;
    position: relative;
    z-index: 1;
  }
  header ul .c-menu-item {
    padding: 5vh 26px 5vh 16px;
  }
}

footer {
  height: 16vh;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 3rem;
  letter-spacing: 0rem;
}

/* メインビジュアル
/* l-mainVisual
------------------------------------------------------------*/
.l-mainVisual {
  width: 100%;
  /* ヘッダーは position:fixed・top:16px・高さ約72px の不透明なピル。
     キャッチコピーがその下に潜らないよう、px の下限を必ず確保する */
  padding-top: max(11rem, 12vh);
  padding-bottom: 5vh;
  position: relative;
  z-index: 1;
}

/* PC はファーストビューの高さを使い切る。
   キャッチコピーの高さは font-size の clamp 由来で可変なので、
   残りをイラストに flex で配分し、下に余白が残らないようにする */
@media screen and (min-width: 768px) {
  .l-mainVisual {
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    padding-bottom: 2.5vh;
  }

  .l-mainVisual > .c-mv-copy {
    flex: 0 0 auto;
  }

  /* 高さを確実に伝えるため、img まで flex のチェーンで繋ぐ */
  .l-mainVisual > .l-mainVisual-inner {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    max-width: none;
    display: flex;
    flex-direction: column;
  }

  .l-mainVisual > .l-mainVisual-inner .p-mainVisual-inner {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  .l-mainVisual > .l-mainVisual-inner .c-mv-base {
    flex: 1 1 auto;
    min-height: 0;
  }

  /* 高さいっぱいに伸ばし、横に広い画面では max-width 側で頭打ちにする。
     どちらで頭打ちになっても contain で比率を保つ */
  .l-mainVisual > .l-mainVisual-inner .c-mv-base img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: min(86%, 1400px);
    margin: 0 auto;
    object-fit: contain;
    object-position: 50% 100%;
  }
}
@media screen and (max-width: 767px) {
  .l-mainVisual {
    /* SP のヘッダーは背景なし・高さ約45px。ロゴと被らない位置まで下げる */
    padding-top: max(7.5rem, 17%);
    padding-bottom: 0;
  }
}

.portrait .l-mainVisual-inner {
  width: 90%;
}

.l-mainVisual-inner {
  /* SP 用のフォールバック。PC では上の flex 指定が上書きする */
  width: min(90%, 96vh);
  max-width: 1400px;
  margin: 0 auto;
  position: relative;
  --base-width: 1448;
  --base-height: 1086;
}
.l-mainVisual-inner .p-mainVisual-inner {
  width: 100%;
  position: relative;
}
.l-mainVisual-inner .p-mainVisual-inner .c-mv-base {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.l-mainVisual-inner .p-mainVisual-inner .c-mv-base img {
  width: 100%;
  height: auto;
}
.l-mainVisual-inner .p-mainVisual-inner .c-mv-parts {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  position: absolute;
}
.l-mainVisual-inner .p-mainVisual-inner .c-mv-parts img {
  width: 100%;
}
.l-mainVisual-inner .p-mainVisual-inner .c-parts-baby {
  width: calc(197 / var(--base-width) * 100%);
  top: calc(1542 / var(--base-height) * 100%);
  left: calc(2064 / var(--base-width) * 100%);
}
.l-mainVisual-inner .p-mainVisual-inner .c-parts-cat {
  width: calc(207 / var(--base-width) * 100%);
  top: calc(400 / var(--base-height) * 100%);
  left: calc(2144 / var(--base-width) * 100%);
  animation-delay: 0s;
}
.l-mainVisual-inner .p-mainVisual-inner .c-parts-cloud01 {
  width: calc(198 / var(--base-width) * 100%);
  top: calc(1342 / var(--base-height) * 100%);
  left: calc(2124 / var(--base-width) * 100%);
  animation-delay: 1s;
}
.l-mainVisual-inner .p-mainVisual-inner .c-parts-cloud02 {
  width: calc(196 / var(--base-width) * 100%);
  top: calc(681 / var(--base-height) * 100%);
  left: calc(140 / var(--base-width) * 100%);
}
.l-mainVisual-inner .p-mainVisual-inner .c-parts-earing {
  width: calc(437 / var(--base-width) * 100%);
  top: calc(1152 / var(--base-height) * 100%);
  left: calc(96 / var(--base-width) * 100%);
}
.l-mainVisual-inner .p-mainVisual-inner .c-parts-girl {
  width: calc(129 / var(--base-width) * 100%);
  top: calc(1362 / var(--base-height) * 100%);
  left: calc(964 / var(--base-width) * 100%);
}
.l-mainVisual-inner .p-mainVisual-inner .c-parts-human {
  width: calc(103 / var(--base-width) * 100%);
  top: calc(580 / var(--base-height) * 100%);
  left: calc(1304 / var(--base-width) * 100%);
}
.l-mainVisual-inner .p-mainVisual-inner .c-parts-jet {
  width: calc(235 / var(--base-width) * 100%);
  top: calc(80 / var(--base-height) * 100%);
  left: calc(2084 / var(--base-width) * 100%);
  animation-delay: 0.5s;
}
.l-mainVisual-inner .p-mainVisual-inner .c-parts-keyholder {
  width: calc(317 / var(--base-width) * 100%);
  top: calc(1342 / var(--base-height) * 100%);
  left: calc(266 / var(--base-width) * 100%);
}
.l-mainVisual-inner .p-mainVisual-inner .c-parts-man {
  width: calc(106 / var(--base-width) * 100%);
  top: calc(640 / var(--base-height) * 100%);
  left: calc(1000 / var(--base-width) * 100%);
}
.l-mainVisual-inner .p-mainVisual-inner .c-parts-senior {
  width: calc(123 / var(--base-width) * 100%);
  top: calc(760 / var(--base-height) * 100%);
  left: calc(1370 / var(--base-width) * 100%);
}
.l-mainVisual-inner .p-mainVisual-inner .c-parts-ship {
  width: calc(411 / var(--base-width) * 100%);
  top: calc(90 / var(--base-height) * 100%);
  left: calc(4 / var(--base-width) * 100%);
  animation-delay: 0.9s;
}
.l-mainVisual-inner .p-mainVisual-inner .c-parts-wave {
  width: calc(115 / var(--base-width) * 100%);
  top: calc(30 / var(--base-height) * 100%);
  left: calc(500 / var(--base-width) * 100%);
}
.l-mainVisual-inner .p-mainVisual-inner .c-parts-woman {
  width: calc(172 / var(--base-width) * 100%);
  top: calc(1108 / var(--base-height) * 100%);
  left: calc(1014 / var(--base-width) * 100%);
}
.l-mainVisual-inner .p-mainVisual-inner .c-parts-woman2 {
  width: calc(155 / var(--base-width) * 100%);
  top: calc(1258 / var(--base-height) * 100%);
  left: calc(1924 / var(--base-width) * 100%);
  animation-delay: 1s;
}
.l-mainVisual-inner .a-upAndDown {
  animation: UpAndDown 7s steps(1) infinite;
}
.l-mainVisual-inner .a-reversal {
  animation: reversal 12s steps(1) infinite;
  transform-origin: center center;
}
.l-mainVisual-inner .a-leftAndRight {
  animation: LeftAndRight 7s steps(1) infinite;
}
.l-mainVisual-inner .a-rightandLeft {
  animation: RightandLeft 7s steps(1) infinite;
}
.l-mainVisual-inner .a-Diagonal {
  animation: Diagonal 6s steps(1) infinite;
}
.l-mainVisual-inner .a-flashing {
  animation: flashing 5s steps(1) infinite;
}
.l-mainVisual-inner .a-wave-swing {
  animation: wave-swing 6s steps(1) infinite;
  transform-origin: left bottom;
}
.l-mainVisual-inner .a-warking {
  animation: warking 9s steps(1) infinite;
}
.l-mainVisual-inner .a-warking2 {
  animation: warking-second 9s steps(1) infinite;
}
@keyframes reversal {
  0% {
    transform: scale(1, 1);
  }
  20% {
    transform: scale(-1, 1);
  }
  40% {
    transform: scale(1, 1);
  }
  60% {
    transform: scale(-1, 1);
  }
  80% {
    transform: scale(1, 1);
  }
  100% {
    transform: scale(-1, 1);
  }
}
@keyframes warking {
  0% {
    transform: scale(1, 1) translateX(0px);
  }
  20% {
    transform: scale(1, 1) translateX(10px);
  }
  40% {
    transform: scale(-1, 1) translateX(0px);
  }
  60% {
    transform: scale(-1, 1) translateX(10px);
  }
  80% {
    transform: scale(1, 1) translateX(0px);
  }
  100% {
    transform: scale(1, 1) translateX(10px);
  }
}
@keyframes warking-second {
  0% {
    transform: scale(1, 1) translate(0, 0px);
  }
  20% {
    transform: scale(1, 1) translate(4px, -4px);
  }
  40% {
    transform: scale(-1, 1) translate(0, 0px);
  }
  60% {
    transform: scale(-1, 1) translate(4px, -4px);
  }
  80% {
    transform: scale(1, 1) translate(0, 0px);
  }
  100% {
    transform: scale(1, 1) translate(4px, -4px);
  }
}
@keyframes flashing {
  0% {
    opacity: 1;
  }
  20% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  60% {
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes UpAndDown {
  0% {
    transform: translateY(0);
  }
  20% {
    transform: translateY(5px);
  }
  40% {
    transform: translateY(0);
  }
  60% {
    transform: translateY(5px);
  }
  80% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(5px);
  }
}
@keyframes LeftAndRight {
  0% {
    transform: rotate(10deg);
  }
  20% {
    transform: rotate(14deg);
  }
  40% {
    transform: rotate(10deg);
  }
  60% {
    transform: rotate(14deg);
  }
  80% {
    transform: rotate(10deg);
  }
  100% {
    transform: rotate(14deg);
  }
}
@keyframes RightandLeft {
  0% {
    transform: rotate(-4deg);
  }
  20% {
    transform: rotate(0deg);
  }
  40% {
    transform: rotate(-4deg);
  }
  60% {
    transform: rotate(0deg);
  }
  80% {
    transform: rotate(-4deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes Diagonal {
  0% {
    transform: translate(4px, -4px);
  }
  20% {
    transform: translate(0);
  }
  40% {
    transform: translate(-4px, 4px);
  }
  60% {
    transform: translate(0);
  }
  80% {
    transform: translate(4px, -4px);
  }
  100% {
    transform: translate(0);
  }
}
@keyframes wave-swing {
  0% {
    transform: rotate(-20deg);
  }
  14% {
    transform: rotate(-10deg);
  }
  28% {
    transform: rotate(-5deg);
  }
  42% {
    transform: rotate(0);
  }
  56% {
    transform: rotate(5deg);
  }
  70% {
    transform: rotate(-10deg);
  }
  84% {
    transform: rotate(-20deg);
  }
}

/* TOWN
/* l-town
------------------------------------------------------------*/
.l-town {
  width: 100%;
  position: relative;
  z-index: 1;
  height: 200vh;
  margin-top: -12%;
}
@media (max-aspect-ratio: 1/0.78) {
  .l-town {
    height: 100vh;
  }
}

.l-town-inner {
  width: 55%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  position: sticky;
  top: 50%;
  transform: translateY(-50%);
  --base-width: 2389;
  --base-height: 1863;
}
@media screen and (max-width: 767px) {
  .l-town-inner {
    width: 88%;
  }
}
.l-town-inner .p-town-inner {
  width: 100%;
  position: relative;
}
.l-town-inner .p-town-inner .c-mv-base {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.l-town-inner .p-town-inner .c-mv-base img {
  width: 100%;
  height: auto;
}
.l-town-inner .p-town-inner .c-mv-parts {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  position: absolute;
}
.l-town-inner .p-town-inner .c-mv-parts img {
  width: 100%;
}
.l-town-inner .p-town-inner .c-parts-baby {
  width: calc(197 / var(--base-width) * 100%);
  top: calc(1542 / var(--base-height) * 100%);
  left: calc(2064 / var(--base-width) * 100%);
}
.l-town-inner .p-town-inner .c-parts-cat {
  width: calc(207 / var(--base-width) * 100%);
  top: calc(400 / var(--base-height) * 100%);
  left: calc(2144 / var(--base-width) * 100%);
  animation-delay: 0s;
}
.l-town-inner .p-town-inner .c-parts-cloud01 {
  width: calc(198 / var(--base-width) * 100%);
  top: calc(1342 / var(--base-height) * 100%);
  left: calc(2124 / var(--base-width) * 100%);
  animation-delay: 1s;
}
.l-town-inner .p-town-inner .c-parts-cloud02 {
  width: calc(196 / var(--base-width) * 100%);
  top: calc(681 / var(--base-height) * 100%);
  left: calc(140 / var(--base-width) * 100%);
}
.l-town-inner .p-town-inner .c-parts-earing {
  width: calc(437 / var(--base-width) * 100%);
  top: calc(1152 / var(--base-height) * 100%);
  left: calc(96 / var(--base-width) * 100%);
}
.l-town-inner .p-town-inner .c-parts-girl {
  width: calc(129 / var(--base-width) * 100%);
  top: calc(1362 / var(--base-height) * 100%);
  left: calc(964 / var(--base-width) * 100%);
}
.l-town-inner .p-town-inner .c-parts-human {
  width: calc(103 / var(--base-width) * 100%);
  top: calc(580 / var(--base-height) * 100%);
  left: calc(1304 / var(--base-width) * 100%);
}
.l-town-inner .p-town-inner .c-parts-jet {
  width: calc(235 / var(--base-width) * 100%);
  top: calc(80 / var(--base-height) * 100%);
  left: calc(2084 / var(--base-width) * 100%);
  animation-delay: 0.5s;
}
.l-town-inner .p-town-inner .c-parts-keyholder {
  width: calc(317 / var(--base-width) * 100%);
  top: calc(1342 / var(--base-height) * 100%);
  left: calc(266 / var(--base-width) * 100%);
}
.l-town-inner .p-town-inner .c-parts-man {
  width: calc(106 / var(--base-width) * 100%);
  top: calc(640 / var(--base-height) * 100%);
  left: calc(1000 / var(--base-width) * 100%);
}
.l-town-inner .p-town-inner .c-parts-senior {
  width: calc(123 / var(--base-width) * 100%);
  top: calc(760 / var(--base-height) * 100%);
  left: calc(1370 / var(--base-width) * 100%);
}
.l-town-inner .p-town-inner .c-parts-ship {
  width: calc(411 / var(--base-width) * 100%);
  top: calc(90 / var(--base-height) * 100%);
  left: calc(4 / var(--base-width) * 100%);
  animation-delay: 0.9s;
}
.l-town-inner .p-town-inner .c-parts-wave {
  width: calc(115 / var(--base-width) * 100%);
  top: calc(30 / var(--base-height) * 100%);
  left: calc(500 / var(--base-width) * 100%);
}
.l-town-inner .p-town-inner .c-parts-woman {
  width: calc(172 / var(--base-width) * 100%);
  top: calc(1108 / var(--base-height) * 100%);
  left: calc(1014 / var(--base-width) * 100%);
}
.l-town-inner .p-town-inner .c-parts-woman2 {
  width: calc(155 / var(--base-width) * 100%);
  top: calc(1258 / var(--base-height) * 100%);
  left: calc(1924 / var(--base-width) * 100%);
  animation-delay: 1s;
}
.l-town-inner .a-upAndDown {
  animation: UpAndDown 7s steps(1) infinite;
}
.l-town-inner .a-reversal {
  animation: reversal 12s steps(1) infinite;
  transform-origin: center center;
}
.l-town-inner .a-leftAndRight {
  animation: LeftAndRight 7s steps(1) infinite;
}
.l-town-inner .a-rightandLeft {
  animation: RightandLeft 7s steps(1) infinite;
}
.l-town-inner .a-Diagonal {
  animation: Diagonal 6s steps(1) infinite;
}
.l-town-inner .a-flashing {
  animation: flashing 5s steps(1) infinite;
}
.l-town-inner .a-wave-swing {
  animation: wave-swing 6s steps(1) infinite;
  transform-origin: left bottom;
}
.l-town-inner .a-warking {
  animation: warking 9s steps(1) infinite;
}
.l-town-inner .a-warking2 {
  animation: warking-second 9s steps(1) infinite;
}
@keyframes reversal {
  0% {
    transform: scale(1, 1);
  }
  20% {
    transform: scale(-1, 1);
  }
  40% {
    transform: scale(1, 1);
  }
  60% {
    transform: scale(-1, 1);
  }
  80% {
    transform: scale(1, 1);
  }
  100% {
    transform: scale(-1, 1);
  }
}
@keyframes warking {
  0% {
    transform: scale(1, 1) translateX(0px);
  }
  20% {
    transform: scale(1, 1) translateX(10px);
  }
  40% {
    transform: scale(-1, 1) translateX(0px);
  }
  60% {
    transform: scale(-1, 1) translateX(10px);
  }
  80% {
    transform: scale(1, 1) translateX(0px);
  }
  100% {
    transform: scale(1, 1) translateX(10px);
  }
}
@keyframes warking-second {
  0% {
    transform: scale(1, 1) translate(0, 0px);
  }
  20% {
    transform: scale(1, 1) translate(4px, -4px);
  }
  40% {
    transform: scale(-1, 1) translate(0, 0px);
  }
  60% {
    transform: scale(-1, 1) translate(4px, -4px);
  }
  80% {
    transform: scale(1, 1) translate(0, 0px);
  }
  100% {
    transform: scale(1, 1) translate(4px, -4px);
  }
}
@keyframes flashing {
  0% {
    opacity: 1;
  }
  20% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  60% {
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes UpAndDown {
  0% {
    transform: translateY(0);
  }
  20% {
    transform: translateY(5px);
  }
  40% {
    transform: translateY(0);
  }
  60% {
    transform: translateY(5px);
  }
  80% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(5px);
  }
}
@keyframes LeftAndRight {
  0% {
    transform: rotate(10deg);
  }
  20% {
    transform: rotate(14deg);
  }
  40% {
    transform: rotate(10deg);
  }
  60% {
    transform: rotate(14deg);
  }
  80% {
    transform: rotate(10deg);
  }
  100% {
    transform: rotate(14deg);
  }
}
@keyframes RightandLeft {
  0% {
    transform: rotate(-4deg);
  }
  20% {
    transform: rotate(0deg);
  }
  40% {
    transform: rotate(-4deg);
  }
  60% {
    transform: rotate(0deg);
  }
  80% {
    transform: rotate(-4deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes Diagonal {
  0% {
    transform: translate(4px, -4px);
  }
  20% {
    transform: translate(0);
  }
  40% {
    transform: translate(-4px, 4px);
  }
  60% {
    transform: translate(0);
  }
  80% {
    transform: translate(4px, -4px);
  }
  100% {
    transform: translate(0);
  }
}
@keyframes wave-swing {
  0% {
    transform: rotate(-20deg);
  }
  14% {
    transform: rotate(-10deg);
  }
  28% {
    transform: rotate(-5deg);
  }
  42% {
    transform: rotate(0);
  }
  56% {
    transform: rotate(5deg);
  }
  70% {
    transform: rotate(-10deg);
  }
  84% {
    transform: rotate(-20deg);
  }
}

/* OUR MESSAGE
/* .section-message
------------------------------------------------------------*/
body {
  --section-margin: 6%;
  --section-spMargin: 8px;
}

.section-message {
  background: linear-gradient(180deg, transparent 0%, transparent 20%, var(--color-blue) 20%, var(--color-blue) 100%);
  color: var(--color-text-white);
  position: relative;
}
.section-message[data-sticky-name='01'] {
  padding-bottom: 40vh;
}
@media screen and (max-width: 767px) {
  .section-message[data-sticky-name='01'] {
    padding-bottom: 25vh;
  }
}
.section-message[data-sticky-name='01'] .scrub-text {
  width: 100%;
  position: relative;
  overflow: hidden;
  height: 26rem;
  top: 10%;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  position: sticky;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .section-message[data-sticky-name='01'] .scrub-text {
    height: 20rem;
  }
}
@media screen and (max-width: 767px) {
  .section-message[data-sticky-name='01'] .scrub-text {
    height: 14rem;
  }
}
.section-message[data-sticky-name='01'] .scrub-text p {
  position: absolute;
  white-space: nowrap;
  display: flex;
  justify-content: flex-start;
  font-weight: 400;
  color: var(--color-10th-bg);
  opacity: 0.1;
  font-size: 22rem;
  letter-spacing: -1.5rem;
  will-change: transform;
}
.section-message[data-sticky-name='01'] .scrub-text p span {
  line-height: 1;
  display: inline-block;
  padding-right: 6rem;
}
@media screen and (max-width: 1024px) {
  .section-message[data-sticky-name='01'] .scrub-text p {
    font-size: 9rem;
    letter-spacing: -0.6rem;
  }
  .section-message[data-sticky-name='01'] .scrub-text p span {
    padding-right: 4rem;
  }
}
.section-message[data-sticky-name='01'] .p-sticky-illust {
  position: fixed;
  opacity: 1;
  animation: wobbling_y 0.7s ease-in-out infinite alternate;
}
@media screen and (max-width: 767px) {
  .section-message[data-sticky-name='01'] .p-sticky-illust {
    position: static;
    transform: translateY(0);
    animation: none;
  }
}
.section-message[data-sticky-name='01'] .p-sticky-illust img {
  width: 100%;
}
.section-message[data-sticky-name='01'] .p-sticky-illust01 {
  top: 125%;
  width: 24vw;
  left: 2%;
  transform: translateY(30%);
  max-width: 480px;
}
@media screen and (max-width: 767px) {
  .section-message[data-sticky-name='01'] .p-sticky-illust01 {
    width: 60%;
    margin: auto;
    transform: translateY(0);
  }
}
.section-message[data-sticky-name='01'] .p-sticky-illust02 {
  top: 120%;
  width: 24vw;
  right: 2%;
  max-width: 480px;
}
@media screen and (max-width: 767px) {
  .section-message[data-sticky-name='01'] .p-sticky-illust02 {
    width: 60%;
    margin: auto;
    transform: translateY(0);
  }
}
@keyframes wobbling_y {
  0% {
    margin-top: 0px;
  }
  100% {
    margin-top: 30px;
  }
}
.section-message[data-sticky-name='01'] .p-message-text {
  margin-bottom: 14rem;
  z-index: 1;
  position: relative;
}
@media screen and (max-width: 767px) {
  .section-message[data-sticky-name='01'] .p-message-text {
    padding: 0 var(--section-spMargin);
  }
}
@media screen and (max-width: 767px) {
  .section-message[data-sticky-name='01'] .p-message-text {
    margin-top: -22%;
    margin-bottom: 4rem;
  }
}
.section-message[data-sticky-name='01'] .p-message-text h2 {
  text-align: center;
  font-size: 10rem;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 7rem;
  color: var(--color-10th-bg);
}
@media screen and (max-width: 767px) {
  .section-message[data-sticky-name='01'] .p-message-text h2 {
    font-size: 6.5rem;
    margin-bottom: 3rem;
  }
}
.section-message[data-sticky-name='01'] .p-message-text p {
  font-size: 2rem;
  text-align: center;
  line-height: 2.8;
}
@media screen and (max-width: 767px) {
  .section-message[data-sticky-name='01'] .p-message-text p {
    font-size: 1.5rem;
    line-height: 2;
  }
}
.section-message[data-sticky-name='01'] .p-message-text p.mb20 {
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .section-message[data-sticky-name='01'] .p-message-text p.mb20 {
    margin-bottom: 2rem;
  }
}
.section-message[data-sticky-name='01'] .p-message-text .logo {
  /* 署名画像は原寸 136px。あまり拡大すると粗が出るので 180px で頭打ち */
  width: 180px;
  margin: 5rem auto 0;
}
.section-message[data-sticky-name='01'] .p-message-text .logo img {
  width: 100%;
}
.section-message[data-sticky-name='01'] .p-greeting-wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  max-width: 1280px;
  padding: 0 var(--section-margin);
  margin: 14rem auto 0;
  position: relative;
  z-index: 1;
}
.section-message[data-sticky-name='01'] .p-greeting-wrap .c-image {
  width: 40%;
  position: sticky;
  top: 0;
  padding-top: 10rem;
}
.section-message[data-sticky-name='01'] .p-greeting-wrap .c-image-inner {
  width: 100%;
  position: relative;
  border-radius: 9999px;
  overflow: hidden;
  aspect-ratio: 16/22;
}
.section-message[data-sticky-name='01'] .p-greeting-wrap .c-image-inner img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.section-message[data-sticky-name='01'] .p-greeting-wrap .c-message {
  width: 60%;
  padding-left: 8%;
  padding-top: 10rem;
}
.section-message[data-sticky-name='01'] .p-greeting-wrap .c-message h3 {
  font-size: 2.2rem;
  font-weight: 700;
  background-color: var(--color-lblue);
  padding: 20px 30px;
  margin-bottom: 4.5rem;
  border-radius: 100px 100px 100px 0;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .section-message[data-sticky-name='01'] .p-greeting-wrap .c-message h3 {
    margin-bottom: 2.5rem;
    font-size: 2rem;
  }
}
.section-message[data-sticky-name='01'] .p-greeting-wrap .c-message p {
  font-size: 1.8rem;
  margin-bottom: 2rem;
  text-align: left;
  line-height: 2.4;
}
@media screen and (max-width: 767px) {
  .section-message[data-sticky-name='01'] .p-greeting-wrap .c-message p {
    margin-bottom: 1.6rem;
    line-height: 2;
    font-size: 1.5rem;
  }
}
.section-message[data-sticky-name='01'] .p-greeting-wrap .c-message p.date {
  font-size: 1.4rem;
  margin-bottom: 0;
}
.section-message[data-sticky-name='01'] .p-greeting-wrap .c-message p.name {
  font-size: 2.2rem;
  line-height: 1.5;
}
.section-message[data-sticky-name='01'] .p-greeting-wrap .c-message p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .section-message[data-sticky-name='01'] .p-greeting-wrap {
    margin-top: 4rem;
    display: block;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .section-message[data-sticky-name='01'] .p-greeting-wrap {
    padding: 0 var(--section-spMargin);
  }
}
@media screen and (max-width: 767px) {
  .section-message[data-sticky-name='01'] .p-greeting-wrap .c-image {
    padding-top: 3rem;
    width: 100%;
    position: static;
    margin-bottom: 2.5rem;
  }
  .section-message[data-sticky-name='01'] .p-greeting-wrap .c-message {
    padding-left: 0;
    padding-top: 3rem;
    width: 100%;
  }
}

/* MESSAGE
/* .section-message-thanks
------------------------------------------------------------*/
.section-message-thanks {
  background-color: var(--color-blue);
  color: var(--color-text-white);
  padding: 5vh 0 0;
  position: relative;
  z-index: 1;
  --bg-bottom-position: 7%;
}
.section-message-thanks .c-sectionMessage-bg {
  width: 100%;
  height: 100%;
  border-radius: 9999px 9999px 0 0;
  position: absolute;
  left: 0;
  top: -2%;
  background-color: var(--color-lblue);
  z-index: 0;
}
@media screen and (max-width: 1024px) {
  .section-message-thanks .c-sectionMessage-bg {
    top: 0%;
  }
}
.section-message-thanks .c-sectionMessage-bg-after {
  width: 100vw;
  height: 51.5000000747vw;
  position: absolute;
  left: 0;
  bottom: var(--bg-bottom-position);
  transform: translateY(100%);
  background: url('../img/img-h-circle-bottom.svg') center bottom no-repeat, var(--color-blue);
  background-size: cover;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .section-message-thanks .c-sectionMessage-bg-after {
    bottom: 0;
  }
}
.section-message-thanks .p-content {
  position: relative;
  z-index: 1;
}
.section-message-thanks .p-content::after {
  content: '';
  width: 100%;
  height: 50%;
  position: absolute;
  left: 0;
  bottom: var(--bg-bottom-position);
  background-color: var(--color-lblue);
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  .section-message-thanks .p-content::after {
    bottom: 0;
  }
}
.section-message-thanks h2.c-section-title {
  text-align: center;
  font-size: 10rem;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 10rem;
}
.section-message-thanks h2.c-section-title span {
  display: block;
  margin: 1.2rem auto 0;
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .section-message-thanks h2.c-section-title {
    font-size: 6.5rem;
    margin-bottom: 3rem;
  }
  .section-message-thanks h2.c-section-title span {
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: 500;
  }
}
.section-message-thanks .p-message-wrap {
  max-width: 1280px;
  margin: auto;
  padding: 0 calc(var(--section-margin) / 2);
}
.section-message-thanks .p-message-wrap li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background-color: var(--color-blue);
  padding: 20px;
  border-radius: 20px 160px 160px 20px;
  margin-bottom: 30px;
}
.section-message-thanks .p-message-wrap li .c-image {
  width: 220px;
  height: 220px;
  border-radius: 10px;
  position: relative;
}
.section-message-thanks .p-message-wrap li .c-image img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.section-message-thanks .p-message-wrap li .c-text {
  width: calc(100% - 220px);
  padding-left: 4rem;
}
.section-message-thanks .p-message-wrap li .c-text .c-text-01 {
  margin-bottom: 0.4rem;
}
.section-message-thanks .p-message-wrap li .c-text .c-text-02 {
  margin-bottom: 1rem;
}
.section-message-thanks .p-message-wrap li .c-text .mb {
  margin-bottom: 1rem;
}
@media screen and (max-width: 1024px) {
  .section-message-thanks .p-message-wrap li {
    display: block;
    border-radius: 1200px 1200px 40px 40px;
    padding: 1.4rem 1.4rem 2.4rem;
  }
  .section-message-thanks .p-message-wrap li .c-image {
    width: 100%;
    height: 50%;
    padding-top: 100%;
    border-radius: 1200px 1200px 40px 40px;
    margin-bottom: 1.3rem;
    overflow: hidden;
  }
  .section-message-thanks .p-message-wrap li .c-text {
    width: 100%;
    padding-left: 0;
  }
  .section-message-thanks .p-message-wrap li .c-text .c-text-01 {
    font-size: 1.4rem;
    margin-bottom: 0.4rem;
  }
  .section-message-thanks .p-message-wrap li .c-text .c-text-02 {
    font-size: 1.7rem;
    margin-bottom: 0.6rem;
  }
  .section-message-thanks .p-message-wrap li .c-text .mb {
    margin-bottom: 0.6rem;
  }
  .section-message-thanks .p-message-wrap li .c-text .c-message-text {
    font-size: 1.3rem;
    line-height: 1.8;
  }
}
@media screen and (max-width: 767px) {
  .section-message-thanks .p-message-wrap li .c-image {
    height: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .section-message-thanks .p-message-wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .section-message-thanks .p-message-wrap li {
    width: 48%;
  }
}
@media screen and (max-width: 767px) {
  .section-message-thanks .p-message-wrap {
    display: block;
  }
  .section-message-thanks .p-message-wrap li {
    width: 100%;
  }
}

/* HISTORY
/* .section-history
------------------------------------------------------------*/
.section-history {
  --text-block-w: 50%;
  --image-block-w: 40%;
  background-color: var(--color-10th-bg);
  padding: 0 0 20vh;
  position: relative;
  margin-top: 25%;
}
@media screen and (max-width: 767px) {
  .section-history {
    padding: 0 0 20vh;
  }
}
.section-history .p-sticky-wrap {
  height: 240vh;
  background: linear-gradient(180deg, var(--color-blue) 0%, var(--color-blue) 99%, transparent 99%, transparent 100%);
}
.section-history .p-sticky-wrap .p-sticky-circle {
  height: 100vh;
  width: 100vw;
  position: sticky;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0%;
  overflow: hidden;
}
.section-history .p-sticky-wrap .p-sticky-circle span.c-sticky-circle {
  display: block;
  background-color: var(--color-10th-bg);
  width: 3000px;
  height: 3000px;
  border-radius: 50%;
  transform: scale(0, 0);
  z-index: 0;
  position: absolute;
  transform-origin: center center;
}
@media screen and (min-width: 1920px) {
  .section-history .p-sticky-wrap .p-sticky-circle span.c-sticky-circle {
    width: 2500px;
    height: 2500px;
  }
}
@media screen and (min-width: 2000px) {
  .section-history .p-sticky-wrap .p-sticky-circle span.c-sticky-circle {
    width: 3400px;
    height: 3400px;
  }
}
@media screen and (max-width: 1920px) {
  .section-history .p-sticky-wrap .p-sticky-circle span.c-sticky-circle {
    width: 2500px;
    height: 2500px;
  }
}
@media screen and (max-width: 1500px) {
  .section-history .p-sticky-wrap .p-sticky-circle span.c-sticky-circle {
    width: 2000px;
    height: 2000px;
  }
}
@media screen and (max-width: 1000px) {
  .section-history .p-sticky-wrap .p-sticky-circle span.c-sticky-circle {
    width: 1700px;
    height: 1700px;
  }
}
.section-history .p-sticky-wrap .c-sticky-illust {
  position: sticky;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 50%;
  z-index: 1;
  width: 35vw;
  top: 50%;
  transform: translateY(-50%);
  margin: auto;
}
@media screen and (max-width: 767px) {
  .section-history .p-sticky-wrap .c-sticky-illust {
    width: 55vw;
    transform: translateY(-35%);
  }
}
.section-history .p-sticky-wrap .c-sticky-illust img {
  width: 100%;
  animation: wobbling_y 0.7s ease-in-out infinite alternate;
  position: relative;
  z-index: 1;
}
.section-history h2.c-section-title {
  text-align: center;
  font-size: 10rem;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 10rem;
}
.section-history h2.c-section-title span {
  display: block;
  margin: 1.2rem auto 0;
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .section-history h2.c-section-title {
    font-size: 6.5rem;
    margin-bottom: 3rem;
  }
  .section-history h2.c-section-title span {
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: 500;
  }
}
.section-history .content-history {
  z-index: 1;
  position: relative;
}
.section-history .content-history .p-history-block {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.section-history .content-history .p-history-block .p-image-fixed {
  width: var(--image-block-w);
  position: sticky;
  display: flex;
  align-items: center;
  top: 50%;
}
@media screen and (max-width: 767px) {
  .section-history .content-history .p-history-block .p-image-fixed {
    display: none;
  }
}
.section-history .content-history .p-history-block .p-image-fixed .p-image-block {
  width: 100%;
  position: absolute;
}
.section-history .content-history .p-history-block .p-image-fixed .c-image-inner {
  display: flex;
  justify-content: flex-end;
  background: var(--color-blue);
  border-radius: 0 1000px 1000px 0;
  width: 100%;
}
.section-history .content-history .p-history-block .p-image-fixed .c-image-inner .c-image {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 30vw;
  border-radius: 0 14px 14px 0;
}
.section-history .content-history .p-history-block .p-image-fixed .c-image-inner .c-image img {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.section-history .content-history .p-history-block .p-image-fixed .c-image-inner .c-image img:first-child {
  top: 0;
  opacity: 1;
}
.section-history .content-history .p-history-block .p-history-wrap {
  position: relative;
  width: var(--text-block-w);
  margin-top: 14rem;
  padding-right: var(--section-margin);
}
@media screen and (max-width: 767px) {
  .section-history .content-history .p-history-block .p-history-wrap {
    margin-top: 4rem;
    width: 100%;
    padding-right: 0;
    padding-left: 40px !important;
  }
}
.section-history .content-history .p-history-block .p-history-wrap .p-history-item {
  width: 100%;
  position: relative;
  padding-bottom: 40vh;
}
@media screen and (max-width: 767px) {
  .section-history .content-history .p-history-block .p-history-wrap .p-history-item {
    padding-bottom: 20vh;
  }
}
.section-history .content-history .p-history-block .p-history-wrap .p-history-item:last-child {
  padding-bottom: 0;
}
.section-history .content-history .p-history-block .p-history-wrap .p-history-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 3px;
  height: 100%;
  background: var(--color-pblue);
  z-index: -1;
}
.section-history .content-history .p-history-block .p-history-wrap .p-history-item:last-child::before {
  display: none;
}
.section-history .content-history .p-history-block .p-history-wrap .p-history-item h3 {
  font-size: 7.5rem;
  font-weight: 400;
}
.section-history .content-history .p-history-block .p-history-wrap .p-history-item h3 span {
  position: relative;
}
.section-history .content-history .p-history-block .p-history-wrap .p-history-item h3 span::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 9.3rem;
  height: 9.3rem;
  border-radius: 50%;
  background: var(--color-text-white);
  z-index: -1;
  transition: background 0.3s ease;
  transform: translate(-39%, -20%);
}
.section-history .content-history .p-history-block .p-history-wrap .p-history-item h3 span.active::after {
  transition: background 0.3s ease;
  background: var(--color-lblue);
}
@media screen and (max-width: 767px) {
  .section-history .content-history .p-history-block .p-history-wrap .p-history-item h3 {
    font-size: 5.5rem;
  }
  .section-history .content-history .p-history-block .p-history-wrap .p-history-item h3 span::after {
    width: 6.3rem;
    height: 6.3rem;
  }
}
.section-history .content-history .p-history-block .p-history-wrap .p-history-item .p-history-content {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 40px;
  padding-left: 6vw;
}
@media screen and (max-width: 767px) {
  .section-history .content-history .p-history-block .p-history-wrap .p-history-item .p-history-content {
    padding-top: 6px;
    display: block;
  }
}
.section-history .content-history .p-history-block .p-history-wrap .p-history-item .p-history-content .c-sp-image {
  width: var(--image-block-w);
  justify-content: flex-end;
  background: var(--color-blue);
  border-radius: 0 1000px 1000px 0;
  display: none;
}
@media screen and (max-width: 767px) {
  .section-history .content-history .p-history-block .p-history-wrap .p-history-item .p-history-content .c-sp-image {
    width: 100%;
    border-radius: 1000px 0 0 1000px;
    display: block;
  }
}
.section-history
  .content-history
  .p-history-block
  .p-history-wrap
  .p-history-item
  .p-history-content
  .c-sp-image
  .c-image-inner {
  width: 35vw;
  height: 35vw;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
}
.section-history
  .content-history
  .p-history-block
  .p-history-wrap
  .p-history-item
  .p-history-content
  .c-sp-image
  .c-image-inner
  img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .section-history
    .content-history
    .p-history-block
    .p-history-wrap
    .p-history-item
    .p-history-content
    .c-sp-image
    .c-image-inner {
    width: 90%;
    height: 56vw;
    border-radius: 14px;
    margin-bottom: 2rem;
  }
}
.section-history .content-history .p-history-block .p-history-wrap .p-history-item .p-history-content .c-text {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .section-history .content-history .p-history-block .p-history-wrap .p-history-item .p-history-content .c-text {
    padding-right: var(--section-spMargin);
  }
}
.section-history .content-history .p-history-block .p-history-wrap .p-history-item .p-history-content .c-text h4 {
  font-size: 2.1rem;
  font-weight: 500;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .section-history .content-history .p-history-block .p-history-wrap .p-history-item .p-history-content .c-text h4 {
    margin-bottom: 1rem;
    font-size: 1.9rem;
  }
}
.section-history .content-history .p-history-block .p-history-wrap .p-history-item .p-history-content .c-text p {
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .section-history .content-history .p-history-block .p-history-wrap .p-history-item .p-history-content .c-text p {
    font-size: 1.5rem;
  }
}

/* 10TH CONTENTS
/* .section-history
------------------------------------------------------------*/
.section-10thcontents {
  position: relative;
  z-index: 1;
}
.section-10thcontents .c-sticky-illust {
  position: sticky;
  height: 100vh;
  height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  z-index: 0;
  width: 30vw;
  margin: auto;
}
.section-10thcontents .c-sticky-illust img {
  width: 100%;
  animation: wobbling_y 0.7s ease-in-out infinite alternate;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .section-10thcontents .c-sticky-illust {
    width: 60vw;
    height: 70vw;
    position: static;
  }
  .section-10thcontents .c-sticky-illust img {
    animation: none;
  }
}
.section-10thcontents .c-10thcontents-bg {
  width: 100%;
  height: 90%;
  border-radius: 9999px 9999px 0 0;
  position: absolute;
  left: 0;
  top: 10%;
  background-color: var(--color-blue);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .section-10thcontents .c-10thcontents-bg {
    top: 5%;
    height: 110%;
  }
}
.section-10thcontents h2.c-section-title {
  text-align: center;
  font-size: 10rem;
  font-weight: 400;
  line-height: 1;
  color: var(--color-10th-bg);
  position: relative;
  z-index: 2;
}
.section-10thcontents h2.c-section-title span {
  display: block;
  margin: 1.2rem auto 0;
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .section-10thcontents h2.c-section-title {
    font-size: 6.5rem;
    margin-bottom: 3rem;
  }
  .section-10thcontents h2.c-section-title span {
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: 500;
  }
}
.section-10thcontents .side-scroll-list-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100vh;
  z-index: -1;
  overflow: hidden;
}
.section-10thcontents .side-scroll-list-wrapper .scrub-text-10thcontent {
  width: 100%;
  position: relative;
  overflow: hidden;
  height: 26rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
}
.section-10thcontents .side-scroll-list-wrapper .scrub-text-10thcontent p {
  color: var(--color-text-white);
  position: absolute;
  white-space: nowrap;
  display: flex;
  justify-content: flex-start;
  font-weight: 400;
  opacity: 0.1;
  font-size: 22rem;
  letter-spacing: -1.5rem;
  will-change: transform;
}
.section-10thcontents .side-scroll-list-wrapper .scrub-text-10thcontent p span {
  line-height: 1;
  display: inline-block;
  padding-right: 10rem;
}
@media screen and (max-width: 767px) {
  .section-10thcontents .side-scroll-list-wrapper .scrub-text-10thcontent p {
    font-size: 16rem;
    letter-spacing: -0.6rem;
  }
}
.section-10thcontents .side-scroll-list-wrapper .side-scroll-list {
  display: flex;
  gap: 0 14rem;
  padding-left: var(--section-margin);
  padding-right: var(--section-margin);
}
@media screen and (max-width: 1024px) {
  .section-10thcontents .side-scroll-list-wrapper .side-scroll-list {
    gap: 0 6rem;
  }
}
@media screen and (max-width: 767px) {
  .section-10thcontents .side-scroll-list-wrapper .side-scroll-list {
    gap: 0 3rem;
  }
}
.section-10thcontents .side-scroll-list-wrapper .side-scroll-list .side-scroll-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 830px;
}
.section-10thcontents .side-scroll-list-wrapper .side-scroll-list .side-scroll-item .c-10thContent-item {
  width: 100%;
  background-color: var(--color-lblue);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 2rem 2rem 4rem;
  border-radius: 20px 500px 500px 20px;
}
.section-10thcontents .side-scroll-list-wrapper .side-scroll-list .side-scroll-item .c-10thContent-item .mySwiper {
  width: 100%;
  height: 100%;
  top: 0;
  position: absolute;
  -o-object-fit: cover;
  object-fit: cover;
}
.section-10thcontents
  .side-scroll-list-wrapper
  .side-scroll-list
  .side-scroll-item
  .c-10thContent-item
  .mySwiper
  .swiper-pagination {
  text-align: left;
  padding-left: 20px;
}
@media screen and (max-width: 767px) {
  .section-10thcontents
    .side-scroll-list-wrapper
    .side-scroll-list
    .side-scroll-item
    .c-10thContent-item
    .mySwiper
    .swiper-pagination {
    padding-left: 10px;
    top: 0;
    bottom: auto;
  }
}
.section-10thcontents
  .side-scroll-list-wrapper
  .side-scroll-list
  .side-scroll-item
  .c-10thContent-item
  .mySwiper
  .swiper-pagination
  .swiper-pagination-bullet {
  background: var(--color-10th-bg);
  opacity: 1;
  width: 10px;
  height: 10px;
}
.section-10thcontents
  .side-scroll-list-wrapper
  .side-scroll-list
  .side-scroll-item
  .c-10thContent-item
  .mySwiper
  .swiper-pagination
  .swiper-pagination-bullet-active {
  background-color: var(--color-blue);
}
.section-10thcontents .side-scroll-list-wrapper .side-scroll-list .side-scroll-item .c-10thContent-item .c-text {
  width: 45%;
  color: var(--color-10th-bg);
  padding-right: 3.4rem;
}
.section-10thcontents .side-scroll-list-wrapper .side-scroll-list .side-scroll-item .c-10thContent-item .c-text h3 {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 2rem;
}
.section-10thcontents .side-scroll-list-wrapper .side-scroll-list .side-scroll-item .c-10thContent-item .c-text p {
  font-size: 1.5rem;
  margin-bottom: 3rem;
  line-height: 1.8;
  word-break: break-all;
}
.section-10thcontents
  .side-scroll-list-wrapper
  .side-scroll-list
  .side-scroll-item
  .c-10thContent-item
  .c-text
  .c-button {
  background: var(--color-10th-bg);
  display: inline-block;
  color: var(--color-text-black);
  font-size: 1.5rem;
  padding: 20px 94px 20px 18px;
  border-radius: 10px 60px 60px 10px;
}
.section-10thcontents .side-scroll-list-wrapper .side-scroll-list .side-scroll-item .c-10thContent-item .c-image {
  --thumbnail-size: 55%;
  width: var(--thumbnail-size);
  height: 0;
  padding-top: var(--thumbnail-size);
  position: relative;
  border-radius: 20px 500px 500px 20px;
  overflow: hidden;
  z-index: 1;
}
.section-10thcontents .side-scroll-list-wrapper .side-scroll-list .side-scroll-item .c-10thContent-item .c-image img {
  width: 100%;
  height: 100%;
  top: 0;
  position: absolute;
  -o-object-fit: cover;
  object-fit: cover;
}
.section-10thcontents
  .side-scroll-list-wrapper
  .side-scroll-list
  .side-scroll-item
  .c-10thContent-item
  .c-image
  .c-label {
  font-size: 1.4rem;
  background-color: var(--color-10th-bg);
  padding: 3px 8px;
  position: absolute;
  left: 10px;
  top: 10px;
  z-index: 2;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .section-10thcontents
    .side-scroll-list-wrapper
    .side-scroll-list
    .side-scroll-item
    .c-10thContent-item
    .c-image
    .c-label {
    left: auto;
    right: 10px;
  }
}
@media screen and (max-width: 1024px) {
  .section-10thcontents .side-scroll-list-wrapper .side-scroll-list .side-scroll-item {
    width: 45vw;
  }
  .section-10thcontents .side-scroll-list-wrapper .side-scroll-list .side-scroll-item .c-10thContent-item {
    padding: 2rem;
    border-radius: 20px 20px 500px 500px;
    display: block;
  }
  .section-10thcontents .side-scroll-list-wrapper .side-scroll-list .side-scroll-item .c-10thContent-item .c-text {
    width: 100%;
    padding-right: 0;
    margin-bottom: 3rem;
  }
  .section-10thcontents .side-scroll-list-wrapper .side-scroll-list .side-scroll-item .c-10thContent-item .c-text h3 {
    margin-bottom: 1rem;
    font-size: 1.8rem;
  }
  .section-10thcontents .side-scroll-list-wrapper .side-scroll-list .side-scroll-item .c-10thContent-item .c-text p {
    line-height: 1.5;
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
  }
  .section-10thcontents
    .side-scroll-list-wrapper
    .side-scroll-list
    .side-scroll-item
    .c-10thContent-item
    .c-text
    .c-button {
    padding: 14px 94px 14px 18px;
  }
  .section-10thcontents .side-scroll-list-wrapper .side-scroll-list .side-scroll-item .c-10thContent-item .c-image {
    overflow: hidden;
    width: 100%;
    padding-top: 90%;
    border-radius: 20px 20px 500px 500px;
  }
}
@media screen and (max-width: 767px) {
  .section-10thcontents .side-scroll-list-wrapper .side-scroll-list .side-scroll-item {
    width: 75vw;
  }
}

/* SUSTAINABILITY
/* .section-sustainability
------------------------------------------------------------*/
.c-interval-sustainability {
  width: 100%;
  height: 30vh;
  display: block;
  background-color: var(--color-10th-bg);
}

.section-sustainability {
  position: relative;
  z-index: 1;
  background: url('../img/img-h-circle-bottom-gr.svg') center bottom no-repeat;
  background-size: contain;
  padding-bottom: 50vw;
  margin-top: -15%;
}
@media screen and (max-width: 767px) {
  .section-sustainability {
    margin-top: 0;
  }
}
.section-sustainability .c-sticky-illust {
  position: sticky;
  height: 100vh;
  height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  z-index: 0;
  width: 30vw;
  margin: auto;
}
.section-sustainability .c-sticky-illust img {
  width: 100%;
  animation: wobbling_y 0.7s ease-in-out infinite alternate;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .section-sustainability .c-sticky-illust {
    width: 60vw;
    height: 70vw;
    position: static;
  }
  .section-sustainability .c-sticky-illust img {
    animation: none;
  }
}
.section-sustainability .c-sustainability-bg {
  width: 100%;
  height: 140%;
  border-radius: 9999px 9999px 0 0;
  position: absolute;
  left: 0;
  top: -2%;
  background-color: var(--color-green);
  z-index: -1;
}
.section-sustainability .p-section-inner {
  position: relative;
  padding-top: 20vh;
}
@media screen and (max-width: 767px) {
  .section-sustainability .p-section-inner {
    padding-top: 10vh;
  }
}
.section-sustainability .p-section-inner .p-text-block {
  display: block;
  padding: 0 var(--section-margin);
  background: linear-gradient(180deg, transparent 0%, transparent 40%, var(--color-green) 40%, var(--color-green) 100%);
}
@media screen and (max-width: 767px) {
  .section-sustainability .p-section-inner .p-text-block {
    display: block;
    padding-bottom: 3rem !important;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .section-sustainability .p-section-inner .p-text-block {
    padding: 0 var(--section-spMargin);
  }
}
.section-sustainability .p-section-inner .p-text-block .p-text-block-inner {
  max-width: 1280px;
  margin: auto;
}
.section-sustainability .p-section-inner .p-text-block h2.c-section-title {
  text-align: left;
  font-size: 10rem;
  font-weight: 400;
  line-height: 1;
  color: var(--color-10th-bg);
  position: relative;
  z-index: 2;
  margin-bottom: 3rem;
}
.section-sustainability .p-section-inner .p-text-block h2.c-section-title span {
  display: block;
  margin: 1.2rem auto 0;
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .section-sustainability .p-section-inner .p-text-block h2.c-section-title {
    text-align: center;
    width: 100%;
    font-size: 4rem;
    margin-bottom: 3rem;
  }
  .section-sustainability .p-section-inner .p-text-block h2.c-section-title span {
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: 500;
  }
}
.section-sustainability .p-section-inner .p-text-block .c-text {
  color: var(--color-text-white);
  text-align: center;
  padding-bottom: 6rem;
}
.section-sustainability .p-section-inner .p-text-block .c-text p {
  font-size: 1.8rem;
  margin-bottom: 2rem;
  text-align: left;
  line-height: 2.4;
}
@media screen and (max-width: 767px) {
  .section-sustainability .p-section-inner .p-text-block .c-text p {
    margin-bottom: 0.5rem;
    line-height: 2;
    font-size: 1.5rem;
  }
}
.section-sustainability .p-section-inner .p-text-block .c-text p.date {
  font-size: 1.4rem;
  margin-bottom: 0;
}
.section-sustainability .p-section-inner .p-text-block .c-text p.name {
  font-size: 2.2rem;
  line-height: 1.5;
}
.section-sustainability .p-section-inner .p-text-block .c-text p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .section-sustainability .p-section-inner .p-text-block .c-text {
    width: 100%;
    padding-bottom: 1rem;
  }
}
.section-sustainability .p-section-inner .p-sustainability-block {
  padding: 0 var(--section-margin);
  background-color: var(--color-green);
}
@media screen and (max-width: 1024px) {
  .section-sustainability .p-section-inner .p-sustainability-block {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .section-sustainability .p-section-inner .p-sustainability-block {
    padding: 0;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .section-sustainability .p-section-inner .p-sustainability-block {
    padding: 0 var(--section-spMargin);
  }
}
.section-sustainability .p-section-inner .p-sustainability-block li {
  margin-bottom: 4rem;
}
.section-sustainability .p-section-inner .p-sustainability-block li:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 1024px) {
  .section-sustainability .p-section-inner .p-sustainability-block li {
    width: 48%;
  }
}
@media screen and (max-width: 767px) {
  .section-sustainability .p-section-inner .p-sustainability-block li {
    width: 100%;
  }
}
.section-sustainability .p-section-inner .p-sustainability-block .p-sustainability-item {
  background-color: var(--color-lgreen);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4rem;
  border-radius: 20px 500px 500px 20px;
}
@media screen and (max-width: 1024px) {
  .section-sustainability .p-section-inner .p-sustainability-block .p-sustainability-item {
    padding: 2rem 2rem 2.4rem;
    border-radius: 10px;
    display: block;
  }
}
.section-sustainability .p-section-inner .p-sustainability-block .p-sustainability-item .c-text {
  width: 55%;
  color: var(--color-10th-bg);
  padding-left: 3.4rem;
  padding-right: 7rem;
}
@media screen and (max-width: 1024px) {
  .section-sustainability .p-section-inner .p-sustainability-block .p-sustainability-item .c-text {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}
.section-sustainability .p-section-inner .p-sustainability-block .p-sustainability-item .c-text .c-date {
  font-size: 1.3rem;
  margin-bottom: 0.2rem;
}
.section-sustainability .p-section-inner .p-sustainability-block .p-sustainability-item .c-text h3 {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 2rem;
}
@media screen and (max-width: 1024px) {
  .section-sustainability .p-section-inner .p-sustainability-block .p-sustainability-item .c-text h3 {
    font-size: 2rem;
    margin-bottom: 0.5rem;
  }
}
.section-sustainability .p-section-inner .p-sustainability-block .p-sustainability-item .c-text p {
  font-size: 1.5rem;
  margin-bottom: 3rem;
  line-height: 2;
}
@media screen and (max-width: 1024px) {
  .section-sustainability .p-section-inner .p-sustainability-block .p-sustainability-item .c-text p {
    text-align: left;
    margin-bottom: 2rem;
    font-size: 1.4rem;
  }
}
.section-sustainability .p-section-inner .p-sustainability-block .p-sustainability-item .c-text .c-button {
  background: var(--color-10th-bg);
  display: inline-block;
  color: var(--color-text-black);
  font-size: 1.5rem;
  padding: 20px 94px 20px 18px;
  border-radius: 10px 60px 60px 10px;
}
.section-sustainability .p-section-inner .p-sustainability-block .p-sustainability-item .c-text .c-button .c-button {
  padding: 14px 94px 14px 18px;
}
@media screen and (max-width: 1024px) {
  .section-sustainability .p-section-inner .p-sustainability-block .p-sustainability-item .c-text {
    width: 100%;
    height: 75%;
  }
}
.section-sustainability .p-section-inner .p-sustainability-block .p-sustainability-item .c-image {
  --thumbnail-size: 45%;
  width: var(--thumbnail-size);
  height: 0;
  padding-top: calc(var(--thumbnail-size) / 16 * 9);
  position: relative;
  border-radius: 8px;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .section-sustainability .p-section-inner .p-sustainability-block .p-sustainability-item .c-image {
    --thumbnail-size: 100%;
    margin-bottom: 1rem;
  }
}
.section-sustainability .p-section-inner .p-sustainability-block .p-sustainability-item .c-image img {
  width: 100%;
  height: 100%;
  top: 0;
  position: absolute;
  -o-object-fit: cover;
  object-fit: cover;
}

/* PHOTO
/* .section-photo
------------------------------------------------------------*/
.section-photo {
  margin-top: -20vh;
  margin-bottom: 80vh;
}
.section-photo .slider-automove .swiper-wrapper {
  transition-timing-function: linear;
  pointer-events: none;
  height: auto !important;
}
.section-photo .slider-automove .swiper-wrapper .swiper-slide {
  width: 40vw;
  background: var(--color-lblue);
  padding: 0.9rem;
  overflow: hidden;
  height: auto !important;
  border-radius: 8px;
  margin-right: 8rem;
}
@media screen and (max-width: 767px) {
  .section-photo .slider-automove .swiper-wrapper .swiper-slide {
    width: 80vw;
    padding: 0.5rem;
    margin-right: 3rem;
  }
}
.section-photo .slider-automove .swiper-wrapper .swiper-slide img {
  width: 100%;
  border-radius: 6px;
}
.section-photo.photo-area {
  padding: 0 var(--section-margin);
}
.section-photo .c-photo-left {
  border: 4px solid var(--color-lblue);
  --w-photo-left: 64vw;
  position: relative;
  width: var(--w-photo-left);
  height: 0;
  padding-top: calc(var(--w-photo-left) * 0.65);
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .section-photo .c-photo-left {
    --w-photo-left: 80vw;
  }
}
.section-photo .c-photo-left img {
  width: 100%;
  height: 100%;
  bottom: 0;
  position: absolute;
  -o-object-fit: cover;
  object-fit: cover;
}
.section-photo .c-photo-right {
  border: 4px solid var(--color-lblue);
  --w-photo-right: 40vw;
  position: relative;
  width: var(--w-photo-right);
  height: 0;
  padding-top: calc(var(--w-photo-right) * 0.65);
  margin-left: auto;
  border-radius: 10px;
  overflow: hidden;
  margin-top: -2%;
}
@media screen and (max-width: 767px) {
  .section-photo .c-photo-right {
    --w-photo-right: 76vw;
  }
}
.section-photo .c-photo-right img {
  width: 100%;
  height: 100%;
  bottom: 0;
  position: absolute;
  -o-object-fit: cover;
  object-fit: cover;
}

/* SHARE
/* .section-share
------------------------------------------------------------*/
.section-share h2.c-section-title {
  text-align: center;
  font-size: 10rem;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 6vw;
  color: var(--color-text-black);
  position: sticky;
  bottom: 0;
}
.section-share h2.c-section-title span {
  display: block;
  margin: 1.2rem auto 0;
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .section-share h2.c-section-title {
    font-size: 6.5rem;
    margin-bottom: 3rem;
  }
  .section-share h2.c-section-title span {
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: 500;
  }
}
.section-share .scrub-text-share {
  width: 100%;
  position: relative;
  overflow: hidden;
  height: 26rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  position: sticky;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .section-share .scrub-text-share {
    height: 10rem;
  }
}
.section-share .scrub-text-share p {
  color: var(--color-lblue);
  opacity: 0.15;
  position: absolute;
  white-space: nowrap;
  display: flex;
  justify-content: flex-start;
  font-weight: 400;
  font-size: 22rem;
  letter-spacing: -1.5rem;
  will-change: transform;
}
.section-share .scrub-text-share p span {
  line-height: 1;
  display: inline-block;
  padding-right: 10rem;
}
@media screen and (max-width: 767px) {
  .section-share .scrub-text-share p {
    font-size: 10rem;
    letter-spacing: -0.6rem;
  }
}
.section-share .p-sticky-sns {
  position: relative;
}
.section-share .p-sticky-sns .c-sns-item {
  position: sticky;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 100vh;
}
.section-share .p-sticky-sns .c-sns-item .c-card {
  border-radius: 10px;
  height: 50vh;
  width: 35vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .section-share .p-sticky-sns .c-sns-item .c-card {
    margin: 0 auto 16px;
    height: 60vh;
  }
}
.section-share .p-sticky-sns .c-sns-item .c-card .c-image {
  width: 66%;
  margin: 0 auto;
}
.section-share .p-sticky-sns .c-sns-item .c-card .c-image img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .section-share .p-sticky-sns .c-sns-item .c-card .c-image {
    margin: 0 auto 10px;
  }
}
.section-share .p-sticky-sns .c-sns-item .c-card.twitter {
  background-color: var(--color-lblue);
  transform: rotate(9deg);
}
.section-share .p-sticky-sns .c-sns-item .c-card.line {
  background-color: var(--color-green);
  transform: rotate(-9deg);
}
.section-share .p-sticky-sns .c-sns-item .c-card.line .c-image {
  margin-bottom: 1rem;
}
.section-share .p-sticky-sns .c-sns-item .c-card.copy {
  background-color: var(--color-red);
}
.section-share .p-sticky-sns .c-sns-item .c-card p {
  text-align: center;
  color: var(--color-text-white);
  font-size: 2.2rem;
  margin-bottom: 1rem;
  line-height: 1.3;
}
.section-share .p-sticky-sns .c-sns-item .c-card i {
  display: block;
  margin: 10px auto;
  width: 46px;
}
.section-share .p-sticky-sns .c-sns-item .twitter i {
  width: 64px;
  height: 64px;
  background-color: #000;
  border-radius: 32px;
  padding: 16px;
}
.section-share .p-sticky-sns .c-sns-item .c-card i img {
  width: 100%;
}
.section-share .p-sticky-sns .c-sns-item:nth-child(1) {
  z-index: 6;
}
.section-share .p-sticky-sns .c-sns-item:nth-child(2) {
  z-index: 5;
}
.section-share .p-sticky-sns .c-sns-item:nth-child(3) {
  z-index: 4;
}
.section-share .p-sticky-sns .c-sns-item:nth-child(4) {
  z-index: 3;
}
.section-share .p-sticky-sns .c-sns-item:nth-child(5) {
  z-index: 2;
}
.section-share .p-sticky-sns .c-sns-item:nth-child(6) {
  z-index: 1;
}

/*
     FILE ARCHIVED ON 13:13:35 Apr 10, 2024 AND RETRIEVED FROM THE
     INTERNET ARCHIVE ON 11:49:59 Aug 01, 2026.
     JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.

     ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
     SECTION 108(a)(3)).
*/
/*
playback timings (ms):
  capture_cache.get: 2.024
  load_resource: 169.15
  PetaboxLoader3.resolve: 119.712
  PetaboxLoader3.datanode: 42.746
*/