@charset "UTF-8";
/* ==========================================================================
   Foundation (ベース設定・リセット)
   ========================================================================== */
:where([hidden]:not([hidden=until-found])) {
  display: none !important;
}

:where(body) {
  line-height: 1;
  font-optical-sizing: auto;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  font-size: 10px;
}

:where(button) {
  all: unset;
}

:where(input, button, textarea, select, optgroup, option) {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
}

:where(textarea) {
  resize: vertical;
}

:where(fieldset, legend) {
  margin: 0;
  padding: 0;
  min-width: 0;
}

:where([type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button) {
  height: auto;
}

:where([type=search]) {
  outline-offset: -2px;
}

:where([type=search]::-webkit-search-decoration) {
  -webkit-appearance: none;
}

:where(::-webkit-file-upload-button) {
  -webkit-appearance: button;
  font: inherit;
}

:where([type=number]) {
  -moz-appearance: textfield;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer;
}

:where(:disabled) {
  cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

:where(a) {
  background-color: transparent;
  -webkit-text-decoration: none;
  text-decoration: none;
  color: inherit;
}

:where(ul, ol) {
  list-style: none;
  padding: 0;
  padding: initial;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg, video) {
  max-width: 100%;
  height: auto;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  word-wrap: break-word;
}

:where(i, em, strong, address, small, b, input) {
  font-style: inherit;
  font-weight: inherit;
  font-size: inherit;
}

:where(dd) {
  margin-left: 0;
}

:where(hr) {
  border: none;
  border-top: 1px solid;
  color: inherit;
  height: 0;
  overflow: visible;
}

:where(dialog) {
  border: none;
  background: none;
  top: auto;
  top: initial;
  right: auto;
  right: initial;
  bottom: auto;
  bottom: initial;
  left: auto;
  left: initial;
  max-width: none;
  max-width: initial;
  max-height: none;
  max-height: initial;
}

:where(dialog:not([open])) {
  display: none !important;
}

:where(:focus-visible, :target) {
  scroll-margin-block: 8vh;
}

:where(.visually-hidden:not(:focus-within):not(:active)) {
  clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}

:where(table) {
  border-color: inherit;
  border-collapse: collapse;
}

:where(caption) {
  text-align: left;
}

:where(td, th) {
  vertical-align: top;
  padding: 0;
}

:where(th) {
  text-align: left;
  font-weight: bold;
}

:where(*, *::before, *::after) {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  touch-action: manipulation;
}

:where(:link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]),
:where(:visited,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
  cursor: pointer;
}

:where(:-moz-any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
  cursor: pointer;
}

:where(:any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
  cursor: pointer;
}

:where(a, button) {
  outline: none;
}

/**
 * Swiper 12.1.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: January 28, 2026
 */
:root {
  --swiper-theme-color: #007aff;
  /*
   --swiper-preloader-color: var(--swiper-theme-color);
   --swiper-wrapper-transition-timing-function: initial;
   */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  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: ease;
  transition-timing-function: initial;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

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

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

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

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

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

/* Auto Height */
.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;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

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

.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-left: var(--swiper-slides-offset-before);
  scroll-margin-inline-start: var(--swiper-slides-offset-before);
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper > .swiper-slide:last-child {
  margin-right: var(--swiper-slides-offset-after);
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-top: var(--swiper-slides-offset-before);
  scroll-margin-block-start: var(--swiper-slides-offset-before);
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper > .swiper-slide:last-child {
  margin-bottom: var(--swiper-slides-offset-after);
}
.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-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-left: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-top: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  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-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 #007aff;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .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);
  }
}
/* Slide styles end */
.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-navigation-top-offset: 50%;
   --swiper-navigation-sides-offset: 4px;
   --swiper-navigation-color: var(--swiper-theme-color);
   */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  width: 44px;
  width: var(--swiper-navigation-size);
  height: 44px;
  height: var(--swiper-navigation-size);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #007aff;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}
.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}
.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}
.swiper-button-prev svg,
.swiper-button-next svg {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transform-origin: center;
  fill: currentColor;
  pointer-events: none;
}

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

.swiper-button-prev,
.swiper-button-next {
  top: 50%;
  top: var(--swiper-navigation-top-offset, 50%);
  margin-top: calc(0px - 44px / 2);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
}

.swiper-button-prev {
  left: 4px;
  left: var(--swiper-navigation-sides-offset, 4px);
  right: auto;
}
.swiper-button-prev .swiper-navigation-icon {
  transform: rotate(180deg);
}

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

.swiper-horizontal .swiper-button-prev,
.swiper-horizontal .swiper-button-next,
.swiper-horizontal ~ .swiper-button-prev,
.swiper-horizontal ~ .swiper-button-next {
  top: 50%;
  top: var(--swiper-navigation-top-offset, 50%);
  margin-top: calc(0px - 44px / 2);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  margin-left: 0;
}
.swiper-horizontal .swiper-button-prev, .swiper-horizontal ~ .swiper-button-prev, .swiper-horizontal.swiper-rtl .swiper-button-next, .swiper-horizontal.swiper-rtl ~ .swiper-button-next {
  left: 4px;
  left: var(--swiper-navigation-sides-offset, 4px);
  right: auto;
}
.swiper-horizontal .swiper-button-next, .swiper-horizontal ~ .swiper-button-next, .swiper-horizontal.swiper-rtl .swiper-button-prev, .swiper-horizontal.swiper-rtl ~ .swiper-button-prev {
  right: 4px;
  right: var(--swiper-navigation-sides-offset, 4px);
  left: auto;
}
.swiper-horizontal .swiper-button-prev .swiper-navigation-icon, .swiper-horizontal ~ .swiper-button-prev .swiper-navigation-icon, .swiper-horizontal.swiper-rtl .swiper-button-next .swiper-navigation-icon, .swiper-horizontal.swiper-rtl ~ .swiper-button-next .swiper-navigation-icon {
  transform: rotate(180deg);
}
.swiper-horizontal.swiper-rtl .swiper-button-prev .swiper-navigation-icon, .swiper-horizontal.swiper-rtl ~ .swiper-button-prev .swiper-navigation-icon {
  transform: rotate(0deg);
}

.swiper-vertical .swiper-button-prev,
.swiper-vertical .swiper-button-next,
.swiper-vertical ~ .swiper-button-prev,
.swiper-vertical ~ .swiper-button-next {
  left: 50%;
  left: var(--swiper-navigation-top-offset, 50%);
  right: auto;
  margin-left: calc(0px - 44px / 2);
  margin-left: calc(0px - var(--swiper-navigation-size) / 2);
  margin-top: 0;
}
.swiper-vertical .swiper-button-prev,
.swiper-vertical ~ .swiper-button-prev {
  top: 4px;
  top: var(--swiper-navigation-sides-offset, 4px);
  bottom: auto;
}
.swiper-vertical .swiper-button-prev .swiper-navigation-icon,
.swiper-vertical ~ .swiper-button-prev .swiper-navigation-icon {
  transform: rotate(-90deg);
}
.swiper-vertical .swiper-button-next,
.swiper-vertical ~ .swiper-button-next {
  bottom: 4px;
  bottom: var(--swiper-navigation-sides-offset, 4px);
  top: auto;
}
.swiper-vertical .swiper-button-next .swiper-navigation-icon,
.swiper-vertical ~ .swiper-button-next .swiper-navigation-icon {
  transform: rotate(90deg);
}

:root {
  /*
   --swiper-pagination-color: var(--swiper-theme-color);
   --swiper-pagination-left: auto;
   --swiper-pagination-right: 8px;
   --swiper-pagination-bottom: 8px;
   --swiper-pagination-top: auto;
   --swiper-pagination-fraction-color: inherit;
   --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
   --swiper-pagination-progressbar-size: 4px;
   --swiper-pagination-bullet-size: 8px;
   --swiper-pagination-bullet-width: 8px;
   --swiper-pagination-bullet-height: 8px;
   --swiper-pagination-bullet-border-radius: 50%;
   --swiper-pagination-bullet-inactive-color: #000;
   --swiper-pagination-bullet-inactive-opacity: 0.2;
   --swiper-pagination-bullet-opacity: 1;
   --swiper-pagination-bullet-horizontal-gap: 4px;
   --swiper-pagination-bullet-vertical-gap: 6px;
   */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms 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;
}

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

/* Bullets */
.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: 8px;
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: 8px;
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: 50%;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: #000;
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: 0.2;
  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: 1;
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: #007aff;
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: 8px;
  right: var(--swiper-pagination-right, 8px);
  left: auto;
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
  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: 200ms transform, 200ms left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

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

/* Progress */
.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  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-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}
.swiper-vertical > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: 4px;
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

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

:root {
  /*
   --swiper-scrollbar-border-radius: 10px;
   --swiper-scrollbar-top: auto;
   --swiper-scrollbar-bottom: 4px;
   --swiper-scrollbar-left: auto;
   --swiper-scrollbar-right: 4px;
   --swiper-scrollbar-sides-offset: 1%;
   --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
   --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
   --swiper-scrollbar-size: 4px;
   */
}

.swiper-scrollbar {
  border-radius: 10px;
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: rgba(0, 0, 0, 0.1);
  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: 1%;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: 4px;
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: auto;
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: 4px;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * 1%);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}
.swiper-vertical > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-vertical {
  position: absolute;
  left: auto;
  left: var(--swiper-scrollbar-left, auto);
  right: 4px;
  right: var(--swiper-scrollbar-right, 4px);
  top: 1%;
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: 4px;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * 1%);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

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

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

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

/* Zoom container styles start */
.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* Zoom container styles end */
.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

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

.swiper-thumbs .swiper-slide-thumb-active {
  /* Styles for active thumb slide */
}

.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 {
  pointer-events: auto;
}
.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper.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-prev {
  pointer-events: auto;
  visibility: visible;
}
.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-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

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

/* Cube slide shadows end */
.swiper.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;
}

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

/* Flip slide shadows end */
.swiper-creative .swiper-slide {
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  backface-visibility: hidden;
  overflow: hidden;
}

@page {
  size: A4 portrait;
  margin: 0mm;
}
:root {
  --leading-trim: calc((1em - 1lh) / 2);
}

:lang(en) {
  --leading-trim: calc((1cap - 1lh) / 2);
}

:root {
  --pcdw: 1500;
  --spdw: 400;
  --bp: 768;
}

html,
body {
  overscroll-behavior-y: none;
}

body {
  font-family: YakuHanJP, "Zen Kaku Gothic New", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 500;
  width: 100%;
  font-size: 10px;
  line-height: 1;
  font-feature-settings: "palt";
  word-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  min-height: 100dvh;
  container-type: inline-size;
}

a[href^="tel:"] {
  pointer-events: none;
}

img,
svg {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  font-style: italic;
}

#loader {
  position: absolute;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: 100lvh;
  display: grid;
  pointer-events: none;
}
#loader .dot {
  width: 101%;
  height: 101%;
  margin-left: -0.5%;
  margin-top: -0.5%;
  background-color: #8ceebb;
  will-change: transform, opacity, border-radius;
}

/* ==========================================================================
   Layouts (共通レイアウト)
   ========================================================================== */
.l_wrap {
  position: relative;
  overflow: clip;
  width: 100cqw;
  container-type: inline-size;
}

.l_header {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  top: min(100cqw * 16 / 1500, 16 * 1px);
  top: min(100cqw * 16 / var(--pcdw), 16 * 1px);
  width: calc(100cqw * 1450 / 1500);
  width: calc(100cqw * 1450 / var(--pcdw));
  height: min(100cqw * 78 / 1500, 78 * 1px);
  height: min(100cqw * 78 / var(--pcdw), 78 * 1px);
  border-radius: min(100cqw * 100 / 1500, 100 * 1px);
  border-radius: min(100cqw * 100 / var(--pcdw), 100 * 1px);
  box-shadow: 0 min(100cqw * 2 / 1500, 2 * 1px) min(100cqw * 8 / 1500, 8 * 1px) 0 rgba(0, 0, 0, 0.08);
  box-shadow: 0 min(100cqw * 2 / var(--pcdw), 2 * 1px) min(100cqw * 8 / var(--pcdw), 8 * 1px) 0 rgba(0, 0, 0, 0.08);
  text-transform: uppercase;
  opacity: 0;
}

.l_header_wrap {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: min(100cqw * 46 / 1500, 46 * 1px);
  padding-right: min(100cqw * 46 / 1500, 46 * 1px);
  padding-left: min(100cqw * 46 / var(--pcdw), 46 * 1px);
  padding-right: min(100cqw * 46 / var(--pcdw), 46 * 1px);
  position: relative;
  z-index: 2;
  background-color: #ffffff;
  border-radius: min(100cqw * 100 / 1500, 100 * 1px);
  border-radius: min(100cqw * 100 / var(--pcdw), 100 * 1px);
}

.l_header_logos {
  display: flex;
  align-items: center;
  -moz-column-gap: min(100cqw * 40 / 1500, 40 * 1px);
       column-gap: min(100cqw * 40 / 1500, 40 * 1px);
  -moz-column-gap: min(100cqw * 40 / var(--pcdw), 40 * 1px);
       column-gap: min(100cqw * 40 / var(--pcdw), 40 * 1px);
}
.l_header_logos > span {
  display: block;
  width: min(100cqw * 0.32 / 1500, 0.32 * 1px);
  width: min(100cqw * 0.32 / var(--pcdw), 0.32 * 1px);
  background-color: #231815;
  opacity: 0.5;
  height: min(100cqw * 46.34 / 1500, 46.34 * 1px);
  height: min(100cqw * 46.34 / var(--pcdw), 46.34 * 1px);
}
.l_header_logos a:nth-child(3) {
  padding-bottom: min(100cqw * 2 / 1500, 2 * 1px);
  padding-bottom: min(100cqw * 2 / var(--pcdw), 2 * 1px);
}
.l_header_logos a {
  transition-property: opacity;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
  opacity: 1;
  will-change: opacity;
}

.l_header_links {
  display: flex;
  align-items: center;
  -moz-column-gap: min(100cqw * 34 / 1500, 34 * 1px);
       column-gap: min(100cqw * 34 / 1500, 34 * 1px);
  -moz-column-gap: min(100cqw * 34 / var(--pcdw), 34 * 1px);
       column-gap: min(100cqw * 34 / var(--pcdw), 34 * 1px);
  font-size: min(100cqw * 16 / 1500, 16 * 1px);
  font-size: min(100cqw * 16 / var(--pcdw), 16 * 1px);
  font-weight: 700;
  color: #000b62;
  letter-spacing: min(100cqw * 1.12 / 1500, 1.12 * 1px);
  letter-spacing: min(100cqw * 1.12 / var(--pcdw), 1.12 * 1px);
}
.l_header_links a {
  transition-property: opacity;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}

.l_header_links_icon {
  display: none;
}

.l_header_sns {
  display: none;
}

.l_header_trigger {
  display: none;
}

.l_header_trigger_icon {
  width: calc(100cqw * 32 / 400);
  width: calc(100cqw * 32 / var(--spdw));
  height: calc(100cqw * 22 / 400);
  height: calc(100cqw * 22 / var(--spdw));
  position: relative;
  border-radius: min(100cqw * 1 / 1500, 1 * 1px);
  border-radius: min(100cqw * 1 / var(--pcdw), 1 * 1px);
}
.l_header_trigger_icon span {
  position: absolute;
  transform-origin: center center;
  width: calc(100cqw * 32 / 400);
  width: calc(100cqw * 32 / var(--spdw));
  height: calc(100cqw * 5 / 400);
  height: calc(100cqw * 5 / var(--spdw));
  transform: translateY(0) rotate(0deg);
  transition: transform 0.2s ease 0s, top 0.2s ease 0.2s;
}
.l_header_trigger_icon span:nth-child(1) {
  top: 0;
  background-color: #85bfff;
  z-index: 2;
}
.l_header_trigger_icon span:nth-child(2) {
  top: calc(100cqw * 10 / 400);
  top: calc(100cqw * 10 / var(--spdw));
  background-color: #a7cc56;
  z-index: 1;
}
.l_header_trigger_icon span:nth-child(3) {
  top: calc(100cqw * 20 / 400);
  top: calc(100cqw * 20 / var(--spdw));
  background-color: #00b2a1;
  z-index: 3;
}

/* 👇 開く時（is-activeが付いた時）の最終状態とアニメーション */
.l_header_trigger.is-active .l_header_trigger_icon span {
  /* 先に top（中央）へ0.2秒で移動し、0.2秒遅れて transform（回転）する */
  transition: top 0.2s ease 0s, transform 0.2s ease 0.2s;
}
.l_header_trigger.is-active .l_header_trigger_icon span:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(30deg);
}
.l_header_trigger.is-active .l_header_trigger_icon span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%) rotate(30deg);
}
.l_header_trigger.is-active .l_header_trigger_icon span:nth-child(3) {
  top: 50%;
  transform: translateY(-50%) rotate(-30deg);
}

.l_header_shadow {
  display: none;
}

@keyframes trigger-top {
  0% {
    top: 0;
    transform: translateY(0) rotate(0);
  }
  50% {
    top: 50%;
    transform: translateY(-50%);
  }
  100% {
    top: 50%;
    transform: translateY(-50%) rotate(30deg);
  }
}
@keyframes trigger-middle {
  0% {
    top: calc(100cqw * 10 / 400);
    top: calc(100cqw * 10 / var(--spdw));
  }
  50% {
    top: 50%;
    transform: translateY(-50%);
  }
  100% {
    top: 50%;
    transform: translateY(-50%) rotate(30deg);
  }
}
@keyframes trigger-bottom {
  0% {
    top: calc(100cqw * 20 / 400);
    top: calc(100cqw * 20 / var(--spdw));
    transform: translateY(0) rotate(0);
  }
  50% {
    top: 50%;
    transform: translateY(-50%);
  }
  100% {
    top: 50%;
    transform: translateY(-50%) rotate(-30deg);
  }
}
.l_footer {
  position: relative;
  padding-top: calc(100cqw * 81 / 1500);
  padding-top: calc(100cqw * 81 / var(--pcdw));
  margin-top: 0;
  padding-bottom: calc(100cqw * 326 / 1500);
  padding-bottom: calc(100cqw * 326 / var(--pcdw));
  z-index: 3;
}
.l_footer::after {
  content: "";
  display: block;
  width: 100%;
  height: 50%;
  background-color: #fff;
  top: 0;
  left: 0;
  position: absolute;
}
.l_footer small {
  color: #000b62;
  display: block;
  text-align: center;
  margin-top: calc(100cqw * 28 / 1500);
  margin-top: calc(100cqw * 28 / var(--pcdw));
  font-size: calc(100cqw * 12 / 1500);
  font-size: calc(100cqw * 12 / var(--pcdw));
  letter-spacing: calc(100cqw * 0.6 / 1500);
  letter-spacing: calc(100cqw * 0.6 / var(--pcdw));
}

.l_footer_wrap {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
}
.l_footer_links {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  margin-top: calc(100cqw * 49 / 1500);
  margin-top: calc(100cqw * 49 / var(--pcdw));
  row-gap: calc(100cqw * 24 / 1500);
  row-gap: calc(100cqw * 24 / var(--pcdw));
}

.l_footer_links_items {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: calc(100cqw * 33 / 1500);
       column-gap: calc(100cqw * 33 / 1500);
  -moz-column-gap: calc(100cqw * 33 / var(--pcdw));
       column-gap: calc(100cqw * 33 / var(--pcdw));
}

.l_footer_wave {
  position: absolute;
  z-index: 2;
  bottom: calc(100cqw * 175 / 1500);
  bottom: calc(100cqw * 175 / var(--pcdw));
  left: 0;
  color: #ffffff;
}

.l_footer_bg {
  position: fixed;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
}

.l_footer_slider {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}
.l_footer_slider .swiper-wrapper {
  transition-timing-function: linear;
}
.l_footer_slider .swiper-slide {
  width: auto;
}

.l_footer_slide_item {
  width: calc(100cqw * 1500 / 1500);
  width: calc(100cqw * 1500 / var(--pcdw));
  height: calc(100cqw * 192 / 1500);
  height: calc(100cqw * 192 / var(--pcdw));
  position: relative;
}

.l_footer_slide_obj {
  position: absolute;
}
.l_footer_slide_obj-1 {
  top: calc(100cqw * 0.88 / 1500);
  top: calc(100cqw * 0.88 / var(--pcdw));
  left: calc(100cqw * 31.5 / 1500);
  left: calc(100cqw * 31.5 / var(--pcdw));
}
.l_footer_slide_obj-2 {
  top: calc(100cqw * 51 / 1500);
  top: calc(100cqw * 51 / var(--pcdw));
  left: calc(100cqw * 240 / 1500);
  left: calc(100cqw * 240 / var(--pcdw));
}
.l_footer_slide_obj-3 {
  top: calc(100cqw * 4.13 / 1500);
  top: calc(100cqw * 4.13 / var(--pcdw));
  left: calc(100cqw * 384 / 1500);
  left: calc(100cqw * 384 / var(--pcdw));
}
.l_footer_slide_obj-4 {
  top: calc(100cqw * 50 / 1500);
  top: calc(100cqw * 50 / var(--pcdw));
  left: calc(100cqw * 562 / 1500);
  left: calc(100cqw * 562 / var(--pcdw));
}
.l_footer_slide_obj-5 {
  top: calc(100cqw * 1 / 1500);
  top: calc(100cqw * 1 / var(--pcdw));
  left: calc(100cqw * 725 / 1500);
  left: calc(100cqw * 725 / var(--pcdw));
}
.l_footer_slide_obj-6 {
  top: calc(100cqw * 57.84 / 1500);
  top: calc(100cqw * 57.84 / var(--pcdw));
  left: calc(100cqw * 979.87 / 1500);
  left: calc(100cqw * 979.87 / var(--pcdw));
}
.l_footer_slide_obj-7 {
  top: calc(100cqw * -8.79 / 1500);
  top: calc(100cqw * -8.79 / var(--pcdw));
  left: calc(100cqw * 1155.5 / 1500);
  left: calc(100cqw * 1155.5 / var(--pcdw));
}
.l_footer_slide_obj-8 {
  top: calc(100cqw * 47.5 / 1500);
  top: calc(100cqw * 47.5 / var(--pcdw));
  left: calc(100cqw * 1362.88 / 1500);
  left: calc(100cqw * 1362.88 / var(--pcdw));
}

.l_main {
  position: relative;
  z-index: 5;
  opacity: 0;
  will-change: opacity;
}

/* ==========================================================================
   Components (共通パーツ)
   ========================================================================== */
.c_h2 {
  display: flex;
  flex-direction: column;
  row-gap: calc(100cqw * 22 / 1500);
  row-gap: calc(100cqw * 22 / var(--pcdw));
  color: #000b62;
}
.c_h2 hgroup {
  display: flex;
  flex-direction: column;
  row-gap: calc(100cqw * 8 / 1500);
  row-gap: calc(100cqw * 8 / var(--pcdw));
}
.c_h2-center hgroup {
  justify-content: center;
  align-items: center;
}
.c_h2-center .c_h2_icon {
  justify-content: center;
}
.c_h2-left hgroup {
  justify-content: flex-start;
  align-items: flex-start;
}
.c_h2-left .c_h2_icon {
  justify-content: flex-start;
}

.c_h2_en {
  font-size: calc(100cqw * 44 / 1500);
  font-size: calc(100cqw * 44 / var(--pcdw));
  font-weight: 900;
  letter-spacing: calc(100cqw * 4.4 / 1500);
  letter-spacing: calc(100cqw * 4.4 / var(--pcdw));
  text-transform: uppercase;
  will-change: transform, opacity;
}

.c_h2_jp {
  font-size: calc(100cqw * 20 / 1500);
  font-size: calc(100cqw * 20 / var(--pcdw));
  font-weight: 500;
  letter-spacing: calc(100cqw * 0.6 / 1500);
  letter-spacing: calc(100cqw * 0.6 / var(--pcdw));
  will-change: transform, opacity;
}

.c_h2_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: calc(100cqw * 8 / 1500);
       column-gap: calc(100cqw * 8 / 1500);
  -moz-column-gap: calc(100cqw * 8 / var(--pcdw));
       column-gap: calc(100cqw * 8 / var(--pcdw));
  will-change: transform, opacity;
}
.c_h2_icon span {
  display: block;
  width: calc(100cqw * 16 / 1500);
  width: calc(100cqw * 16 / var(--pcdw));
  height: calc(100cqw * 16 / 1500);
  height: calc(100cqw * 16 / var(--pcdw));
  border-radius: calc(100cqw * 4 / 1500);
  border-radius: calc(100cqw * 4 / var(--pcdw));
}
.c_h2_icon span:nth-child(1) {
  background-color: #00b2a1;
}
.c_h2_icon span:nth-child(2) {
  background-color: #a7cc56;
}
.c_h2_icon span:nth-child(3) {
  background-color: #85bfff;
}

.c_img {
  display: block;
  height: auto;
  transform-origin: center center;
}
.c_img img,
.c_img video,
.c_img svg {
  max-width: none;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transform-origin: center center;
}
.c_img svg {
  fill: currentColor;
}
.c_img[data-type=pc] {
  width: min(100cqw * var(--pcw) / 1500, var(--pcw) * 1px);
  width: min(100cqw * var(--pcw) / var(--pcdw), var(--pcw) * 1px);
  aspect-ratio: calc(var(--pcw) / var(--pch));
}
.c_img[data-type=vpc] {
  width: calc(100cqw * var(--pcw) / 1500);
  width: calc(100cqw * var(--pcw) / var(--pcdw));
  aspect-ratio: calc(var(--pcw) / var(--pch));
}
.c_img[data-type=cover] {
  width: 100%;
  height: 100%;
}
.c_img[data-type=cover] img,
.c_img[data-type=cover] video,
.c_img[data-type=cover] svg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c_img[data-type=sp] {
  display: none;
}
.c_img[data-type=cover] {
  width: 100%;
  height: 100%;
}
.c_img[data-type=cover] img,
.c_img[data-type=cover] video,
.c_img[data-type=cover] svg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c_img[data-type=full] {
  min-width: 100%;
  min-height: 100%;
}

.c_footerlink {
  color: #000b62;
  font-weight: 700;
  line-height: 1;
  font-size: calc(100cqw * 15 / 1500);
  font-size: calc(100cqw * 15 / var(--pcdw));
  letter-spacing: calc(100cqw * 0.45 / 1500);
  letter-spacing: calc(100cqw * 0.45 / var(--pcdw));
  -moz-column-gap: calc(100cqw * 4 / 1500);
       column-gap: calc(100cqw * 4 / 1500);
  -moz-column-gap: calc(100cqw * 4 / var(--pcdw));
       column-gap: calc(100cqw * 4 / var(--pcdw));
  transition-property: opacity;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
  will-change: opacity;
  opacity: 1;
}

.c_footerlink_icon {
  display: inline-block;
  margin-left: calc(100cqw * 4 / 1500);
  margin-left: calc(100cqw * 4 / var(--pcdw));
  transform: translateY(calc(100cqw * 1.5 / 1500));
  transform: translateY(calc(100cqw * 1.5 / var(--pcdw)));
}

.c_newsitem {
  display: flex;
  align-items: center;
  font-weight: 700;
  color: #000b62;
  border: solid calc(100cqw * 1 / 1500) #000b62;
  border: solid calc(100cqw * 1 / var(--pcdw)) #000b62;
  border-radius: calc(100cqw * 16 / 1500);
  border-radius: calc(100cqw * 16 / var(--pcdw));
  padding: calc(100cqw * 22 / 1500) calc(100cqw * 32 / 1500);
  padding: calc(100cqw * 22 / var(--pcdw)) calc(100cqw * 32 / var(--pcdw));
  transition-property: background-color;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
  background-color: #fff;
}
.c_newsitem time {
  font-size: calc(100cqw * 16 / 1500);
  font-size: calc(100cqw * 16 / var(--pcdw));
  letter-spacing: calc(100cqw * 0.8 / 1500);
  letter-spacing: calc(100cqw * 0.8 / var(--pcdw));
}

.c_newsitem_cat {
  padding: calc(100cqw * 6 / 1500) calc(100cqw * 8 / 1500);
  padding: calc(100cqw * 6 / var(--pcdw)) calc(100cqw * 8 / var(--pcdw));
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ffffff;
  font-size: calc(100cqw * 14 / 1500);
  font-size: calc(100cqw * 14 / var(--pcdw));
  letter-spacing: calc(100cqw * 0.42 / 1500);
  letter-spacing: calc(100cqw * 0.42 / var(--pcdw));
  border-radius: calc(100cqw * 4 / 1500);
  border-radius: calc(100cqw * 4 / var(--pcdw));
  font-weight: 500;
  margin: 0 calc(100cqw * 16 / 1500) 0 calc(100cqw * 14 / 1500);
  margin: 0 calc(100cqw * 16 / var(--pcdw)) 0 calc(100cqw * 14 / var(--pcdw));
}
.c_newsitem_cat-green {
  background-color: #00b2a1;
}
.c_newsitem_cat-yellow-green {
  background-color: #a7cc56;
}
.c_newsitem_cat-light-blue {
  background-color: #85bfff;
}

.c_newsitem_text {
  display: flex;
  align-items: center;
  flex: 1;
  -moz-column-gap: calc(100cqw * 8 / 1500);
       column-gap: calc(100cqw * 8 / 1500);
  -moz-column-gap: calc(100cqw * 8 / var(--pcdw));
       column-gap: calc(100cqw * 8 / var(--pcdw));
  min-width: 0;
}

.c_newsitem_text_content {
  flex: 0 1 auto;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 0;
  font-size: calc(100cqw * 16 / 1500);
  font-size: calc(100cqw * 16 / var(--pcdw));
  letter-spacing: calc(100cqw * 0.336 / 1500);
  letter-spacing: calc(100cqw * 0.336 / var(--pcdw));
  line-height: 1.4;
}

.c_newsitem_icon {
  flex-shrink: 0;
}
.c_sns {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  row-gap: calc(100cqw * 24 / 1500);
  row-gap: calc(100cqw * 24 / var(--pcdw));
  color: #ffffff;
  text-transform: uppercase;
}

.c_sns_title {
  font-size: calc(100cqw * 18 / 1500);
  font-size: calc(100cqw * 18 / var(--pcdw));
  color: #000b62;
  display: flex;
  align-items: center;
  -moz-column-gap: calc(100cqw * 10 / 1500);
       column-gap: calc(100cqw * 10 / 1500);
  -moz-column-gap: calc(100cqw * 10 / var(--pcdw));
       column-gap: calc(100cqw * 10 / var(--pcdw));
  font-weight: 700;
  letter-spacing: calc(100cqw * 0.9 / 1500);
  letter-spacing: calc(100cqw * 0.9 / var(--pcdw));
  line-height: 1;
}
.c_sns_title::before, .c_sns_title::after {
  content: "";
  width: calc(100cqw * 6 / 1500);
  width: calc(100cqw * 6 / var(--pcdw));
  height: calc(100cqw * 6 / 1500);
  height: calc(100cqw * 6 / var(--pcdw));
  border-radius: 50%;
  background: #000b62;
  display: block;
}

.c_sns_list {
  display: flex;
  justify-content: center;
  -moz-column-gap: calc(100cqw * 18 / 1500);
       column-gap: calc(100cqw * 18 / 1500);
  -moz-column-gap: calc(100cqw * 18 / var(--pcdw));
       column-gap: calc(100cqw * 18 / var(--pcdw));
}
.c_sns_list a {
  width: calc(100cqw * 58 / 1500);
  width: calc(100cqw * 58 / var(--pcdw));
  height: calc(100cqw * 58 / 1500);
  height: calc(100cqw * 58 / var(--pcdw));
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: #85bfff;
  transition-property: background-color;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}

.c_pagetop {
  position: absolute;
  z-index: 2;
  top: calc(100cqw * 15 / 1500);
  top: calc(100cqw * 15 / var(--pcdw));
  right: calc(100cqw * 112 / 1500);
  right: calc(100cqw * 112 / var(--pcdw));
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.c_pagetop_btn {
  position: relative;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 50%;
}
.c_pagetop_btn #icon_pagetop {
  animation: pagetop-rotation 16s linear infinite;
}
.c_pagetop_btn #icon_pagetop .b {
  fill: #ffffff;
}
.c_pagetop_btn #icon_pagetop .c {
  fill: #a7cc56;
  transition-property: fill;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}

.c_pagetop_obj {
  display: block;
  position: absolute;
  z-index: 2;
  top: calc(100cqw * 38 / 1500);
  top: calc(100cqw * 38 / var(--pcdw));
  left: calc(100cqw * 37 / 1500);
  left: calc(100cqw * 37 / var(--pcdw));
  transition-property: transform;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}

@keyframes pagetop-rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.c_pagetop_arrow {
  position: absolute;
  top: calc(100cqw * -21.7 / 1500);
  top: calc(100cqw * -21.7 / var(--pcdw));
  left: 50%;
  color: #a7cc56;
  transform: translateX(-50%);
  transition-property: color;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}

/* ==========================================================================
   Pages (ページ固有スタイル)
   ========================================================================== */
.p_index {
  position: relative;
  z-index: 2;
}

.p_index_wrap {
  position: relative;
  width: 100%;
}

.p_index_fv {
  top: 0;
  left: 0;
  width: 100%;
  height: 100lvh;
  z-index: 2;
  grid-area: stack;
}

.p_index_fv_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100lvh;
  z-index: -2;
}

.p_index_last {
  position: relative;
  z-index: 4;
  margin-top: calc(100cqw * 400 / 1500);
  margin-top: calc(100cqw * 400 / var(--pcdw));
}
.p_index_last::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(100cqw * 428 / 1500);
  top: calc(100cqw * 428 / var(--pcdw));
  left: 0;
  width: 100%;
  height: calc(100% - 100cqw * 426 / 1500);
  height: calc(100% - 100cqw * 426 / var(--pcdw));
  background-color: #ffffff;
}

.p_fv {
  width: 100%;
  position: relative;
  top: 0;
  left: 0;
  z-index: 2;
  height: 100lvh;
}

.p_fv_first {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 2;
  top: 0;
  left: 0;
  will-change: opacity;
}

.p_fv_stack {
  display: grid;
  grid-template-areas: "stack";
  width: 100%;
  position: relative;
  z-index: 1;
}

.p_fv1 {
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2;
}
.p_fv1_wrap {
  position: absolute;
  height: calc(100cqw * 860 / 1500);
  height: calc(100cqw * 860 / var(--pcdw));
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 100%;
  z-index: 3;
}

.p_fv1_title {
  position: absolute;
  top: calc(100cqw * 230 / 1500);
  top: calc(100cqw * 230 / var(--pcdw));
  left: calc(100cqw * 113 / 1500);
  left: calc(100cqw * 113 / var(--pcdw));
  color: #000b62;
  text-align: center;
  line-height: 1;
}
.p_fv1_title em {
  font-size: calc(100cqw * 40 / 1500);
  font-size: calc(100cqw * 40 / var(--pcdw));
  font-weight: 900;
  padding-top: calc(100cqw * 14 / 1500);
  padding-top: calc(100cqw * 14 / var(--pcdw));
  display: block;
  text-align: center;
  letter-spacing: calc(100cqw * 0.8 / 1500);
  letter-spacing: calc(100cqw * 0.8 / var(--pcdw));
  will-change: transform, opacity;
  opacity: 0;
  transform: translateY(calc(100cqw * 50 / 1500));
  transform: translateY(calc(100cqw * 50 / var(--pcdw)));
}
.p_fv1_title em span {
  font-weight: 400;
}

.p_fv1_title_txt {
  font-weight: 700;
  display: flex;
  align-items: baseline;
  justify-content: center;
  font-size: calc(100cqw * 20 / 1500);
  font-size: calc(100cqw * 20 / var(--pcdw));
  -moz-column-gap: calc(100cqw * 4 / 1500);
       column-gap: calc(100cqw * 4 / 1500);
  -moz-column-gap: calc(100cqw * 4 / var(--pcdw));
       column-gap: calc(100cqw * 4 / var(--pcdw));
  will-change: transform, opacity;
  opacity: 0;
  transform: translateY(calc(100cqw * 50 / 1500));
  transform: translateY(calc(100cqw * 50 / var(--pcdw)));
}
.p_fv1_title_txt span {
  display: block;
  text-align: center;
}
.p_fv1_title_txt span:nth-child(1) {
  font-size: calc(100cqw * 30 / 1500);
  font-size: calc(100cqw * 30 / var(--pcdw));
}

.p_fv1_title_svg {
  display: block;
  padding-top: calc(100cqw * 32 / 1500);
  padding-top: calc(100cqw * 32 / var(--pcdw));
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.p_fv1_title_svg svg {
  overflow: visible !important;
}

.p_fv1_title_last {
  display: block;
  text-align: center;
  padding-top: calc(100cqw * 16 / 1500);
  padding-top: calc(100cqw * 16 / var(--pcdw));
  font-size: calc(100cqw * 22 / 1500);
  font-size: calc(100cqw * 22 / var(--pcdw));
  font-weight: 700;
  letter-spacing: calc(100cqw * -0.66 / 1500);
  letter-spacing: calc(100cqw * -0.66 / var(--pcdw));
  will-change: transform, opacity;
  opacity: 0;
  transform: translateY(calc(100cqw * 50 / 1500));
  transform: translateY(calc(100cqw * 50 / var(--pcdw)));
}
.p_fv1_title_last span {
  letter-spacing: calc(100cqw * -2.2 / 1500);
  letter-spacing: calc(100cqw * -2.2 / var(--pcdw));
}

.p_fv1_start {
  position: absolute;
  display: block;
  top: calc(100cqw * 532 / 1500);
  top: calc(100cqw * 532 / var(--pcdw));
  left: calc(100cqw * 127 / 1500);
  left: calc(100cqw * 127 / var(--pcdw));
  background-color: #fff;
  border-radius: calc(100cqw * 12 / 1500);
  border-radius: calc(100cqw * 12 / var(--pcdw));
  box-shadow: 0 0 calc(100cqw * 20 / 1500) 0 rgba(21, 96, 171, 0.15);
  box-shadow: 0 0 calc(100cqw * 20 / var(--pcdw)) 0 rgba(21, 96, 171, 0.15);
  width: calc(100cqw * 349 / 1500);
  width: calc(100cqw * 349 / var(--pcdw));
  padding: calc(100cqw * 22 / 1500) 0;
  padding: calc(100cqw * 22 / var(--pcdw)) 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  will-change: transform, opacity;
  opacity: 0;
  transform: translateY(calc(100cqw * 50 / 1500));
  transform: translateY(calc(100cqw * 50 / var(--pcdw)));
}

.p_fv1_date {
  width: calc(100cqw * 277 / 1500);
  width: calc(100cqw * 277 / var(--pcdw));
  height: calc(100cqw * 31 / 1500);
  height: calc(100cqw * 31 / var(--pcdw));
  background-color: #1560ab;
  border-radius: calc(infinity * 1px);
  color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  font-size: calc(100cqw * 19 / 1500);
  font-size: calc(100cqw * 19 / var(--pcdw));
  letter-spacing: calc(100cqw * 0.38 / 1500);
  letter-spacing: calc(100cqw * 0.38 / var(--pcdw));
  -moz-column-gap: calc(100cqw * 6 / 1500);
       column-gap: calc(100cqw * 6 / 1500);
  -moz-column-gap: calc(100cqw * 6 / var(--pcdw));
       column-gap: calc(100cqw * 6 / var(--pcdw));
}
.p_fv1_date time {
  display: flex;
  -moz-column-gap: calc(100cqw * 6 / 1500);
       column-gap: calc(100cqw * 6 / 1500);
  -moz-column-gap: calc(100cqw * 6 / var(--pcdw));
       column-gap: calc(100cqw * 6 / var(--pcdw));
  align-items: center;
  letter-spacing: calc(100cqw * 0.38 / 1500);
  letter-spacing: calc(100cqw * 0.38 / var(--pcdw));
}

.p_fv1_date_date {
  display: flex;
  align-items: center;
  -moz-column-gap: calc(100cqw * 1 / 1500);
       column-gap: calc(100cqw * 1 / 1500);
  -moz-column-gap: calc(100cqw * 1 / var(--pcdw));
       column-gap: calc(100cqw * 1 / var(--pcdw));
}

.p_fv1_date_week {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: calc(infinity * 1px);
  color: #1560ab;
  width: calc(100cqw * 21 / 1500);
  width: calc(100cqw * 21 / var(--pcdw));
  height: calc(100cqw * 21 / 1500);
  height: calc(100cqw * 21 / var(--pcdw));
  font-size: calc(100cqw * 10 / 1500);
  font-size: calc(100cqw * 10 / var(--pcdw));
  letter-spacing: calc(100cqw * 0.38 / 1500);
  letter-spacing: calc(100cqw * 0.38 / var(--pcdw));
  font-weight: 700;
}

.p_fv1_start_countdown {
  display: flex;
  align-items: center;
  color: #000b62;
  margin-top: calc(100cqw * 18 / 1500);
  margin-top: calc(100cqw * 18 / var(--pcdw));
  font-size: calc(100cqw * 16 / 1500);
  font-size: calc(100cqw * 16 / var(--pcdw));
  font-weight: 700;
  letter-spacing: calc(100cqw * 0.48 / 1500);
  letter-spacing: calc(100cqw * 0.48 / var(--pcdw));
  -moz-column-gap: calc(100cqw * 13 / 1500);
       column-gap: calc(100cqw * 13 / 1500);
  -moz-column-gap: calc(100cqw * 13 / var(--pcdw));
       column-gap: calc(100cqw * 13 / var(--pcdw));
}
.p_fv1_start_countdown > span:nth-child(2) {
  display: flex;
  align-items: flex-end;
  font-weight: 400;
  -moz-column-gap: calc(100cqw * 6 / 1500);
       column-gap: calc(100cqw * 6 / 1500);
  -moz-column-gap: calc(100cqw * 6 / var(--pcdw));
       column-gap: calc(100cqw * 6 / var(--pcdw));
}
.p_fv1_start_countdown > span:nth-child(2) span:last-child {
  display: block;
  padding-left: calc(100cqw * 8 / 1500);
  padding-left: calc(100cqw * 8 / var(--pcdw));
  font-size: calc(100cqw * 17 / 1500);
  font-size: calc(100cqw * 17 / var(--pcdw));
  font-weight: 500;
  line-height: 1;
}

.p_fv1_countdown_num {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  background: #f1f1f1;
  width: calc(100cqw * 46 / 1500);
  width: calc(100cqw * 46 / var(--pcdw));
  height: calc(100cqw * 62 / 1500);
  height: calc(100cqw * 62 / var(--pcdw));
  font-size: calc(100cqw * 38 / 1500);
  font-size: calc(100cqw * 38 / var(--pcdw));
  border-radius: calc(100cqw * 4 / 1500);
  border-radius: calc(100cqw * 4 / var(--pcdw));
}

.p_fv1_img {
  position: absolute;
  height: calc(100cqw * 860 / 1500);
  height: calc(100cqw * 860 / var(--pcdw));
  top: max(0px, 50% - 100cqw * 430 / 1500);
  top: max(0px, 50% - 100cqw * 430 / var(--pcdw));
  right: 0;
  width: 100%;
  z-index: 2;
  pointer-events: none;
}
.p_fv1_img div {
  position: absolute;
  right: calc(100cqw * 0 / 1500);
  right: calc(100cqw * 0 / var(--pcdw));
  top: calc(100cqw * -76 / 1500);
  top: calc(100cqw * -76 / var(--pcdw));
}

.p_fv1_clouds {
  position: absolute;
  left: 0;
  width: 100%;
  pointer-events: none;
  z-index: 1;
  height: calc(100cqw * 860 / 1500);
  height: calc(100cqw * 860 / var(--pcdw));
  top: 50%;
  transform: translateY(-50%);
}

.p_fv1_cloud {
  position: absolute;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  top: 0;
  left: 0;
  transform-origin: top left;
  will-change: transform;
}
.p_fv1_cloud-1 {
  -webkit-mask-image: url('../svg/fv_cloud_01.svg');
          mask-image: url('../svg/fv_cloud_01.svg');
  width: calc(100cqw * 1614.24 / 1500);
  width: calc(100cqw * 1614.24 / var(--pcdw));
  height: calc(100cqw * 990.72 / 1500);
  height: calc(100cqw * 990.72 / var(--pcdw));
  transform: translate(calc(100cqw * 605 / 1500), calc(100cqw * -396 / 1500));
  transform: translate(calc(100cqw * 605 / var(--pcdw)), calc(100cqw * -396 / var(--pcdw)));
}
.p_fv1_cloud-2 {
  -webkit-mask-image: url('../svg/fv_cloud_02.svg');
          mask-image: url('../svg/fv_cloud_02.svg');
  width: calc(100cqw * 1315.2 / 1500);
  width: calc(100cqw * 1315.2 / var(--pcdw));
  height: calc(100cqw * 777.6 / 1500);
  height: calc(100cqw * 777.6 / var(--pcdw));
  transform: translate(calc(100cqw * -375 / 1500), calc(100cqw * -223 / 1500));
  transform: translate(calc(100cqw * -375 / var(--pcdw)), calc(100cqw * -223 / var(--pcdw)));
}
.p_fv1_cloud-3 {
  -webkit-mask-image: url('../svg/fv_cloud_03.svg');
          mask-image: url('../svg/fv_cloud_03.svg');
  width: calc(100cqw * 1333.2 / 1500);
  width: calc(100cqw * 1333.2 / var(--pcdw));
  height: calc(100cqw * 750 / 1500);
  height: calc(100cqw * 750 / var(--pcdw));
  transform: translate(calc(100cqw * -336 / 1500), calc(100cqw * 400 / 1500));
  transform: translate(calc(100cqw * -336 / var(--pcdw)), calc(100cqw * 400 / var(--pcdw)));
}
.p_fv1_cloud-4 {
  -webkit-mask-image: url('../svg/fv_cloud_04.svg');
          mask-image: url('../svg/fv_cloud_04.svg');
  width: calc(100cqw * 1378.8 / 1500);
  width: calc(100cqw * 1378.8 / var(--pcdw));
  height: calc(100cqw * 808.8 / 1500);
  height: calc(100cqw * 808.8 / var(--pcdw));
  transform: translate(calc(100cqw * 505 / 1500), calc(100cqw * 371 / 1500));
  transform: translate(calc(100cqw * 505 / var(--pcdw)), calc(100cqw * 371 / var(--pcdw)));
}

.p_fv1_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100lvh;
  z-index: 1;
  pointer-events: none;
}

.p_fv1_scroll {
  position: absolute;
  display: flex;
  flex-direction: row-reverse;
  z-index: 4;
  bottom: calc(100cqw * 47 / 1500);
  bottom: calc(100cqw * 47 / var(--pcdw));
  left: calc(100cqw * 50 / 1500);
  left: calc(100cqw * 50 / var(--pcdw));
  -moz-column-gap: calc(100cqw * 10 / 1500);
       column-gap: calc(100cqw * 10 / 1500);
  -moz-column-gap: calc(100cqw * 10 / var(--pcdw));
       column-gap: calc(100cqw * 10 / var(--pcdw));
}
.p_fv1_scroll.is-active p {
  opacity: 1;
}
.p_fv1_scroll p {
  transition-property: opacity;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
  font-size: calc(100cqw * 12 / 1500);
  font-size: calc(100cqw * 12 / var(--pcdw));
  color: #000b62;
  font-weight: 900;
  letter-spacing: 7%;
  writing-mode: vertical-rl;
  text-transform: uppercase;
  opacity: 0;
}

.p_fv1_scroll_icon {
  display: flex;
  flex-direction: column;
  row-gap: calc(100cqw * 6 / 1500);
  row-gap: calc(100cqw * 6 / var(--pcdw));
  width: calc(100cqw * 9 / 1500);
  width: calc(100cqw * 9 / var(--pcdw));
}
.p_fv1_scroll_icon span {
  display: block;
  width: calc(100cqw * 9 / 1500);
  width: calc(100cqw * 9 / var(--pcdw));
  height: calc(100cqw * 9 / 1500);
  height: calc(100cqw * 9 / var(--pcdw));
  border-radius: calc(100cqw * 1 / 1500);
  border-radius: calc(100cqw * 1 / var(--pcdw));
  opacity: 0;
}
.p_fv1_scroll_icon span:nth-child(1), .p_fv1_scroll_icon span:nth-child(4) {
  background-color: #85bfff;
}
.p_fv1_scroll_icon span:nth-child(2), .p_fv1_scroll_icon span:nth-child(5) {
  background-color: #a7cc56;
}
.p_fv1_scroll_icon span:nth-child(3), .p_fv1_scroll_icon span:nth-child(6) {
  background-color: #00b2a1;
}
.p_fv1_scroll.is-active .p_fv1_scroll_icon span:nth-child(1) {
  animation: scroll-icon-1 2.25s infinite;
}
.p_fv1_scroll.is-active .p_fv1_scroll_icon span:nth-child(2) {
  animation: scroll-icon-2 2.25s infinite;
}
.p_fv1_scroll.is-active .p_fv1_scroll_icon span:nth-child(3) {
  animation: scroll-icon-3 2.25s infinite;
}
.p_fv1_scroll.is-active .p_fv1_scroll_icon span:nth-child(4) {
  animation: scroll-icon-4 2.25s infinite;
}
.p_fv1_scroll.is-active .p_fv1_scroll_icon span:nth-child(5) {
  animation: scroll-icon-5 2.25s infinite;
}
.p_fv1_scroll.is-active .p_fv1_scroll_icon span:nth-child(6) {
  animation: scroll-icon-6 2.25s infinite;
}

@keyframes scroll-icon-1 {
  0%, 0% {
    opacity: 0;
  }
  10%, 85% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes scroll-icon-2 {
  0%, 10% {
    opacity: 0;
  }
  20%, 85% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes scroll-icon-3 {
  0%, 20% {
    opacity: 0;
  }
  30%, 85% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes scroll-icon-4 {
  0%, 30% {
    opacity: 0;
  }
  40%, 85% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes scroll-icon-5 {
  0%, 40% {
    opacity: 0;
  }
  50%, 85% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes scroll-icon-6 {
  0%, 50% {
    opacity: 0;
  }
  60%, 85% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.p_fv2 {
  position: relative;
  width: 100%;
  height: auto;
  min-height: 100lvh;
  grid-area: stack;
  opacity: 1;
  z-index: 1;
  align-self: start;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  padding-top: calc(min(100cqw * 78 / 1500, 78 * 1px) + min(100cqw * 16 / 1500, 16 * 1px));
  padding-top: calc(min(100cqw * 78 / var(--pcdw), 78 * 1px) + min(100cqw * 16 / var(--pcdw), 16 * 1px));
  margin-bottom: calc(100cqw * 380 / 1500);
  margin-bottom: calc(100cqw * 380 / var(--pcdw));
}

.p_fv2_contents {
  position: relative;
  background-color: rgba(0, 178, 161, 0.8);
  width: calc(100cqw * 832 / 1500);
  width: calc(100cqw * 832 / var(--pcdw));
  margin-left: auto;
  margin-right: auto;
  border-radius: calc(100cqw * 14 / 1500);
  border-radius: calc(100cqw * 14 / var(--pcdw));
  color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  row-gap: calc(100cqw * 28 / 1500);
  row-gap: calc(100cqw * 28 / var(--pcdw));
  padding: calc(100cqw * 40 / 1500) calc(100cqw * 120 / 1500) calc(100cqw * 56 / 1500);
  padding: calc(100cqw * 40 / var(--pcdw)) calc(100cqw * 120 / var(--pcdw)) calc(100cqw * 56 / var(--pcdw));
}

.p_fv2_contents_title {
  color: #00b2a1;
  font-weight: 700;
  background-color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  -moz-column-gap: calc(100cqw * 6 / 1500);
       column-gap: calc(100cqw * 6 / 1500);
  -moz-column-gap: calc(100cqw * 6 / var(--pcdw));
       column-gap: calc(100cqw * 6 / var(--pcdw));
  border-radius: calc(100cqw * 6 / 1500);
  border-radius: calc(100cqw * 6 / var(--pcdw));
  width: calc(100cqw * 601 / 1500);
  width: calc(100cqw * 601 / var(--pcdw));
  height: calc(100cqw * 92 / 1500);
  height: calc(100cqw * 92 / var(--pcdw));
  row-gap: calc(100cqw * 6 / 1500);
  row-gap: calc(100cqw * 6 / var(--pcdw));
}
.p_fv2_contents_title span {
  font-size: calc(100cqw * 17 / 1500);
  font-size: calc(100cqw * 17 / var(--pcdw));
  letter-spacing: calc(100cqw * 0.51 / 1500);
  letter-spacing: calc(100cqw * 0.51 / var(--pcdw));
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: calc(100cqw * 8 / 1500);
       column-gap: calc(100cqw * 8 / 1500);
  -moz-column-gap: calc(100cqw * 8 / var(--pcdw));
       column-gap: calc(100cqw * 8 / var(--pcdw));
}
.p_fv2_contents_title span::before, .p_fv2_contents_title span::after {
  content: "";
  display: block;
  width: calc(100cqw * 5 / 1500);
  width: calc(100cqw * 5 / var(--pcdw));
  height: calc(100cqw * 5 / 1500);
  height: calc(100cqw * 5 / var(--pcdw));
  background-color: currentColor;
  border-radius: 50%;
}
.p_fv2_contents_title em {
  font-size: calc(100cqw * 33 / 1500);
  font-size: calc(100cqw * 33 / var(--pcdw));
  letter-spacing: calc(100cqw * 0.99 / 1500);
  letter-spacing: calc(100cqw * 0.99 / var(--pcdw));
}

.p_fv2_contents_text {
  font-weight: 700;
  font-size: calc(100cqw * 20 / 1500);
  font-size: calc(100cqw * 20 / var(--pcdw));
  line-height: 2.2;
  letter-spacing: calc(100cqw * 0.6 / 1500);
  letter-spacing: calc(100cqw * 0.6 / var(--pcdw));
  text-align: center;
}

.p_fv2_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p_about {
  position: relative;
  z-index: 2;
}

.p_about_top {
  position: relative;
  z-index: 3;
}
.p_about_top_obj {
  position: absolute;
  z-index: 2;
}
.p_about_top_obj-1 {
  top: calc(100cqw * 275 / 1500);
  top: calc(100cqw * 275 / var(--pcdw));
  left: calc(100cqw * 28 / 1500);
  left: calc(100cqw * 28 / var(--pcdw));
}
.p_about_top_obj-2 {
  top: calc(100cqw * 218 / 1500);
  top: calc(100cqw * 218 / var(--pcdw));
  left: calc(100cqw * 318 / 1500);
  left: calc(100cqw * 318 / var(--pcdw));
}
.p_about_top_obj-3 {
  top: calc(100cqw * 328.71 / 1500);
  top: calc(100cqw * 328.71 / var(--pcdw));
  left: calc(100cqw * 495 / 1500);
  left: calc(100cqw * 495 / var(--pcdw));
}
.p_about_top_obj-4 {
  top: calc(100cqw * 229 / 1500);
  top: calc(100cqw * 229 / var(--pcdw));
  left: calc(100cqw * 764 / 1500);
  left: calc(100cqw * 764 / var(--pcdw));
}
.p_about_top_obj-5 {
  top: calc(100cqw * 259 / 1500);
  top: calc(100cqw * 259 / var(--pcdw));
  left: calc(100cqw * 1009 / 1500);
  left: calc(100cqw * 1009 / var(--pcdw));
}
.p_about_top_obj-6 {
  top: calc(100cqw * 292 / 1500);
  top: calc(100cqw * 292 / var(--pcdw));
  left: calc(100cqw * 1304 / 1500);
  left: calc(100cqw * 1304 / var(--pcdw));
}

.p_about_container {
  position: relative;
  z-index: 2;
  margin-top: calc(100cqw * -1 / 1500);
  margin-top: calc(100cqw * -1 / var(--pcdw));
}

.p_about_wrap {
  padding-top: calc(100cqw * 54 / 1500);
  padding-top: calc(100cqw * 54 / var(--pcdw));
  position: relative;
  z-index: 2;
}

.p_about_contents {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: calc(100cqw * 46 / 1500);
  margin-top: calc(100cqw * 46 / var(--pcdw));
  -moz-column-gap: calc(100cqw * 52 / 1500);
       column-gap: calc(100cqw * 52 / 1500);
  -moz-column-gap: calc(100cqw * 52 / var(--pcdw));
       column-gap: calc(100cqw * 52 / var(--pcdw));
}

.p_about_texts {
  width: calc(100cqw * 450 / 1500);
  width: calc(100cqw * 450 / var(--pcdw));
  color: #000b62;
  display: flex;
  flex-direction: column;
  row-gap: calc(100cqw * 24 / 1500);
  row-gap: calc(100cqw * 24 / var(--pcdw));
}
.p_about_texts p {
  font-size: calc(100cqw * 15 / 1500);
  font-size: calc(100cqw * 15 / var(--pcdw));
  letter-spacing: calc(100cqw * 0.3 / 1500);
  letter-spacing: calc(100cqw * 0.3 / var(--pcdw));
  line-height: 2;
  text-align: justify;
}
.p_about_texts p small {
  display: block;
  font-size: calc(100cqw * 12 / 1500);
  font-size: calc(100cqw * 12 / var(--pcdw));
  letter-spacing: calc(100cqw * 0.24 / 1500);
  letter-spacing: calc(100cqw * 0.24 / var(--pcdw));
  line-height: 2;
  margin-top: calc(100cqw * 5 / 1500);
  margin-top: calc(100cqw * 5 / var(--pcdw));
}
.p_about_texts dl {
  display: flex;
  padding: calc(100cqw * 24 / 1500) calc(100cqw * 26 / 1500);
  padding: calc(100cqw * 24 / var(--pcdw)) calc(100cqw * 26 / var(--pcdw));
  background-color: rgba(133, 191, 255, 0.15);
  border-radius: calc(100cqw * 12 / 1500);
  border-radius: calc(100cqw * 12 / var(--pcdw));
  flex-direction: column;
  row-gap: calc(100cqw * 13 / 1500);
  row-gap: calc(100cqw * 13 / var(--pcdw));
  font-weight: 700;
}
.p_about_texts dl div {
  display: flex;
  align-items: center;
  -moz-column-gap: calc(100cqw * 14 / 1500);
       column-gap: calc(100cqw * 14 / 1500);
  -moz-column-gap: calc(100cqw * 14 / var(--pcdw));
       column-gap: calc(100cqw * 14 / var(--pcdw));
}
.p_about_texts dl div dt {
  font-size: calc(100cqw * 14 / 1500);
  font-size: calc(100cqw * 14 / var(--pcdw));
  color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: calc(100cqw * 7 / 1500) calc(100cqw * 8 / 1500);
  padding: calc(100cqw * 7 / var(--pcdw)) calc(100cqw * 8 / var(--pcdw));
  letter-spacing: calc(100cqw * 0.42 / 1500);
  letter-spacing: calc(100cqw * 0.42 / var(--pcdw));
  background-color: #85bfff;
  border-radius: calc(100cqw * 4 / 1500);
  border-radius: calc(100cqw * 4 / var(--pcdw));
}
.p_about_texts dl div dd {
  font-size: calc(100cqw * 17 / 1500);
  font-size: calc(100cqw * 17 / var(--pcdw));
  letter-spacing: calc(100cqw * 0.51 / 1500);
  letter-spacing: calc(100cqw * 0.51 / var(--pcdw));
  display: flex;
  -moz-column-gap: calc(100cqw * 9 / 1500);
       column-gap: calc(100cqw * 9 / 1500);
  -moz-column-gap: calc(100cqw * 9 / var(--pcdw));
       column-gap: calc(100cqw * 9 / var(--pcdw));
  align-items: center;
}
.p_about_texts dl div dd span {
  display: block;
  background: #000b62;
  width: calc(100cqw * 12 / 1500);
  width: calc(100cqw * 12 / var(--pcdw));
  height: calc(100cqw * 2 / 1500);
  height: calc(100cqw * 2 / var(--pcdw));
  margin-top: calc(100cqw * 1 / 1500);
  margin-top: calc(100cqw * 1 / var(--pcdw));
}

.p_about_img {
  position: relative;
  flex-shrink: 0;
  width: calc(100cqw * 450 / 1500);
  width: calc(100cqw * 450 / var(--pcdw));
  height: calc(100cqw * 345 / 1500);
  height: calc(100cqw * 345 / var(--pcdw));
  color: #000b62;
  font-weight: 500;
}

.p_about_img_img {
  position: absolute;
  top: calc(100cqw * -45.36 / 1500);
  top: calc(100cqw * -45.36 / var(--pcdw));
  left: calc(100cqw * -50.5 / 1500);
  left: calc(100cqw * -50.5 / var(--pcdw));
}

.p_about_img_text {
  position: absolute;
  z-index: 2;
  top: calc(100cqw * 276 / 1500);
  top: calc(100cqw * 276 / var(--pcdw));
  left: calc(100cqw * 243.45 / 1500);
  left: calc(100cqw * 243.45 / var(--pcdw));
  font-size: calc(100cqw * 14 / 1500);
  font-size: calc(100cqw * 14 / var(--pcdw));
  letter-spacing: calc(100cqw * 0.28 / 1500);
  letter-spacing: calc(100cqw * 0.28 / var(--pcdw));
  line-height: 1.45;
  text-align: center;
  white-space: nowrap;
}

.p_about_img_small {
  position: absolute;
  z-index: 2;
  top: calc(100cqw * 251 / 1500);
  top: calc(100cqw * 251 / var(--pcdw));
  left: calc(100cqw * 414 / 1500);
  left: calc(100cqw * 414 / var(--pcdw));
  font-size: calc(100cqw * 11 / 1500);
  font-size: calc(100cqw * 11 / var(--pcdw));
  letter-spacing: calc(100cqw * 0.22 / 1500);
  letter-spacing: calc(100cqw * 0.22 / var(--pcdw));
  white-space: nowrap;
}

.p_about_btn {
  margin-top: calc(100cqw * 52 / 1500);
  margin-top: calc(100cqw * 52 / var(--pcdw));
  background-color: #000b62;
  border-radius: calc(infinity * 1px);
  color: #ffffff;
  width: -moz-fit-content;
  width: fit-content;
  margin: calc(100cqw * 52 / 1500) auto 0;
  margin: calc(100cqw * 52 / var(--pcdw)) auto 0;
  display: flex;
  align-items: center;
  padding: calc(100cqw * 20 / 1500) calc(100cqw * 20 / 1500) calc(100cqw * 20 / 1500) calc(100cqw * 34 / 1500);
  padding: calc(100cqw * 20 / var(--pcdw)) calc(100cqw * 20 / var(--pcdw)) calc(100cqw * 20 / var(--pcdw)) calc(100cqw * 34 / var(--pcdw));
  -moz-column-gap: calc(100cqw * 26 / 1500);
       column-gap: calc(100cqw * 26 / 1500);
  -moz-column-gap: calc(100cqw * 26 / var(--pcdw));
       column-gap: calc(100cqw * 26 / var(--pcdw));
  font-size: calc(100cqw * 16 / 1500);
  font-size: calc(100cqw * 16 / var(--pcdw));
  font-weight: 700;
  letter-spacing: calc(100cqw * 0.48 / 1500);
  letter-spacing: calc(100cqw * 0.48 / var(--pcdw));
  border: calc(100cqw * 2 / 1500) solid #000b62;
  border: calc(100cqw * 2 / var(--pcdw)) solid #000b62;
  transition-property: background-color, color;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
  box-sizing: border-box;
}

.p_about_bottom {
  width: 100%;
  position: relative;
  height: calc(100cqw * 408.48 / 1500);
  height: calc(100cqw * 408.48 / var(--pcdw));
  margin-top: calc(100cqw * 69 / 1500);
  margin-bottom: calc(100cqw * 39.52 / 1500);
  margin-top: calc(100cqw * 69 / var(--pcdw));
  margin-bottom: calc(100cqw * 39.52 / var(--pcdw));
}

.p_about_bottom_line {
  position: absolute;
  width: calc(100cqw * 1590.95 / 1500);
  width: calc(100cqw * 1590.95 / var(--pcdw));
  height: calc(100cqw * 301.09 / 1500);
  height: calc(100cqw * 301.09 / var(--pcdw));
  top: calc(100cqw * 39 / 1500);
  top: calc(100cqw * 39 / var(--pcdw));
  left: calc(100cqw * -24 / 1500);
  left: calc(100cqw * -24 / var(--pcdw));
  z-index: 3;
}
.p_about_bottom_line div {
  width: 100%;
  height: 100%;
}
.p_about_bottom_line div svg {
  width: 100%;
  height: 100%;
}

.p_about_bottom_line_path {
  fill: none;
  stroke: url(#about_bottom_line_texture);
  stroke-miterlimit: 10;
  stroke-width: calc(100cqw * 12 / 1500);
  stroke-width: calc(100cqw * 12 / var(--pcdw));
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}

.p_about_bottom_cloud_wrapper {
  position: absolute;
  will-change: transform;
}
.p_about_bottom_cloud_wrapper-1 {
  top: calc(100cqw * -123 / 1500);
  top: calc(100cqw * -123 / var(--pcdw));
  left: calc(100cqw * -53 / 1500);
  left: calc(100cqw * -53 / var(--pcdw));
  width: calc(100cqw * 524 / 1500);
  width: calc(100cqw * 524 / var(--pcdw));
  height: calc(100cqw * 296 / 1500);
  height: calc(100cqw * 296 / var(--pcdw));
}
.p_about_bottom_cloud_wrapper-2 {
  top: calc(100cqw * -4 / 1500);
  top: calc(100cqw * -4 / var(--pcdw));
  left: calc(100cqw * 1110 / 1500);
  left: calc(100cqw * 1110 / var(--pcdw));
  width: calc(100cqw * 512 / 1500);
  width: calc(100cqw * 512 / var(--pcdw));
  height: calc(100cqw * 313 / 1500);
  height: calc(100cqw * 313 / var(--pcdw));
}

.p_about_bottom_cloud {
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  width: 100%;
  height: 100%;
  will-change: transform;
}
.p_about_bottom_cloud-1 {
  -webkit-mask-image: url('../svg/about_bottom_cloud_01.svg');
          mask-image: url('../svg/about_bottom_cloud_01.svg');
}
.p_about_bottom_cloud-2 {
  -webkit-mask-image: url('../svg/about_bottom_cloud_02.svg');
          mask-image: url('../svg/about_bottom_cloud_02.svg');
}

.p_about_bottom_obj {
  position: absolute;
  z-index: 4;
}
.p_about_bottom_obj img {
  will-change: transform;
}
.p_about_bottom_obj-1 {
  top: calc(100cqw * 255 / 1500);
  top: calc(100cqw * 255 / var(--pcdw));
  left: calc(100cqw * 85 / 1500);
  left: calc(100cqw * 85 / var(--pcdw));
}
.p_about_bottom_obj-2 {
  top: calc(100cqw * 40 / 1500);
  top: calc(100cqw * 40 / var(--pcdw));
  left: calc(100cqw * 354 / 1500);
  left: calc(100cqw * 354 / var(--pcdw));
}
.p_about_bottom_obj-3 {
  top: calc(100cqw * 215.54 / 1500);
  top: calc(100cqw * 215.54 / var(--pcdw));
  left: calc(100cqw * 735.29 / 1500);
  left: calc(100cqw * 735.29 / var(--pcdw));
}
.p_about_bottom_obj-4 {
  top: calc(100cqw * 135 / 1500);
  top: calc(100cqw * 135 / var(--pcdw));
  left: calc(100cqw * 1311 / 1500);
  left: calc(100cqw * 1311 / var(--pcdw));
}

.p_concept_grad {
  width: 100%;
  height: calc(100cqw * 438 / 1500);
  height: calc(100cqw * 438 / var(--pcdw));
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), #ffffff);
}

.p_concept_wrap {
  background: #ffffff;
  display: flex;
  flex-direction: column;
  row-gap: calc(100cqw * 72 / 1500);
  row-gap: calc(100cqw * 72 / var(--pcdw));
  color: #000b62;
}

.p_concept_first {
  position: relative;
  padding-top: calc(100cqw * 40 / 1500);
  padding-top: calc(100cqw * 40 / var(--pcdw));
}

.p_concept_first_contents {
  display: flex;
  justify-content: space-between;
  -moz-column-gap: calc(100cqw * 68 / 1500);
       column-gap: calc(100cqw * 68 / 1500);
  -moz-column-gap: calc(100cqw * 68 / var(--pcdw));
       column-gap: calc(100cqw * 68 / var(--pcdw));
  margin-top: calc(100cqw * 60 / 1500);
  margin-top: calc(100cqw * 60 / var(--pcdw));
  width: calc(100cqw * 1500 / 1500);
  width: calc(100cqw * 1500 / var(--pcdw));
  padding-left: calc(100cqw * 168 / 1500);
  padding-left: calc(100cqw * 168 / var(--pcdw));
}

.p_concept_first_texts {
  display: flex;
  flex-direction: column;
  row-gap: calc(100cqw * 20 / 1500);
  row-gap: calc(100cqw * 20 / var(--pcdw));
  justify-content: center;
  width: calc(100cqw * 363 / 1500);
  width: calc(100cqw * 363 / var(--pcdw));
}
.p_concept_first_texts h3 {
  font-size: calc(100cqw * 29 / 1500);
  font-size: calc(100cqw * 29 / var(--pcdw));
  line-height: 1.65;
  letter-spacing: calc(100cqw * 0.58 / 1500);
  letter-spacing: calc(100cqw * 0.58 / var(--pcdw));
}
.p_concept_first_texts h3 rt {
  font-size: calc(100cqw * 9 / 1500);
  font-size: calc(100cqw * 9 / var(--pcdw));
}

.p_concept_first_text {
  font-size: calc(100cqw * 15 / 1500);
  font-size: calc(100cqw * 15 / var(--pcdw));
  font-weight: 500;
  letter-spacing: calc(100cqw * 0.3 / 1500);
  letter-spacing: calc(100cqw * 0.3 / var(--pcdw));
  line-height: 2;
  display: flex;
  text-align: justify;
  flex-direction: column;
}

.p_concept_first_img {
  flex-shrink: 0;
}
.p_concept_first_obj {
  position: absolute;
}
.p_concept_first_obj-1 {
  top: calc(100cqw * 1 / 1500);
  top: calc(100cqw * 1 / var(--pcdw));
  left: calc(100cqw * 80 / 1500);
  left: calc(100cqw * 80 / var(--pcdw));
}
.p_concept_first_obj-2 {
  top: calc(100cqw * 113 / 1500);
  top: calc(100cqw * 113 / var(--pcdw));
  left: calc(100cqw * 295 / 1500);
  left: calc(100cqw * 295 / var(--pcdw));
}

.p_concept_second {
  position: relative;
}
.p_concept_second_contents {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  width: calc(100cqw * 1500 / 1500);
  width: calc(100cqw * 1500 / var(--pcdw));
  padding-right: calc(100cqw * 168 / 1500);
  padding-right: calc(100cqw * 168 / var(--pcdw));
}

.p_concept_second_texts {
  width: calc(100cqw * 446 / 1500);
  width: calc(100cqw * 446 / var(--pcdw));
  display: flex;
  margin-left: calc(100cqw * -54 / 1500);
  margin-left: calc(100cqw * -54 / var(--pcdw));
  flex-direction: column;
  justify-content: center;
  row-gap: calc(100cqw * 20 / 1500);
  row-gap: calc(100cqw * 20 / var(--pcdw));
}
.p_concept_second_texts h3 {
  font-size: calc(100cqw * 29 / 1500);
  font-size: calc(100cqw * 29 / var(--pcdw));
  letter-spacing: calc(100cqw * 0.58 / 1500);
  letter-spacing: calc(100cqw * 0.58 / var(--pcdw));
  line-height: 1.65;
  font-weight: 700;
}

.p_concept_second_text {
  display: flex;
  flex-direction: column;
}
.p_concept_second_text p {
  line-height: 2;
  text-align: justify;
  font-size: calc(100cqw * 15 / 1500);
  font-size: calc(100cqw * 15 / var(--pcdw));
  font-weight: 500;
  letter-spacing: calc(100cqw * 0.3 / 1500);
  letter-spacing: calc(100cqw * 0.3 / var(--pcdw));
}

.p_concept_second_img {
  flex-shrink: 0;
}
.p_concept_second_obj {
  position: absolute;
}
.p_concept_second_obj-2 {
  display: none;
}

.p_underconcept {
  position: relative;
  width: 100%;
  height: calc(100cqw * 345 / 1500);
  height: calc(100cqw * 345 / var(--pcdw));
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: -1;
  background-color: #ebf9fc;
}

.p_underconcept_inner {
  position: relative;
  width: calc(100cqw * 1590 / 1500);
  width: calc(100cqw * 1590 / var(--pcdw));
  height: calc(100cqw * 860 / 1500);
  height: calc(100cqw * 860 / var(--pcdw));
  display: flex;
  -moz-column-gap: calc(100cqw * 60 / 1500);
       column-gap: calc(100cqw * 60 / 1500);
  -moz-column-gap: calc(100cqw * 60 / var(--pcdw));
       column-gap: calc(100cqw * 60 / var(--pcdw));
  z-index: 2;
  justify-content: center;
  align-items: center;
}

.p_underconcept_row {
  display: flex;
  flex-direction: column;
  row-gap: calc(100cqw * 60 / 1500);
  row-gap: calc(100cqw * 60 / var(--pcdw));
  flex-shrink: 0;
  will-change: transform;
}
.p_underconcept_item {
  border-radius: calc(100cqw * 12 / 1500);
  border-radius: calc(100cqw * 12 / var(--pcdw));
  flex-shrink: 0;
  width: calc(100cqw * 270 / 1500);
  width: calc(100cqw * 270 / var(--pcdw));
  height: calc(100cqw * 270 / 1500);
  height: calc(100cqw * 270 / var(--pcdw));
  display: flex;
  justify-content: center;
  align-items: center;
}
.p_underconcept_item[data-item=even] {
  background-color: #cde8fd;
}
.p_underconcept_item[data-item=odd] {
  background: #d9eccb;
}

.p_underconcept_bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  pointer-events: none;
  will-change: transform;
}
.p_location {
  height: calc(100cqw * 860 / 1500);
  height: calc(100cqw * 860 / var(--pcdw));
  min-height: 100lvh;
  display: flex;
  background-color: #ffffff;
}

.p_location_title {
  width: calc(100cqw * 460 / 1500);
  width: calc(100cqw * 460 / var(--pcdw));
  display: flex;
  align-items: center;
  padding-left: calc(100cqw * 96 / 1500);
  padding-left: calc(100cqw * 96 / var(--pcdw));
  will-change: transform;
}

.p_location_contents {
  background: #00b2a1;
  display: flex;
  flex-direction: column;
  position: relative;
  justify-content: center;
  width: calc(100cqw * 1040 / 1500);
  width: calc(100cqw * 1040 / var(--pcdw));
  padding: calc(100cqw * 92 / 1500 + min(100cqw * 91 / 1500, 91 * 1px)) calc(100cqw * 94 / 1500) calc(100cqw * 92 / 1500);
  padding: calc(100cqw * 92 / var(--pcdw) + min(100cqw * 91 / var(--pcdw), 91 * 1px)) calc(100cqw * 94 / var(--pcdw)) calc(100cqw * 92 / var(--pcdw));
  row-gap: calc(100cqw * 58 / 1500);
  row-gap: calc(100cqw * 58 / var(--pcdw));
}
.p_location_contents h3 {
  color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: calc(100cqw * 22 / 1500);
       column-gap: calc(100cqw * 22 / 1500);
  -moz-column-gap: calc(100cqw * 22 / var(--pcdw));
       column-gap: calc(100cqw * 22 / var(--pcdw));
  font-size: calc(100cqw * 32 / 1500);
  font-size: calc(100cqw * 32 / var(--pcdw));
  font-weight: 700;
}
.p_location_contents h3::before, .p_location_contents h3::after {
  background: #ffffff;
  width: calc(100cqw * 10 / 1500);
  width: calc(100cqw * 10 / var(--pcdw));
  height: calc(100cqw * 10 / 1500);
  height: calc(100cqw * 10 / var(--pcdw));
  content: "";
  display: block;
  border-radius: 50%;
}

.p_location_map {
  position: relative;
}
.p_location_map_notes {
  position: absolute;
  z-index: 2;
  top: calc(100cqw * 341 / 1500);
  top: calc(100cqw * 341 / var(--pcdw));
  left: calc(100cqw * 115 / 1500);
  left: calc(100cqw * 115 / var(--pcdw));
  will-change: transform, opacity;
  transform: translateY(calc(100cqw * 50 / 1500));
  transform: translateY(calc(100cqw * 50 / var(--pcdw)));
  opacity: 0;
}
.p_location_map_notes h4 {
  background: #f29702;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: calc(100cqw * 183 / 1500);
  width: calc(100cqw * 183 / var(--pcdw));
  height: calc(100cqw * 34 / 1500);
  height: calc(100cqw * 34 / var(--pcdw));
  color: #ffffff;
  border-radius: calc(infinity * 1px);
  font-size: calc(100cqw * 16 / 1500);
  font-size: calc(100cqw * 16 / var(--pcdw));
  font-weight: 700;
  letter-spacing: calc(100cqw * 0.48 / 1500);
  letter-spacing: calc(100cqw * 0.48 / var(--pcdw));
  display: flex;
  justify-content: center;
  align-items: center;
}
.p_location_map_notes p {
  background-color: #fef5e6;
  width: calc(100cqw * 228 / 1500);
  width: calc(100cqw * 228 / var(--pcdw));
  padding: calc(100cqw * 38 / 1500) calc(100cqw * 42 / 1500) calc(100cqw * 30 / 1500);
  padding: calc(100cqw * 38 / var(--pcdw)) calc(100cqw * 42 / var(--pcdw)) calc(100cqw * 30 / var(--pcdw));
  border-radius: calc(100cqw * 10 / 1500);
  border-radius: calc(100cqw * 10 / var(--pcdw));
}

.p_location_map_line {
  position: absolute;
  z-index: 3;
  top: calc(100cqw * 250.5 / 1500);
  top: calc(100cqw * 250.5 / var(--pcdw));
  left: calc(100cqw * 343.5 / 1500);
  left: calc(100cqw * 343.5 / var(--pcdw));
}
.p_location_map_line svg path {
  fill: none;
  stroke: #1560ab;
  stroke-width: min(100cqw * 1 / 1500, 1 * 1px);
  stroke-width: min(100cqw * 1 / var(--pcdw), 1 * 1px);
}

.p_location_map_point {
  position: absolute;
  z-index: 4;
  width: calc(100cqw * 8 / 1500);
  width: calc(100cqw * 8 / var(--pcdw));
  height: calc(100cqw * 8 / 1500);
  height: calc(100cqw * 8 / var(--pcdw));
  background: #1560ab;
  border-radius: 50%;
  top: calc(100cqw * 246 / 1500);
  top: calc(100cqw * 246 / var(--pcdw));
  left: calc(100cqw * 475 / 1500);
  left: calc(100cqw * 475 / var(--pcdw));
  will-change: transform;
  scale: 0;
}
.p_location_map_point div {
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100cqw * 56 / 1500);
  width: calc(100cqw * 56 / var(--pcdw));
  height: calc(100cqw * 56 / 1500);
  height: calc(100cqw * 56 / var(--pcdw));
  background: rgba(21, 96, 171, 0.4);
  border-radius: 50%;
  border: calc(100cqw * 2 / 1500) solid #1560ab;
  border: calc(100cqw * 2 / var(--pcdw)) solid #1560ab;
  opacity: 0;
  will-change: transform, opacity;
}

.p_location_map_spbtn {
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  display: none;
}

.p_location_obj {
  position: absolute;
  z-index: 2;
  will-change: transform, opacity;
}
.p_location_obj-2 {
  top: calc(100cqw * -66.5 / 1500);
  top: calc(100cqw * -66.5 / var(--pcdw));
  left: calc(100cqw * -55.9 / 1500);
  left: calc(100cqw * -55.9 / var(--pcdw));
}
.p_location_obj-1 {
  top: calc(100cqw * 408 / 1500);
  top: calc(100cqw * 408 / var(--pcdw));
  right: calc(100cqw * -73 / 1500);
  right: calc(100cqw * -73 / var(--pcdw));
}

.p_news {
  position: relative;
  z-index: 2;
  margin-left: auto;
  margin-right: auto;
  width: calc(100cqw * 832 / 1500);
  width: calc(100cqw * 832 / var(--pcdw));
  padding: calc(100cqw * 58 / 1500) calc(100cqw * 60 / 1500);
  padding: calc(100cqw * 58 / var(--pcdw)) calc(100cqw * 60 / var(--pcdw));
  border-radius: calc(100cqw * 14 / 1500);
  border-radius: calc(100cqw * 14 / var(--pcdw));
  background-color: rgba(255, 255, 255, 0.9);
}

.p_news_lists {
  display: flex;
  flex-direction: column;
  margin-top: calc(100cqw * 38 / 1500);
  margin-top: calc(100cqw * 38 / var(--pcdw));
  row-gap: calc(100cqw * 10 / 1500);
  row-gap: calc(100cqw * 10 / var(--pcdw));
}

.p_news_x {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  color: #000b62;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-top: calc(100cqw * 36 / 1500);
  margin-top: calc(100cqw * 36 / var(--pcdw));
  -moz-column-gap: calc(100cqw * 10 / 1500);
       column-gap: calc(100cqw * 10 / 1500);
  -moz-column-gap: calc(100cqw * 10 / var(--pcdw));
       column-gap: calc(100cqw * 10 / var(--pcdw));
  font-size: calc(100cqw * 18 / 1500);
  font-size: calc(100cqw * 18 / var(--pcdw));
  letter-spacing: calc(100cqw * 0.54 / 1500);
  letter-spacing: calc(100cqw * 0.54 / var(--pcdw));
  transition-property: background-color;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
.p_news_x span:nth-child(2) {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  width: calc(100cqw * 48 / 1500);
  width: calc(100cqw * 48 / var(--pcdw));
  height: calc(100cqw * 48 / 1500);
  height: calc(100cqw * 48 / var(--pcdw));
  position: relative;
}
.p_news_x span:nth-child(2) .c_img {
  position: relative;
  z-index: 2;
}
.p_news_x span:nth-child(2)::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: center center;
  transform: translate(-50%, -50%);
  display: block;
  width: calc(100cqw * 48 / 1500);
  width: calc(100cqw * 48 / var(--pcdw));
  height: calc(100cqw * 48 / 1500);
  height: calc(100cqw * 48 / var(--pcdw));
  border-radius: 50%;
  background-color: #000b62;
  transition-property: transform, background-color;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}

.p_contact {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  padding-top: calc(100cqw * 124 / 1500);
  padding-top: calc(100cqw * 124 / var(--pcdw));
  margin: calc(100cqw * -124 / 1500) auto 0;
  margin: calc(100cqw * -124 / var(--pcdw)) auto 0;
}

.p_contact_wrap {
  width: calc(100cqw * 1164 / 1500);
  width: calc(100cqw * 1164 / var(--pcdw));
  height: calc(100cqw * 337 / 1500);
  height: calc(100cqw * 337 / var(--pcdw));
  position: relative;
  transition-property: background-color;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
.p_contact_wrap .c_h2 {
  width: -moz-fit-content;
  width: fit-content;
}

.p_contact_link {
  display: flex;
  -moz-column-gap: calc(100cqw * 174 / 1500);
       column-gap: calc(100cqw * 174 / 1500);
  -moz-column-gap: calc(100cqw * 174 / var(--pcdw));
       column-gap: calc(100cqw * 174 / var(--pcdw));
  align-items: center;
  border: calc(100cqw * 6 / 1500) solid #00b2a1;
  border: calc(100cqw * 6 / var(--pcdw)) solid #00b2a1;
  border-radius: calc(100cqw * 14 / 1500);
  border-radius: calc(100cqw * 14 / var(--pcdw));
  padding-left: calc(100cqw * 122 / 1500);
  padding-left: calc(100cqw * 122 / var(--pcdw));
  height: 100%;
}

.p_contact_text {
  flex-shrink: 0;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  row-gap: calc(100cqw * 28 / 1500);
  row-gap: calc(100cqw * 28 / var(--pcdw));
}
.p_contact_text p {
  font-size: calc(100cqw * 20 / 1500);
  font-size: calc(100cqw * 20 / var(--pcdw));
  letter-spacing: calc(100cqw * 0.6 / 1500);
  letter-spacing: calc(100cqw * 0.6 / var(--pcdw));
  line-height: 1.9;
  color: #000b62;
}

.p_contact_btn {
  background-color: #000b62;
  border-radius: calc(infinity * 1px);
  color: #ffffff;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  padding: calc(100cqw * 20 / 1500) calc(100cqw * 20 / 1500) calc(100cqw * 20 / 1500) calc(100cqw * 34 / 1500);
  padding: calc(100cqw * 20 / var(--pcdw)) calc(100cqw * 20 / var(--pcdw)) calc(100cqw * 20 / var(--pcdw)) calc(100cqw * 34 / var(--pcdw));
  -moz-column-gap: calc(100cqw * 26 / 1500);
       column-gap: calc(100cqw * 26 / 1500);
  -moz-column-gap: calc(100cqw * 26 / var(--pcdw));
       column-gap: calc(100cqw * 26 / var(--pcdw));
  font-size: calc(100cqw * 16 / 1500);
  font-size: calc(100cqw * 16 / var(--pcdw));
  font-weight: 700;
  letter-spacing: calc(100cqw * 0.48 / 1500);
  letter-spacing: calc(100cqw * 0.48 / var(--pcdw));
  border: calc(100cqw * 2 / 1500) solid #000b62;
  border: calc(100cqw * 2 / var(--pcdw)) solid #000b62;
  transition-property: background-color, color;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}

.p_contact_obj {
  position: absolute;
  pointer-events: none;
  transition-property: transform;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
.p_contact_obj-1 {
  top: calc(100cqw * 103.22 / 1500);
  top: calc(100cqw * 103.22 / var(--pcdw));
  left: calc(100cqw * -182.39 / 1500);
  left: calc(100cqw * -182.39 / var(--pcdw));
}
.p_contact_obj-2 {
  top: calc(100cqw * -105 / 1500);
  top: calc(100cqw * -105 / var(--pcdw));
  left: calc(100cqw * 901 / 1500);
  left: calc(100cqw * 901 / var(--pcdw));
}

#kids_village .b {
  fill: #ddbe42;
}
#kids_village .c {
  fill: #a7cc56;
}
#kids_village .d {
  fill: #85bfff;
}
#kids_village .e {
  fill: #00b2a1;
}
#kids_village .f {
  fill: #000b62;
}

#kids_village_sp .b {
  fill: #ddbe42;
}
#kids_village_sp .c {
  fill: #a7cc56;
}
#kids_village_sp .d {
  fill: #85bfff;
}
#kids_village_sp .e {
  fill: #00b2a1;
}
#kids_village_sp .f {
  fill: #000b62;
}

#sp_trigger .b {
  fill: #a7cc56;
}
#sp_trigger .c {
  fill: #85bfff;
}
#sp_trigger .d {
  fill: #00b2a1;
}

.p_locationsp {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s, visibility 0.3s;
}
.p_locationsp.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.p_locationsp_inner {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p_locationsp_content {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.p_locationsp_mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  will-change: opacity;
}
.p_locationsp_close {
  position: absolute;
  z-index: 20;
  top: calc(100cqw * 16 / 400);
  top: calc(100cqw * 16 / var(--spdw));
  right: calc(100cqw * 16 / 400);
  right: calc(100cqw * 16 / var(--spdw));
  width: calc(100cqw * 32 / 400);
  width: calc(100cqw * 32 / var(--spdw));
  height: calc(100cqw * 32 / 400);
  height: calc(100cqw * 32 / var(--spdw));
}

/* ==========================================================================
   Utility (調整用クラス)
   ========================================================================== */
.u_anim-rotation {
  animation: rotation 3s infinite ease-in-out;
  animation-delay: var(--anim-rotation-delay);
}
.u_anim-rotation-reverse {
  animation: rotation 3s infinite ease-in-out reverse;
  animation-delay: var(--anim-rotation-delay);
}

.u_anim-rotation-s {
  animation: rotation-s 4s infinite ease-in-out;
  animation-delay: var(--anim-rotation-delay);
}
.u_anim-rotation-s-reverse {
  animation: rotation-s 4s infinite ease-in-out reverse;
  animation-delay: var(--anim-rotation-delay);
}

.u_anim-rotation-ss {
  animation: rotation-ss 5s infinite ease-in-out;
  animation-delay: var(--anim-rotation-delay);
}
.u_anim-rotation-ss-reverse {
  animation: rotation-ss 5s infinite ease-in-out reverse;
  animation-delay: var(--anim-rotation-delay);
}

@keyframes rotation {
  0%, 100% {
    transform: rotate(5deg) translate(0, -2.5%);
  }
  50% {
    transform: rotate(-5deg) translate(0, 2.5%);
  }
}
@keyframes rotation-s {
  0%, 100% {
    transform: rotate(2.5deg) translate(0, -1.25%);
  }
  50% {
    transform: rotate(-2.5deg) translate(0, 1.25%);
  }
}
@keyframes rotation-ss {
  0%, 100% {
    transform: rotate(1.25deg) translate(0, -0.625%);
  }
  50% {
    transform: rotate(-1.25deg) translate(0, 0.625%);
  }
}
@keyframes title-pop {
  0% {
    opacity: 0;
    transform: rotate(0deg) scale(1);
  }
  20% {
    opacity: 1;
    transform: rotate(0deg) scale(1);
  }
  34% {
    transform: rotate(2deg) translate(1px, 1px) scale(1.02, 0.98);
  }
  35% {
    transform: rotate(2deg) translate(1px, 1px) scale(1.02, 0.98);
  }
  69% {
    transform: rotate(-2deg) translate(-1px, -2px) scale(0.98, 1.02);
  }
  70% {
    transform: rotate(-2deg) translate(-1px, -2px) scale(0.98, 1.02);
  }
  99% {
    transform: rotate(0deg) translate(0, 0) scale(1);
  }
  100% {
    opacity: 1;
    transform: rotate(0deg) translate(0, 0) scale(1);
  }
}
.u_title-pop {
  will-change: transform, opacity;
  animation: title-pop 0.8s steps(1) forwards;
}

.u_char {
  will-change: opacity, transform;
}

.u_db {
  display: block;
}

.u_db-pc {
  display: block;
}

.u_db-sp {
  display: none;
}

.u_dib-db {
  display: inline-block;
}

.u_dn-di {
  display: none;
}

.u_dib {
  display: inline-block;
}

.u_dib-pc {
  display: inline-block;
}

.u_dib-sp {
  display: none;
}

.u_db-dib {
  display: block;
}

.u_db-di {
  display: block;
}

.u_dib-di {
  display: inline-block;
}

.u_dib-db {
  display: inline-block;
}

.u_di {
  display: inline;
}

.u_di-pc {
  display: inline;
}

.u_di-sp {
  display: none;
}

.u_df {
  display: flex;
}

.u_df-pc {
  display: flex;
}

.u_df-sp {
  display: none;
}

.u_dif {
  display: inline-flex;
}

.u_dif-pc {
  display: inline-flex;
}

.u_dif-sp {
  display: none;
}

.u_jcc {
  justify-content: center;
}

.u_font-lato {
  font-family: "Lato", sans-serif;
}
.u_font-inter {
  font-family: "Inter", sans-serif;
}
@media (max-width: 1023px){
  .l_header {
    top: calc(100cqw * 14 / 400);
    top: calc(100cqw * 14 / var(--spdw));
    width: calc(100cqw * 354 / 400);
    width: calc(100cqw * 354 / var(--spdw));
    height: auto;
    border-radius: calc(100cqw * 34 / 400);
    border-radius: calc(100cqw * 34 / var(--spdw));
    box-shadow: 0 calc(100cqw * 2 / 400) calc(100cqw * 8 / 400) 0 rgba(0, 0, 0, 0.08);
    box-shadow: 0 calc(100cqw * 2 / var(--spdw)) calc(100cqw * 8 / var(--spdw)) 0 rgba(0, 0, 0, 0.08);
  }
  .l_header_wrap {
    padding-left: 0;
    padding-right: 0;
    position: relative;
    min-height: calc(100cqw * 66 / 400);
    min-height: calc(100cqw * 66 / var(--spdw));
    border-radius: calc(100cqw * 34 / 400);
    border-radius: calc(100cqw * 34 / var(--spdw));
  }
  .l_header_logos {
    position: absolute;
    left: calc(100cqw * 29.11 / 400);
    left: calc(100cqw * 29.11 / var(--spdw));
    top: calc(100cqw * 15.9 / 400);
    top: calc(100cqw * 15.9 / var(--spdw));
    -moz-column-gap: calc(100cqw * 17 / 400);
         column-gap: calc(100cqw * 17 / 400);
    -moz-column-gap: calc(100cqw * 17 / var(--spdw));
         column-gap: calc(100cqw * 17 / var(--spdw));
  }
  .l_header_logos > span {
    width: calc(100cqw * 0.23 / 400);
    width: calc(100cqw * 0.23 / var(--spdw));
    height: calc(100cqw * 34.22 / 400);
    height: calc(100cqw * 34.22 / var(--spdw));
  }
  .l_header_logos a:nth-child(3) {
    padding-bottom: calc(100cqw * 1.5 / 400);
    padding-bottom: calc(100cqw * 1.5 / var(--spdw));
  }
  .l_header_container {
    height: 0;
    overflow: clip;
    -webkit-overflow-scrolling: touch;
    padding-left: calc(100cqw * 29 / 400);
    padding-right: calc(100cqw * 29 / 400);
    padding-left: calc(100cqw * 29 / var(--spdw));
    padding-right: calc(100cqw * 29 / var(--spdw));
    margin-top: calc(100cqw * 66 / 400);
    margin-top: calc(100cqw * 66 / var(--spdw));
    width: 100%;
  }
  .l_header_container.is-active {
    overflow-y: auto;
    overscroll-behavior: contain;
    max-height: calc(100dvh - (100cqw * 28 / 400) - (100cqw * 66 / 400));
    max-height: calc(100dvh - (100cqw * 28 / var(--spdw)) - (100cqw * 66 / var(--spdw)));
    max-height: calc(100dvh - calc(100cqw * 28 / 400) - calc(100cqw * 66 / 400));
    max-height: calc(100dvh - calc(100cqw * 28 / var(--spdw)) - calc(100cqw * 66 / var(--spdw)));
  }
  .l_header_container_inner {
    padding-top: calc(100cqw * 20 / 400);
    padding-top: calc(100cqw * 20 / var(--spdw));
    padding-bottom: calc(100cqw * 51 / 400);
    padding-bottom: calc(100cqw * 51 / var(--spdw));
  }
  .l_header_links {
    flex-direction: column;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: calc(100cqw * 10 / 400);
    row-gap: calc(100cqw * 10 / var(--spdw));
    font-size: calc(100cqw * 17 / 400);
    font-size: calc(100cqw * 17 / var(--spdw));
    align-items: flex-start;
    width: calc(100cqw * 281 / 400);
    width: calc(100cqw * 281 / var(--spdw));
    margin-left: auto;
    margin-right: auto;
    color: #ffffff;
    letter-spacing: calc(100cqw * 1.19 / 400);
    letter-spacing: calc(100cqw * 1.19 / var(--spdw));
  }
  .l_header_links li {
    width: 100%;
  }
  .l_header_links li:nth-child(odd) a {
    background: #00b2a1;
  }
  .l_header_links li:nth-child(even) a {
    background: #a7cc56;
  }
  .l_header_links a {
    display: flex;
    align-items: center;
    border-radius: calc(100cqw * 10 / 400);
    border-radius: calc(100cqw * 10 / var(--spdw));
    height: calc(100cqw * 60 / 400);
    height: calc(100cqw * 60 / var(--spdw));
    justify-content: space-between;
    padding-left: calc(100cqw * 22 / 400);
    padding-left: calc(100cqw * 22 / var(--spdw));
    padding-right: calc(100cqw * 12 / 400);
    padding-right: calc(100cqw * 12 / var(--spdw));
  }
  .l_header_links_icon {
    display: block;
  }
  .l_header_sns {
    display: block;
    padding-top: calc(100cqw * 31 / 400);
    padding-top: calc(100cqw * 31 / var(--spdw));
    display: flex;
    flex-direction: column;
    row-gap: calc(100cqw * 22 / 400);
    row-gap: calc(100cqw * 22 / var(--spdw));
    align-items: center;
  }
  .l_header_trigger {
    display: block;
    position: absolute;
    width: calc(100cqw * 32 / 400);
    width: calc(100cqw * 32 / var(--spdw));
    height: calc(100cqw * 22 / 400);
    height: calc(100cqw * 22 / var(--spdw));
    right: calc(100cqw * 29 / 400);
    right: calc(100cqw * 29 / var(--spdw));
    top: calc(100cqw * 20.5 / 400);
    top: calc(100cqw * 20.5 / var(--spdw));
    display: flex;
    justify-content: center;
    align-items: center;
    background: transparent;
  }
  .l_header_shadow {
    position: absolute;
    display: block;
    opacity: 0;
    visibility: hidden;
    z-index: 1;
    top: calc(100cqw * -14 / 400);
    top: calc(100cqw * -14 / var(--spdw));
    left: calc(100cqw * -11 / 400);
    left: calc(100cqw * -11 / var(--spdw));
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.25);
    pointer-events: none;
  }
  .l_footer {
    padding-top: calc(100cqw * 75 / 400);
    padding-top: calc(100cqw * 75 / var(--spdw));
    padding-bottom: calc(100cqw * 377 / 400);
    padding-bottom: calc(100cqw * 377 / var(--spdw));
  }
  .l_footer small {
    font-size: calc(100cqw * 10 / 400);
    font-size: calc(100cqw * 10 / var(--spdw));
    letter-spacing: calc(100cqw * 0.5 / 400);
    letter-spacing: calc(100cqw * 0.5 / var(--spdw));
    margin-top: calc(100cqw * 26 / 400);
    margin-top: calc(100cqw * 26 / var(--spdw));
  }
  .l_footer_links {
    row-gap: calc(100cqw * 21 / 400);
    row-gap: calc(100cqw * 21 / var(--spdw));
    margin-top: calc(100cqw * 38 / 400);
    margin-top: calc(100cqw * 38 / var(--spdw));
  }
  .l_footer_links_items {
    flex-direction: column;
    row-gap: calc(100cqw * 21 / 400);
    row-gap: calc(100cqw * 21 / var(--spdw));
  }
  .l_footer_wave {
    top: auto;
    bottom: calc(100cqw * 120 / 400);
    bottom: calc(100cqw * 120 / var(--spdw));
  }
  .l_footer_bg {
    height: calc(1vh * 120);
    height: calc(var(--vh, 1vh) * 120);
  }
  .l_footer_slider {
    bottom: 0;
  }
  .l_footer_slide_item {
    width: calc(100cqw * 956 / 400);
    width: calc(100cqw * 956 / var(--spdw));
    height: calc(100cqw * 122 / 400);
    height: calc(100cqw * 122 / var(--spdw));
  }
  .l_footer_slide_obj-1 {
    top: calc(100cqw * 0.56 / 400);
    top: calc(100cqw * 0.56 / var(--spdw));
    left: calc(100cqw * 20.08 / 400);
    left: calc(100cqw * 20.08 / var(--spdw));
  }
  .l_footer_slide_obj-2 {
    top: calc(100cqw * 32.5 / 400);
    top: calc(100cqw * 32.5 / var(--spdw));
    left: calc(100cqw * 152.96 / 400);
    left: calc(100cqw * 152.96 / var(--spdw));
  }
  .l_footer_slide_obj-3 {
    top: calc(100cqw * 2.63 / 400);
    top: calc(100cqw * 2.63 / var(--spdw));
    left: calc(100cqw * 244.74 / 400);
    left: calc(100cqw * 244.74 / var(--spdw));
  }
  .l_footer_slide_obj-4 {
    top: calc(100cqw * 31.87 / 400);
    top: calc(100cqw * 31.87 / var(--spdw));
    left: calc(100cqw * 358.18 / 400);
    left: calc(100cqw * 358.18 / var(--spdw));
  }
  .l_footer_slide_obj-5 {
    top: calc(100cqw * 0.67 / 400);
    top: calc(100cqw * 0.67 / var(--spdw));
    left: calc(100cqw * 462.07 / 400);
    left: calc(100cqw * 462.07 / var(--spdw));
  }
  .l_footer_slide_obj-6 {
    top: calc(100cqw * 36.58 / 400);
    top: calc(100cqw * 36.58 / var(--spdw));
    left: calc(100cqw * 624.51 / 400);
    left: calc(100cqw * 624.51 / var(--spdw));
  }
  .l_footer_slide_obj-7 {
    top: calc(100cqw * -5.1 / 400);
    top: calc(100cqw * -5.1 / var(--spdw));
    left: calc(100cqw * 736.44 / 400);
    left: calc(100cqw * 736.44 / var(--spdw));
  }
  .l_footer_slide_obj-8 {
    top: calc(100cqw * 30.28 / 400);
    top: calc(100cqw * 30.28 / var(--spdw));
    left: calc(100cqw * 868.61 / 400);
    left: calc(100cqw * 868.61 / var(--spdw));
  }
  .c_h2 {
    row-gap: calc(100cqw * 16 / 400);
    row-gap: calc(100cqw * 16 / var(--spdw));
  }
  .c_h2 hgroup {
    row-gap: calc(100cqw * 6 / 400);
    row-gap: calc(100cqw * 6 / var(--spdw));
  }
  .c_h2-left hgroup {
    justify-content: center;
    align-items: center;
  }
  .c_h2-left .c_h2_icon {
    justify-content: center;
  }
  .c_h2_en {
    font-size: calc(100cqw * 32 / 400);
    font-size: calc(100cqw * 32 / var(--spdw));
    letter-spacing: calc(100cqw * 3.2 / 400);
    letter-spacing: calc(100cqw * 3.2 / var(--spdw));
  }
  .c_h2_jp {
    font-size: calc(100cqw * 16 / 400);
    font-size: calc(100cqw * 16 / var(--spdw));
    letter-spacing: calc(100cqw * 0.48 / 400);
    letter-spacing: calc(100cqw * 0.48 / var(--spdw));
  }
  .c_h2_icon {
    -moz-column-gap: calc(100cqw * 7 / 400);
         column-gap: calc(100cqw * 7 / 400);
    -moz-column-gap: calc(100cqw * 7 / var(--spdw));
         column-gap: calc(100cqw * 7 / var(--spdw));
  }
  .c_h2_icon span {
    width: calc(100cqw * 15 / 400);
    width: calc(100cqw * 15 / var(--spdw));
    height: calc(100cqw * 15 / 400);
    height: calc(100cqw * 15 / var(--spdw));
    border-radius: calc(100cqw * 4 / 400);
    border-radius: calc(100cqw * 4 / var(--spdw));
  }
  .c_img[data-type=pc] {
    width: calc(100cqw * var(--spw) / 400);
    width: calc(100cqw * var(--spw) / var(--spdw));
    aspect-ratio: calc(var(--spw) / var(--sph));
  }
  .c_img[data-type=vpc] {
    width: calc(100cqw * var(--spw) / 400);
    width: calc(100cqw * var(--spw) / var(--spdw));
    aspect-ratio: calc(var(--spw) / var(--sph));
  }
  .c_img[data-type=sp] {
    display: block;
    width: calc(100cqw * var(--spw) / 400);
    width: calc(100cqw * var(--spw) / var(--spdw));
    aspect-ratio: calc(var(--spw) / var(--sph));
  }
  .c_footerlink {
    font-size: calc(100cqw * 14 / 400);
    font-size: calc(100cqw * 14 / var(--spdw));
    letter-spacing: calc(100cqw * 0.42 / 400);
    letter-spacing: calc(100cqw * 0.42 / var(--spdw));
    -moz-column-gap: calc(100cqw * 4 / 400);
         column-gap: calc(100cqw * 4 / 400);
    -moz-column-gap: calc(100cqw * 4 / var(--spdw));
         column-gap: calc(100cqw * 4 / var(--spdw));
    line-height: 1.7;
  }
  .c_footerlink_icon {
    margin-left: calc(100cqw * 4 / 400);
    margin-left: calc(100cqw * 4 / var(--spdw));
    transform: translateY(calc(100cqw * 1 / 400));
    transform: translateY(calc(100cqw * 1 / var(--spdw)));
  }
  .c_newsitem {
    padding: calc(100cqw * 22 / 400);
    padding: calc(100cqw * 22 / var(--spdw));
    border-width: calc(100cqw * 1 / 400);
    border-width: calc(100cqw * 1 / var(--spdw));
    border-radius: calc(100cqw * 16 / 400);
    border-radius: calc(100cqw * 16 / var(--spdw));
    flex-wrap: wrap;
    row-gap: calc(100cqw * 10 / 400);
    row-gap: calc(100cqw * 10 / var(--spdw));
  }
  .c_newsitem time {
    font-size: calc(100cqw * 14 / 400);
    font-size: calc(100cqw * 14 / var(--spdw));
    letter-spacing: calc(100cqw * 0.7 / 400);
    letter-spacing: calc(100cqw * 0.7 / var(--spdw));
  }
  .c_newsitem_cat {
    padding: calc(100cqw * 5 / 400) calc(100cqw * 6 / 400);
    padding: calc(100cqw * 5 / var(--spdw)) calc(100cqw * 6 / var(--spdw));
    font-size: calc(100cqw * 13 / 400);
    font-size: calc(100cqw * 13 / var(--spdw));
    letter-spacing: calc(100cqw * 0.39 / 400);
    letter-spacing: calc(100cqw * 0.39 / var(--spdw));
    margin: 0 0 0 calc(100cqw * 16 / 400);
    margin: 0 0 0 calc(100cqw * 16 / var(--spdw));
    border-radius: calc(100cqw * 4 / 400);
    border-radius: calc(100cqw * 4 / var(--spdw));
  }
  .c_newsitem_text {
    width: 100%;
    flex: initial;
    align-items: center;
    -moz-column-gap: calc(100cqw * 8 / 400);
         column-gap: calc(100cqw * 8 / 400);
    -moz-column-gap: calc(100cqw * 8 / var(--spdw));
         column-gap: calc(100cqw * 8 / var(--spdw));
  }
  .c_newsitem_text_content {
    font-size: calc(100cqw * 15 / 400);
    font-size: calc(100cqw * 15 / var(--spdw));
    letter-spacing: calc(100cqw * 0.45 / 400);
    letter-spacing: calc(100cqw * 0.45 / var(--spdw));
    line-height: 1.55;
  }
  .c_sns {
    row-gap: calc(100cqw * 18 / 400);
    row-gap: calc(100cqw * 18 / var(--spdw));
  }
  .c_sns_title {
    -moz-column-gap: calc(100cqw * 10 / 400);
         column-gap: calc(100cqw * 10 / 400);
    -moz-column-gap: calc(100cqw * 10 / var(--spdw));
         column-gap: calc(100cqw * 10 / var(--spdw));
    font-size: calc(100cqw * 17 / 400);
    font-size: calc(100cqw * 17 / var(--spdw));
    letter-spacing: calc(100cqw * 0.85 / 400);
    letter-spacing: calc(100cqw * 0.85 / var(--spdw));
  }
  .c_sns_title::before, .c_sns_title::after {
    width: calc(100cqw * 6 / 400);
    width: calc(100cqw * 6 / var(--spdw));
    height: calc(100cqw * 6 / 400);
    height: calc(100cqw * 6 / var(--spdw));
  }
  .c_sns_list {
    -moz-column-gap: calc(100cqw * 16 / 400);
         column-gap: calc(100cqw * 16 / 400);
    -moz-column-gap: calc(100cqw * 16 / var(--spdw));
         column-gap: calc(100cqw * 16 / var(--spdw));
  }
  .c_sns_list a {
    width: calc(100cqw * 56 / 400);
    width: calc(100cqw * 56 / var(--spdw));
    height: calc(100cqw * 56 / 400);
    height: calc(100cqw * 56 / var(--spdw));
  }
  .c_pagetop {
    top: auto;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    bottom: calc(100cqw * -200 / 400);
    bottom: calc(100cqw * -200 / var(--spdw));
  }
  .c_pagetop_obj {
    top: calc(100cqw * 38 / 400);
    top: calc(100cqw * 38 / var(--spdw));
    left: calc(100cqw * 37 / 400);
    left: calc(100cqw * 37 / var(--spdw));
  }
  .c_pagetop_arrow {
    top: calc(100cqw * -21.7 / 400);
    top: calc(100cqw * -21.7 / var(--spdw));
  }
  .p_index_fv {
    height: 100svh;
  }
  .p_index_fv_bg {
    height: calc(1vh * 120);
    height: calc(var(--vh, 1vh) * 120);
  }
  .p_index_last::after {
    top: calc(100cqw * 160 / 400);
    top: calc(100cqw * 160 / var(--spdw));
    height: calc(100% - 100cqw * 162 / 400);
    height: calc(100% - 100cqw * 162 / var(--spdw));
  }
  .p_index_last {
    margin-top: calc(100cqw * 300 / 400);
    margin-top: calc(100cqw * 300 / var(--spdw));
  }
  .p_fv {
    height: 100svh;
  }
  .p_fv_first {
    height: calc(100cqw * 660 / 400);
    height: calc(100cqw * 660 / var(--spdw));
  }
  .p_fv1_wrap {
    height: calc(100cqw * 660 / 400);
    height: calc(100cqw * 660 / var(--spdw));
  }
  .p_fv1_title {
    top: calc(100cqw * 98 / 400);
    top: calc(100cqw * 98 / var(--spdw));
    left: calc(100cqw * 41 / 400);
    left: calc(100cqw * 41 / var(--spdw));
  }
  .p_fv1_title em {
    font-size: calc(100cqw * 21 / 400);
    font-size: calc(100cqw * 21 / var(--spdw));
    letter-spacing: calc(100cqw * 0.42 / 400);
    letter-spacing: calc(100cqw * 0.42 / var(--spdw));
    padding-top: calc(100cqw * 8 / 400);
    padding-top: calc(100cqw * 8 / var(--spdw));
    transform: translateY(calc(100cqw * 25 / 400));
    transform: translateY(calc(100cqw * 25 / var(--spdw)));
  }
  .p_fv1_title_texts {
    display: flex;
    align-items: baseline;
    -moz-column-gap: calc(100cqw * 4 / 400);
         column-gap: calc(100cqw * 4 / 400);
    -moz-column-gap: calc(100cqw * 4 / var(--spdw));
         column-gap: calc(100cqw * 4 / var(--spdw));
  }
  .p_fv1_title_txt {
    font-size: calc(100cqw * 14 / 400);
    font-size: calc(100cqw * 14 / var(--spdw));
    -moz-column-gap: calc(100cqw * 2 / 400);
         column-gap: calc(100cqw * 2 / 400);
    -moz-column-gap: calc(100cqw * 2 / var(--spdw));
         column-gap: calc(100cqw * 2 / var(--spdw));
    transform: translateY(calc(100cqw * 25 / 400));
    transform: translateY(calc(100cqw * 25 / var(--spdw)));
  }
  .p_fv1_title_txt span:nth-child(1) {
    font-size: calc(100cqw * 18 / 400);
    font-size: calc(100cqw * 18 / var(--spdw));
    letter-spacing: calc(100cqw * 0.54 / 400);
    letter-spacing: calc(100cqw * 0.54 / var(--spdw));
  }
  .p_fv1_title_svg {
    padding-top: calc(100cqw * 14 / 400);
    padding-top: calc(100cqw * 14 / var(--spdw));
  }
  .p_fv1_title_last {
    padding-top: calc(100cqw * 11 / 400);
    padding-top: calc(100cqw * 11 / var(--spdw));
    font-size: calc(100cqw * 15 / 400);
    font-size: calc(100cqw * 15 / var(--spdw));
    letter-spacing: calc(100cqw * -0.45 / 400);
    letter-spacing: calc(100cqw * -0.45 / var(--spdw));
    transform: translateY(calc(100cqw * 25 / 400));
    transform: translateY(calc(100cqw * 25 / var(--spdw)));
  }
  .p_fv1_title_last span {
    letter-spacing: calc(100cqw * -1.5 / 400);
    letter-spacing: calc(100cqw * -1.5 / var(--spdw));
  }
  .p_fv1_start {
    top: calc(100cqw * 213 / 400);
    top: calc(100cqw * 213 / var(--spdw));
    left: calc(100cqw * 64 / 400);
    left: calc(100cqw * 64 / var(--spdw));
    width: calc(100cqw * 245 / 400);
    width: calc(100cqw * 245 / var(--spdw));
    box-shadow: 0 0 calc(100cqw * 10.2 / 400) 0 rgba(21, 96, 171, 0.15);
    box-shadow: 0 0 calc(100cqw * 10.2 / var(--spdw)) 0 rgba(21, 96, 171, 0.15);
    padding: calc(100cqw * 14 / 400) 0;
    padding: calc(100cqw * 14 / var(--spdw)) 0;
    border-radius: calc(100cqw * 10 / 400);
    border-radius: calc(100cqw * 10 / var(--spdw));
    transform: translateY(calc(100cqw * 25 / 400));
    transform: translateY(calc(100cqw * 25 / var(--spdw)));
  }
  .p_fv1_date {
    width: calc(100cqw * 197 / 400);
    width: calc(100cqw * 197 / var(--spdw));
    height: calc(100cqw * 27 / 400);
    height: calc(100cqw * 27 / var(--spdw));
    font-size: calc(100cqw * 15 / 400);
    font-size: calc(100cqw * 15 / var(--spdw));
    letter-spacing: calc(100cqw * 0.3 / 400);
    letter-spacing: calc(100cqw * 0.3 / var(--spdw));
    -moz-column-gap: calc(100cqw * 3.1 / 400);
         column-gap: calc(100cqw * 3.1 / 400);
    -moz-column-gap: calc(100cqw * 3.1 / var(--spdw));
         column-gap: calc(100cqw * 3.1 / var(--spdw));
  }
  .p_fv1_date time {
    letter-spacing: calc(100cqw * 0.24 / 400);
    letter-spacing: calc(100cqw * 0.24 / var(--spdw));
    -moz-column-gap: calc(100cqw * 3.1 / 400);
         column-gap: calc(100cqw * 3.1 / 400);
    -moz-column-gap: calc(100cqw * 3.1 / var(--spdw));
         column-gap: calc(100cqw * 3.1 / var(--spdw));
  }
  .p_fv1_date_date {
    -moz-column-gap: calc(100cqw * 1 / 400);
         column-gap: calc(100cqw * 1 / 400);
    -moz-column-gap: calc(100cqw * 1 / var(--spdw));
         column-gap: calc(100cqw * 1 / var(--spdw));
  }
  .p_fv1_date_week {
    width: calc(100cqw * 19 / 400);
    width: calc(100cqw * 19 / var(--spdw));
    height: calc(100cqw * 19 / 400);
    height: calc(100cqw * 19 / var(--spdw));
    font-size: calc(100cqw * 8 / 400);
    font-size: calc(100cqw * 8 / var(--spdw));
    letter-spacing: calc(100cqw * 0.24 / 400);
    letter-spacing: calc(100cqw * 0.24 / var(--spdw));
  }
  .p_fv1_start_countdown {
    font-size: calc(100cqw * 14 / 400);
    font-size: calc(100cqw * 14 / var(--spdw));
    margin-top: calc(100cqw * 10 / 400);
    margin-top: calc(100cqw * 10 / var(--spdw));
    -moz-column-gap: calc(100cqw * 6 / 400);
         column-gap: calc(100cqw * 6 / 400);
    -moz-column-gap: calc(100cqw * 6 / var(--spdw));
         column-gap: calc(100cqw * 6 / var(--spdw));
  }
  .p_fv1_start_countdown > span:nth-child(2) {
    -moz-column-gap: calc(100cqw * 4 / 400);
         column-gap: calc(100cqw * 4 / 400);
    -moz-column-gap: calc(100cqw * 4 / var(--spdw));
         column-gap: calc(100cqw * 4 / var(--spdw));
  }
  .p_fv1_start_countdown > span:nth-child(2) span:last-child {
    padding-left: calc(100cqw * 1 / 400);
    padding-left: calc(100cqw * 1 / var(--spdw));
    font-size: calc(100cqw * 13 / 400);
    font-size: calc(100cqw * 13 / var(--spdw));
  }
  .p_fv1_countdown_num {
    width: calc(100cqw * 30 / 400);
    width: calc(100cqw * 30 / var(--spdw));
    height: calc(100cqw * 38 / 400);
    height: calc(100cqw * 38 / var(--spdw));
    font-size: calc(100cqw * 23 / 400);
    font-size: calc(100cqw * 23 / var(--spdw));
    border-radius: calc(100cqw * 2 / 400);
    border-radius: calc(100cqw * 2 / var(--spdw));
  }
  .p_fv1_img {
    height: calc(100cqw * 602 / 400);
    height: calc(100cqw * 602 / var(--spdw));
    top: max(0px, 50% - 100cqw * 301 / 400);
    top: max(0px, 50% - 100cqw * 301 / var(--spdw));
  }
  .p_fv1_img div {
    right: calc(100cqw * -130 / 400);
    right: calc(100cqw * -130 / var(--spdw));
    top: auto;
    bottom: calc(100cqw * -217 / 400);
    bottom: calc(100cqw * -217 / var(--spdw));
  }
  .p_fv1_clouds {
    height: calc(100cqw * 660 / 400);
    height: calc(100cqw * 660 / var(--spdw));
  }
  .p_fv1_cloud-1 {
    -webkit-mask-image: url('../svg/fv_cloud_sp_01.svg');
            mask-image: url('../svg/fv_cloud_sp_01.svg');
    width: calc(100cqw * 885.6 / 400);
    width: calc(100cqw * 885.6 / var(--spdw));
    height: calc(100cqw * 524.4 / 400);
    height: calc(100cqw * 524.4 / var(--spdw));
    transform: translate(calc(100cqw * -255 / 400), calc(100cqw * -84 / 400));
    transform: translate(calc(100cqw * -255 / var(--spdw)), calc(100cqw * -84 / var(--spdw)));
  }
  .p_fv1_cloud-2 {
    -webkit-mask-image: url('../svg/fv_cloud_sp_02.svg');
            mask-image: url('../svg/fv_cloud_sp_02.svg');
    width: calc(100cqw * 1075.68 / 400);
    width: calc(100cqw * 1075.68 / var(--spdw));
    height: calc(100cqw * 604.8 / 400);
    height: calc(100cqw * 604.8 / var(--spdw));
    transform: translate(calc(100cqw * -350 / 400), calc(100cqw * 284 / 400));
    transform: translate(calc(100cqw * -350 / var(--spdw)), calc(100cqw * 284 / var(--spdw)));
  }
  .p_fv1_cloud-3 {
    display: none;
  }
  .p_fv1_cloud-4 {
    display: none;
  }
  .p_fv1_scroll {
    flex-direction: column;
    top: calc(100cqw * 262 / 400);
    top: calc(100cqw * 262 / var(--spdw));
    bottom: auto;
    left: calc(100cqw * 22 / 400);
    left: calc(100cqw * 22 / var(--spdw));
    row-gap: calc(100cqw * 5 / 400);
    row-gap: calc(100cqw * 5 / var(--spdw));
    align-items: center;
    justify-content: center;
  }
  .p_fv1_scroll.is-active p {
    opacity: 0.7;
  }
  .p_fv1_scroll p {
    font-size: calc(100cqw * 9 / 400);
    font-size: calc(100cqw * 9 / var(--spdw));
    letter-spacing: 7%;
  }
  .p_fv1_scroll_icon {
    width: calc(100cqw * 10 / 400);
    width: calc(100cqw * 10 / var(--spdw));
    align-items: center;
    row-gap: calc(100cqw * 4 / 400);
    row-gap: calc(100cqw * 4 / var(--spdw));
  }
  .p_fv1_scroll_icon span {
    width: calc(100cqw * 6 / 400);
    width: calc(100cqw * 6 / var(--spdw));
    height: calc(100cqw * 6 / 400);
    height: calc(100cqw * 6 / var(--spdw));
    border-radius: calc(100cqw * 1 / 400);
    border-radius: calc(100cqw * 1 / var(--spdw));
  }
  .p_fv2 {
    min-height: 100svh;
    padding-top: calc(100cqw * 66 / 400 + 100cqw * 14 / 400);
    padding-top: calc(100cqw * 66 / var(--spdw) + 100cqw * 14 / var(--spdw));
    margin-bottom: calc(100cqw * 160 / 400);
    margin-bottom: calc(100cqw * 160 / var(--spdw));
  }
  .p_fv2_contents {
    top: 0;
    width: calc(100cqw * 327 / 400);
    width: calc(100cqw * 327 / var(--spdw));
    padding: calc(100cqw * 24 / 400) calc(100cqw * 24 / 400) calc(100cqw * 28 / 400);
    padding: calc(100cqw * 24 / var(--spdw)) calc(100cqw * 24 / var(--spdw)) calc(100cqw * 28 / var(--spdw));
    row-gap: calc(100cqw * 18 / 400);
    row-gap: calc(100cqw * 18 / var(--spdw));
    border-radius: calc(100cqw * 12 / 400);
    border-radius: calc(100cqw * 12 / var(--spdw));
  }
  .p_fv2_contents_title {
    width: calc(100cqw * 279 / 400);
    width: calc(100cqw * 279 / var(--spdw));
    height: calc(100cqw * 73 / 400);
    height: calc(100cqw * 73 / var(--spdw));
    row-gap: calc(100cqw * 6 / 400);
    row-gap: calc(100cqw * 6 / var(--spdw));
    border-radius: calc(100cqw * 8 / 400);
    border-radius: calc(100cqw * 8 / var(--spdw));
  }
  .p_fv2_contents_title span {
    font-size: calc(100cqw * 14 / 400);
    font-size: calc(100cqw * 14 / var(--spdw));
    letter-spacing: calc(100cqw * 0.42 / 400);
    letter-spacing: calc(100cqw * 0.42 / var(--spdw));
    -moz-column-gap: calc(100cqw * 6 / 400);
         column-gap: calc(100cqw * 6 / 400);
    -moz-column-gap: calc(100cqw * 6 / var(--spdw));
         column-gap: calc(100cqw * 6 / var(--spdw));
  }
  .p_fv2_contents_title span::before, .p_fv2_contents_title span::after {
    width: calc(100cqw * 4 / 400);
    width: calc(100cqw * 4 / var(--spdw));
    height: calc(100cqw * 4 / 400);
    height: calc(100cqw * 4 / var(--spdw));
  }
  .p_fv2_contents_title em {
    font-size: calc(100cqw * 21 / 400);
    font-size: calc(100cqw * 21 / var(--spdw));
    letter-spacing: calc(100cqw * 0.63 / 400);
    letter-spacing: calc(100cqw * 0.63 / var(--spdw));
  }
  .p_fv2_contents_text {
    text-align: left;
    font-size: calc(100cqw * 15 / 400);
    font-size: calc(100cqw * 15 / var(--spdw));
    line-height: 1.8;
    letter-spacing: calc(100cqw * 0.3 / 400);
    letter-spacing: calc(100cqw * 0.3 / var(--spdw));
  }
  .p_about {
    z-index: 4;
  }
  .p_about_top_obj-1 {
    top: calc(100cqw * 111 / 400);
    top: calc(100cqw * 111 / var(--spdw));
    left: calc(100cqw * 5 / 400);
    left: calc(100cqw * 5 / var(--spdw));
  }
  .p_about_top_obj-2 {
    top: calc(100cqw * 112 / 400);
    top: calc(100cqw * 112 / var(--spdw));
    left: calc(100cqw * 171 / 400);
    left: calc(100cqw * 171 / var(--spdw));
  }
  .p_about_top_obj-3 {
    top: calc(100cqw * 127 / 400);
    top: calc(100cqw * 127 / var(--spdw));
    left: calc(100cqw * 285 / 400);
    left: calc(100cqw * 285 / var(--spdw));
  }
  .p_about_top_obj-4 {
    display: none;
  }
  .p_about_top_obj-5 {
    display: none;
  }
  .p_about_top_obj-6 {
    display: none;
  }
  .p_about_container {
    margin-top: calc(100cqw * -1 / 400);
    margin-top: calc(100cqw * -1 / var(--spdw));
  }
  .p_about_wrap {
    padding-top: calc(100cqw * 58 / 400);
    padding-top: calc(100cqw * 58 / var(--spdw));
  }
  .p_about_contents {
    margin-top: calc(100cqw * 34 / 400);
    margin-top: calc(100cqw * 34 / var(--spdw));
    flex-direction: column;
    row-gap: calc(100cqw * 14 / 400);
    row-gap: calc(100cqw * 14 / var(--spdw));
  }
  .p_about_texts {
    width: calc(100cqw * 311 / 400);
    width: calc(100cqw * 311 / var(--spdw));
    row-gap: calc(100cqw * 24 / 400);
    row-gap: calc(100cqw * 24 / var(--spdw));
  }
  .p_about_texts p {
    font-size: calc(100cqw * 14 / 400);
    font-size: calc(100cqw * 14 / var(--spdw));
    letter-spacing: calc(100cqw * 0.14 / 400);
    letter-spacing: calc(100cqw * 0.14 / var(--spdw));
    line-height: 1.85;
  }
  .p_about_texts p small {
    margin-top: calc(100cqw * 5 / 400);
    margin-top: calc(100cqw * 5 / var(--spdw));
    font-size: calc(100cqw * 12 / 400);
    font-size: calc(100cqw * 12 / var(--spdw));
    letter-spacing: calc(100cqw * 0.24 / 400);
    letter-spacing: calc(100cqw * 0.24 / var(--spdw));
  }
  .p_about_texts dl {
    padding: calc(100cqw * 22 / 400) calc(100cqw * 22 / 400) calc(100cqw * 26 / 400);
    padding: calc(100cqw * 22 / var(--spdw)) calc(100cqw * 22 / var(--spdw)) calc(100cqw * 26 / var(--spdw));
    row-gap: calc(100cqw * 20 / 400);
    row-gap: calc(100cqw * 20 / var(--spdw));
    border-radius: calc(100cqw * 12 / 400);
    border-radius: calc(100cqw * 12 / var(--spdw));
  }
  .p_about_texts dl div {
    flex-direction: column;
    align-items: flex-start;
    row-gap: calc(100cqw * 12 / 400);
    row-gap: calc(100cqw * 12 / var(--spdw));
  }
  .p_about_texts dl div dt {
    font-size: calc(100cqw * 14 / 400);
    font-size: calc(100cqw * 14 / var(--spdw));
    padding: calc(100cqw * 7 / 400) calc(100cqw * 8 / 400);
    padding: calc(100cqw * 7 / var(--spdw)) calc(100cqw * 8 / var(--spdw));
    border-radius: calc(100cqw * 4 / 400);
    border-radius: calc(100cqw * 4 / var(--spdw));
    letter-spacing: calc(100cqw * 0.42 / 400);
    letter-spacing: calc(100cqw * 0.42 / var(--spdw));
  }
  .p_about_texts dl div dd {
    font-size: calc(100cqw * 16 / 400);
    font-size: calc(100cqw * 16 / var(--spdw));
    letter-spacing: calc(100cqw * 0.48 / 400);
    letter-spacing: calc(100cqw * 0.48 / var(--spdw));
    -moz-column-gap: calc(100cqw * 9 / 400);
         column-gap: calc(100cqw * 9 / 400);
    -moz-column-gap: calc(100cqw * 9 / var(--spdw));
         column-gap: calc(100cqw * 9 / var(--spdw));
  }
  .p_about_texts dl div dd span {
    width: calc(100cqw * 12 / 400);
    width: calc(100cqw * 12 / var(--spdw));
    height: calc(100cqw * 2 / 400);
    height: calc(100cqw * 2 / var(--spdw));
    margin-top: calc(100cqw * 1 / 400);
    margin-top: calc(100cqw * 1 / var(--spdw));
  }
  .p_about_img {
    width: calc(100cqw * 260 / 400);
    width: calc(100cqw * 260 / var(--spdw));
    height: calc(100cqw * 215 / 400);
    height: calc(100cqw * 215 / var(--spdw));
  }
  .p_about_img_img {
    top: calc(100cqw * -29.33 / 400);
    top: calc(100cqw * -29.33 / var(--spdw));
    left: calc(100cqw * -30.29 / 400);
    left: calc(100cqw * -30.29 / var(--spdw));
  }
  .p_about_img_text {
    top: calc(100cqw * 158.77 / 400);
    top: calc(100cqw * 158.77 / var(--spdw));
    left: calc(100cqw * 108.74 / 400);
    left: calc(100cqw * 108.74 / var(--spdw));
    font-size: calc(100cqw * 13 / 400);
    font-size: calc(100cqw * 13 / var(--spdw));
    letter-spacing: calc(100cqw * 0.26 / 400);
    letter-spacing: calc(100cqw * 0.26 / var(--spdw));
  }
  .p_about_img_small {
    top: calc(100cqw * 141 / 400);
    top: calc(100cqw * 141 / var(--spdw));
    left: calc(100cqw * 242.5 / 400);
    left: calc(100cqw * 242.5 / var(--spdw));
    font-size: calc(100cqw * 9 / 400);
    font-size: calc(100cqw * 9 / var(--spdw));
    letter-spacing: calc(100cqw * 0.18 / 400);
    letter-spacing: calc(100cqw * 0.18 / var(--spdw));
  }
  .p_about_btn {
    margin-top: calc(100cqw * 26 / 400);
    margin-top: calc(100cqw * 26 / var(--spdw));
    padding: calc(100cqw * 18 / 400) calc(100cqw * 14 / 400) calc(100cqw * 18 / 400) calc(100cqw * 28 / 400);
    padding: calc(100cqw * 18 / var(--spdw)) calc(100cqw * 14 / var(--spdw)) calc(100cqw * 18 / var(--spdw)) calc(100cqw * 28 / var(--spdw));
    -moz-column-gap: calc(100cqw * 9 / 400);
         column-gap: calc(100cqw * 9 / 400);
    -moz-column-gap: calc(100cqw * 9 / var(--spdw));
         column-gap: calc(100cqw * 9 / var(--spdw));
    font-size: calc(100cqw * 14 / 400);
    font-size: calc(100cqw * 14 / var(--spdw));
    border-width: calc(100cqw * 2 / 400);
    border-width: calc(100cqw * 2 / var(--spdw));
    letter-spacing: calc(100cqw * 0.42 / 400);
    letter-spacing: calc(100cqw * 0.42 / var(--spdw));
  }
  .p_about_bottom {
    height: calc(100cqw * 247 / 400);
    height: calc(100cqw * 247 / var(--spdw));
    margin-top: calc(100cqw * 54 / 400);
    margin-top: calc(100cqw * 54 / var(--spdw));
    margin-bottom: 0;
  }
  .p_about_bottom_line {
    width: calc(100cqw * 491.38 / 400);
    width: calc(100cqw * 491.38 / var(--spdw));
    height: calc(100cqw * 127.72 / 400);
    height: calc(100cqw * 127.72 / var(--spdw));
    top: calc(100cqw * 50.63 / 400);
    top: calc(100cqw * 50.63 / var(--spdw));
    left: calc(100cqw * -86.75 / 400);
    left: calc(100cqw * -86.75 / var(--spdw));
  }
  .p_about_bottom_line_path {
    stroke: url(#about_bottom_line_texture_sp);
    stroke-width: calc(100cqw * 7 / 400);
    stroke-width: calc(100cqw * 7 / var(--spdw));
  }
  .p_about_bottom_cloud_wrapper-1 {
    width: calc(100cqw * 223 / 400);
    width: calc(100cqw * 223 / var(--spdw));
    height: calc(100cqw * 127 / 400);
    height: calc(100cqw * 127 / var(--spdw));
    top: calc(100cqw * -4 / 400);
    top: calc(100cqw * -4 / var(--spdw));
    left: calc(100cqw * -61 / 400);
    left: calc(100cqw * -61 / var(--spdw));
  }
  .p_about_bottom_cloud_wrapper-2 {
    width: calc(100cqw * 210 / 400);
    width: calc(100cqw * 210 / var(--spdw));
    height: calc(100cqw * 129 / 400);
    height: calc(100cqw * 129 / var(--spdw));
    top: calc(100cqw * 91 / 400);
    top: calc(100cqw * 91 / var(--spdw));
    left: calc(100cqw * 228 / 400);
    left: calc(100cqw * 228 / var(--spdw));
  }
  .p_about_bottom_obj-1 {
    top: calc(100cqw * 180 / 400);
    top: calc(100cqw * 180 / var(--spdw));
    left: calc(100cqw * 7 / 400);
    left: calc(100cqw * 7 / var(--spdw));
  }
  .p_about_bottom_obj-2 {
    top: calc(100cqw * 50 / 400);
    top: calc(100cqw * 50 / var(--spdw));
    left: calc(100cqw * 58 / 400);
    left: calc(100cqw * 58 / var(--spdw));
  }
  .p_about_bottom_obj-3 {
    top: calc(100cqw * 142.89 / 400);
    top: calc(100cqw * 142.89 / var(--spdw));
    left: calc(100cqw * 167.85 / 400);
    left: calc(100cqw * 167.85 / var(--spdw));
  }
  .p_about_bottom_obj-4 {
    top: calc(100cqw * 4 / 400);
    top: calc(100cqw * 4 / var(--spdw));
    left: calc(100cqw * 301 / 400);
    left: calc(100cqw * 301 / var(--spdw));
  }
  .p_concept_grad {
    height: calc(100cqw * 256 / 400);
    height: calc(100cqw * 256 / var(--spdw));
  }
  .p_concept_wrap {
    row-gap: calc(100cqw * 60 / 400);
    row-gap: calc(100cqw * 60 / var(--spdw));
  }
  .p_concept_first {
    padding-top: calc(100cqw * 46 / 400);
    padding-top: calc(100cqw * 46 / var(--spdw));
  }
  .p_concept_first_contents {
    flex-direction: column;
    justify-content: center;
    row-gap: calc(100cqw * 32 / 400);
    row-gap: calc(100cqw * 32 / var(--spdw));
    margin-top: calc(100cqw * 34 / 400);
    margin-top: calc(100cqw * 34 / var(--spdw));
    align-items: flex-start;
    padding-left: 0;
    width: 100%;
  }
  .p_concept_first_texts {
    width: calc(100cqw * 311 / 400);
    width: calc(100cqw * 311 / var(--spdw));
    margin-left: auto;
    margin-right: auto;
    row-gap: calc(100cqw * 18 / 400);
    row-gap: calc(100cqw * 18 / var(--spdw));
  }
  .p_concept_first_texts h3 {
    font-size: calc(100cqw * 20 / 400);
    font-size: calc(100cqw * 20 / var(--spdw));
    line-height: 1.7;
    letter-spacing: calc(100cqw * 0.4 / 400);
    letter-spacing: calc(100cqw * 0.4 / var(--spdw));
  }
  .p_concept_first_texts h3 rt {
    font-size: calc(100cqw * 8 / 400);
    font-size: calc(100cqw * 8 / var(--spdw));
  }
  .p_concept_first_text {
    font-size: calc(100cqw * 14 / 400);
    font-size: calc(100cqw * 14 / var(--spdw));
    letter-spacing: calc(100cqw * 0.14 / 400);
    letter-spacing: calc(100cqw * 0.14 / var(--spdw));
    line-height: 1.85;
  }
  .p_concept_first_obj-1 {
    top: calc(100cqw * 129 / 400);
    top: calc(100cqw * 129 / var(--spdw));
    left: calc(100cqw * 273 / 400);
    left: calc(100cqw * 273 / var(--spdw));
  }
  .p_concept_first_obj-2 {
    top: calc(100cqw * 776 / 400);
    top: calc(100cqw * 776 / var(--spdw));
    left: calc(100cqw * 253 / 400);
    left: calc(100cqw * 253 / var(--spdw));
    display: none;
  }
  .p_concept_second_contents {
    flex-direction: column;
    row-gap: calc(100cqw * 24 / 400);
    row-gap: calc(100cqw * 24 / var(--spdw));
    padding-left: 0;
    width: -moz-fit-content;
    width: fit-content;
  }
  .p_concept_second_texts {
    width: calc(100cqw * 311 / 400);
    width: calc(100cqw * 311 / var(--spdw));
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    row-gap: calc(100cqw * 18 / 400);
    row-gap: calc(100cqw * 18 / var(--spdw));
  }
  .p_concept_second_texts h3 {
    font-size: calc(100cqw * 20 / 400);
    font-size: calc(100cqw * 20 / var(--spdw));
    letter-spacing: calc(100cqw * 0.4 / 400);
    letter-spacing: calc(100cqw * 0.4 / var(--spdw));
    line-height: 1.7;
  }
  .p_concept_second_text p {
    font-size: calc(100cqw * 14 / 400);
    font-size: calc(100cqw * 14 / var(--spdw));
    letter-spacing: calc(100cqw * 0.14 / 400);
    letter-spacing: calc(100cqw * 0.14 / var(--spdw));
    line-height: 1.85;
  }
  .p_concept_second_obj-2 {
    display: block;
    top: calc(100cqw * -16.8 / 400);
    top: calc(100cqw * -16.8 / var(--spdw));
    left: calc(100cqw * 261 / 400);
    left: calc(100cqw * 261 / var(--spdw));
  }
  .p_underconcept {
    height: calc(100cqw * 207 / 400);
    height: calc(100cqw * 207 / var(--spdw));
  }
  .p_underconcept_inner {
    width: calc(100cqw * 820 / 400);
    width: calc(100cqw * 820 / var(--spdw));
    -moz-column-gap: calc(100cqw * 30 / 400);
         column-gap: calc(100cqw * 30 / 400);
    -moz-column-gap: calc(100cqw * 30 / var(--spdw));
         column-gap: calc(100cqw * 30 / var(--spdw));
    height: calc(100cqw * 660 / 400);
    height: calc(100cqw * 660 / var(--spdw));
  }
  .p_underconcept_row {
    row-gap: calc(100cqw * 30 / 400);
    row-gap: calc(100cqw * 30 / var(--spdw));
  }
  .p_underconcept_item {
    width: calc(100cqw * 140 / 400);
    width: calc(100cqw * 140 / var(--spdw));
    height: calc(100cqw * 140 / 400);
    height: calc(100cqw * 140 / var(--spdw));
    border-radius: calc(100cqw * 8 / 400);
    border-radius: calc(100cqw * 8 / var(--spdw));
  }
  .p_location {
    height: auto;
    flex-direction: column;
    row-gap: calc(100cqw * 18 / 400);
    row-gap: calc(100cqw * 18 / var(--spdw));
    padding-top: calc(100cqw * 97 / 400);
    padding-top: calc(100cqw * 97 / var(--spdw));
  }
  .p_location::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: calc(100cqw * 300 / 400);
    height: calc(100cqw * 300 / var(--spdw));
    background-color: #00b2a1;
    z-index: -1;
  }
  .p_location_title {
    width: 100%;
    justify-content: center;
    padding-left: 0;
  }
  .p_location_contents {
    width: 100%;
    padding: calc(100cqw * 40 / 400) calc(100cqw * 16 / 1500) calc(100cqw * 40 / 400);
    padding: calc(100cqw * 40 / var(--spdw)) calc(100cqw * 16 / var(--pcdw)) calc(100cqw * 40 / var(--spdw));
    row-gap: calc(100cqw * 20 / 400);
    row-gap: calc(100cqw * 20 / var(--spdw));
    align-items: center;
    justify-content: flex-start;
    flex-grow: 1;
  }
  .p_location_contents h3 {
    font-size: calc(100cqw * 21 / 400);
    font-size: calc(100cqw * 21 / var(--spdw));
    -moz-column-gap: calc(100cqw * 16 / 400);
         column-gap: calc(100cqw * 16 / 400);
    -moz-column-gap: calc(100cqw * 16 / var(--spdw));
         column-gap: calc(100cqw * 16 / var(--spdw));
  }
  .p_location_contents h3::before, .p_location_contents h3::after {
    width: calc(100cqw * 7 / 400);
    width: calc(100cqw * 7 / var(--spdw));
    height: calc(100cqw * 7 / 400);
    height: calc(100cqw * 7 / var(--spdw));
  }
  .p_location_map_notes {
    top: calc(100cqw * 178 / 400);
    top: calc(100cqw * 178 / var(--spdw));
    left: calc(100cqw * 22 / 400);
    left: calc(100cqw * 22 / var(--spdw));
    transform: translateY(calc(100cqw * 25 / 400));
    transform: translateY(calc(100cqw * 25 / var(--spdw)));
  }
  .p_location_map_notes h4 {
    width: calc(100cqw * 136 / 400);
    width: calc(100cqw * 136 / var(--spdw));
    height: calc(100cqw * 25 / 400);
    height: calc(100cqw * 25 / var(--spdw));
    font-size: calc(100cqw * 13 / 400);
    font-size: calc(100cqw * 13 / var(--spdw));
    letter-spacing: calc(100cqw * 0.39 / 400);
    letter-spacing: calc(100cqw * 0.39 / var(--spdw));
  }
  .p_location_map_notes p {
    width: calc(100cqw * 152 / 400);
    width: calc(100cqw * 152 / var(--spdw));
    padding: calc(100cqw * 24 / 400) calc(100cqw * 26 / 400) calc(100cqw * 20 / 400);
    padding: calc(100cqw * 24 / var(--spdw)) calc(100cqw * 26 / var(--spdw)) calc(100cqw * 20 / var(--spdw));
  }
  .p_location_map_line {
    top: calc(100cqw * 133.5 / 400);
    top: calc(100cqw * 133.5 / var(--spdw));
    left: calc(100cqw * 175 / 400);
    left: calc(100cqw * 175 / var(--spdw));
  }
  .p_location_map_line svg path {
    stroke-width: calc(100cqw * 1 / 400);
    stroke-width: calc(100cqw * 1 / var(--spdw));
  }
  .p_location_map_point {
    top: calc(100cqw * 129 / 400);
    top: calc(100cqw * 129 / var(--spdw));
    left: calc(100cqw * 193 / 400);
    left: calc(100cqw * 193 / var(--spdw));
    width: calc(100cqw * 6 / 400);
    width: calc(100cqw * 6 / var(--spdw));
    height: calc(100cqw * 6 / 400);
    height: calc(100cqw * 6 / var(--spdw));
  }
  .p_location_map_point div {
    width: calc(100cqw * 30 / 400);
    width: calc(100cqw * 30 / var(--spdw));
    height: calc(100cqw * 30 / 400);
    height: calc(100cqw * 30 / var(--spdw));
    border-width: calc(100cqw * 2 / 400);
    border-width: calc(100cqw * 2 / var(--spdw));
  }
  .p_location_map_spbtn {
    display: block;
  }
  .p_location_obj-2 {
    top: calc(100cqw * -33 / 400);
    top: calc(100cqw * -33 / var(--spdw));
    left: calc(100cqw * -27 / 400);
    left: calc(100cqw * -27 / var(--spdw));
  }
  .p_location_obj-1 {
    top: calc(100cqw * 228 / 400);
    top: calc(100cqw * 228 / var(--spdw));
    right: calc(100cqw * -35 / 400);
    right: calc(100cqw * -35 / var(--spdw));
  }
  .p_news {
    width: calc(100cqw * 327 / 400);
    width: calc(100cqw * 327 / var(--spdw));
    padding: calc(100cqw * 46 / 400) calc(100cqw * 20 / 400);
    padding: calc(100cqw * 46 / var(--spdw)) calc(100cqw * 20 / var(--spdw));
    border-radius: calc(100cqw * 12 / 400);
    border-radius: calc(100cqw * 12 / var(--spdw));
  }
  .p_news_lists {
    margin-top: calc(100cqw * 34 / 400);
    margin-top: calc(100cqw * 34 / var(--spdw));
    row-gap: calc(100cqw * 12 / 400);
    row-gap: calc(100cqw * 12 / var(--spdw));
  }
  .p_news_x {
    margin-top: calc(100cqw * 30 / 400);
    margin-top: calc(100cqw * 30 / var(--spdw));
    font-size: calc(100cqw * 16 / 400);
    font-size: calc(100cqw * 16 / var(--spdw));
    letter-spacing: calc(100cqw * 0.48 / 400);
    letter-spacing: calc(100cqw * 0.48 / var(--spdw));
    -moz-column-gap: calc(100cqw * 12 / 400);
         column-gap: calc(100cqw * 12 / 400);
    -moz-column-gap: calc(100cqw * 12 / var(--spdw));
         column-gap: calc(100cqw * 12 / var(--spdw));
  }
  .p_news_x span:nth-child(2) {
    width: calc(100cqw * 48 / 400);
    width: calc(100cqw * 48 / var(--spdw));
    height: calc(100cqw * 48 / 400);
    height: calc(100cqw * 48 / var(--spdw));
  }
  .p_news_x span:nth-child(2)::after {
    width: calc(100cqw * 48 / 400);
    width: calc(100cqw * 48 / var(--spdw));
    height: calc(100cqw * 48 / 400);
    height: calc(100cqw * 48 / var(--spdw));
  }
  .p_contact {
    padding-top: calc(100cqw * 61 / 400);
    padding-top: calc(100cqw * 61 / var(--spdw));
    margin-top: calc(100cqw * -58 / 400);
    margin-top: calc(100cqw * -58 / var(--spdw));
  }
  .p_contact_wrap {
    padding-top: 0;
    margin-top: calc(100cqw * 55 / 400);
    margin-top: calc(100cqw * 55 / var(--spdw));
    width: calc(100cqw * 311 / 400);
    width: calc(100cqw * 311 / var(--spdw));
    height: calc(100cqw * 370 / 400);
    height: calc(100cqw * 370 / var(--spdw));
  }
  .p_contact_link {
    flex-direction: column;
    justify-content: center;
    row-gap: calc(100cqw * 32 / 400);
    row-gap: calc(100cqw * 32 / var(--spdw));
    border-width: calc(100cqw * 5 / 400);
    border-width: calc(100cqw * 5 / var(--spdw));
    border-radius: calc(100cqw * 12 / 400);
    border-radius: calc(100cqw * 12 / var(--spdw));
    padding-left: 0;
  }
  .p_contact_text {
    row-gap: calc(100cqw * 22 / 400);
    row-gap: calc(100cqw * 22 / var(--spdw));
  }
  .p_contact_text p {
    font-size: calc(100cqw * 15 / 400);
    font-size: calc(100cqw * 15 / var(--spdw));
    line-height: 1.8;
    letter-spacing: calc(100cqw * 0.45 / 400);
    letter-spacing: calc(100cqw * 0.45 / var(--spdw));
  }
  .p_contact_btn {
    padding: calc(100cqw * 20 / 400) calc(100cqw * 16 / 400) calc(100cqw * 20 / 400) calc(100cqw * 30 / 400);
    padding: calc(100cqw * 20 / var(--spdw)) calc(100cqw * 16 / var(--spdw)) calc(100cqw * 20 / var(--spdw)) calc(100cqw * 30 / var(--spdw));
    -moz-column-gap: calc(100cqw * 9 / 400);
         column-gap: calc(100cqw * 9 / 400);
    -moz-column-gap: calc(100cqw * 9 / var(--spdw));
         column-gap: calc(100cqw * 9 / var(--spdw));
    font-size: calc(100cqw * 14 / 400);
    font-size: calc(100cqw * 14 / var(--spdw));
    border-width: calc(100cqw * 2 / 400);
    border-width: calc(100cqw * 2 / var(--spdw));
    letter-spacing: calc(100cqw * 0.42 / 400);
    letter-spacing: calc(100cqw * 0.42 / var(--spdw));
    margin-left: auto;
    margin-right: auto;
  }
  .p_contact_obj-1 {
    top: calc(100cqw * 260.78 / 400);
    top: calc(100cqw * 260.78 / var(--spdw));
    left: calc(100cqw * -70 / 400);
    left: calc(100cqw * -70 / var(--spdw));
  }
  .p_contact_obj-2 {
    top: calc(100cqw * -55 / 400);
    top: calc(100cqw * -55 / var(--spdw));
    left: calc(100cqw * 197 / 400);
    left: calc(100cqw * 197 / var(--spdw));
  }
  .u_db-pc {
    display: none;
  }
  .u_db-sp {
    display: block;
  }
  .u_dib-db {
    display: block;
  }
  .u_dn-sp {
    display: none !important;
  }
  .u_dn-di {
    display: inline;
  }
  .u_dib-pc {
    display: none;
  }
  .u_dib-sp {
    display: inline-block;
  }
  .u_db-dib {
    display: inline-block;
  }
  .u_db-di {
    display: inline;
  }
  .u_dib-di {
    display: inline;
  }
  .u_dib-db {
    display: block;
  }
  .u_di-pc {
    display: none;
  }
  .u_di-sp {
    display: inline;
  }
  .u_df-pc {
    display: none;
  }
  .u_df-sp {
    display: flex;
  }
  .u_dif-pc {
    display: none;
  }
  .u_dif-sp {
    display: inline-flex;
  }
}
@media (any-hover: hover){
  .l_header_logos a:hover {
    opacity: 0.6;
  }
  .l_header_links a:hover {
    opacity: 0.5;
  }
  .c_footerlink:hover {
    opacity: 0.5;
  }
  .c_newsitem-green:not(p):hover {
    background-color: #cef1ed;
  }
  .c_newsitem-yellow-green:not(p):hover {
    background-color: #e8f5cc;
  }
  .c_newsitem-light-blue:not(p):hover {
    background-color: #d4e8ff;
  }
  .c_sns_list a:hover {
    background-color: #000b62;
  }
  .c_pagetop_btn:hover #icon_pagetop .c {
    fill: #00b2a1;
  }
  .c_pagetop_btn:hover .c_pagetop_obj {
    transform: rotate(10deg);
  }
  .c_pagetop_btn:hover .c_pagetop_arrow {
    color: #00b2a1;
  }
  .p_about_btn:hover {
    background-color: #fff;
    color: #000b62;
  }
  .p_news_x:hover {
    color: #4d5592;
  }
  .p_news_x:hover span:nth-child(2)::after {
    background-color: #4d5592;
    transform: translate(-50%, -50%) scale(1.2083333333);
  }
  .p_contact_wrap:hover {
    background-color: #ebf9f8;
  }
  .p_contact_wrap:hover .p_contact_obj-1 {
    transform: scale(1.05) rotate(-3deg);
  }
  .p_contact_wrap:hover .p_contact_obj-2 {
    transform: scale(1.05) rotate(3deg);
  }
  .p_contact_wrap:hover .p_contact_btn {
    background-color: #fff;
    color: #000b62;
  }
}
@media (max-width: -1){
  .u_dn-pc {
    display: none !important;
  }
}