@charset "UTF-8";@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique:wght@300;400;500;700;900&display=swap");

.font-sans {
  font-weight: 400;
  font-family: "TazuganeGothicStdN-Regular", sans-serif;
}
.font-sans.font-bold {
  font-weight: 700;
  font-family: "TazuganeGothicStdN-Bold", sans-serif;
}
.font-sans.font-medium {
  font-weight: 600;
  font-family: "TazuganeGothicStdN-Medium", sans-serif;
}
.font-en {
  font-weight: 400;
  font-family: "HelveticaNowDisplay-Regular", sans-serif;
}
.font-en.font-bold {
  font-weight: 700;
  font-family: "HelveticaNowDisplay-Bd", sans-serif;
}
.font-en.font-medium {
  font-weight: 600;
  font-family: "HelveticaNowDisplay-Md", sans-serif;
}
.text-justify {
  text-align: justify;
}
.font-gothic {
  font-style: normal;
  font-weight: 500;
  font-family: "Zen Kaku Gothic Antique", sans-serif !important;
}
.font-gothic.font-medium {
  font-weight: 700;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes scroll-attention {
  0% {
    transform: translate(0, 0);
    opacity: 1;
  }
  20% {
    transform: translate(0, 100%);
    opacity: 0;
  }
  21% {
    transform: translate(0, -100%);
    opacity: 0;
  }
  40% {
    transform: translate(0, 0);
    opacity: 1;
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}
/* A Modern CSS Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
}
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}
ul[role=list],
ol[role=list] {
  list-style: none;
}
body {
  min-height: 100vh;
  line-height: 1.5;
  text-rendering: optimizeSpeed;
}
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}
main img,
main picture {
  display: inline-block;
  width: 100%;
  max-width: 100%;
  height: 100%;
}
input,
button,
textarea,
select {
  font: inherit;
}
button {
  border-radius: 0;
}
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  -moz-appearance: none;
       appearance: none;
  border: unset;
  background-image: none;
  background-color: transparent;
}
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
:root {
  --vw: 1vw;
  --app-vh: 1vh;
}
html,
body {
  width: 100%;
  height: auto;
  overscroll-behavior: none;
  font-display: swap;
}
html {
  font-size: 1.1111111111vw;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt";
}
html.is-sp {
  scroll-padding: 62px;
  font-size: min(4.1025641026vw, 32.8205128205px);
}
body {
  overflow-x: clip;
  color: #111312;
  font-family: "TazuganeGothicStdN-Regular", sans-serif;
}
body p {
  margin-bottom: 0;
}
body a:link, body a:hover, body a:active {
  color: #111312;
}
body header a:link, body header a:hover, body header a:active {
  color: #ffffff;
}
main {
  position: relative;
  width: 100%;
  height: auto;
  overflow: clip;
}
dl,
dt,
dd,
ul,
li {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
h1,
h2,
h3,
h4,
h5 {
  margin-block-start: 0;
  margin-block-end: 0;
}
main img,
main picture {
  display: block;
  max-width: 100%;
  height: auto;
}
button {
  outline: none;
}
a,
button {
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
  color: #111312;
  text-decoration: none;
}
main img,
main picture {
  display: block;
}
[hidden] {
  display: none !important;
}
[x-cloak] {
  display: none !important;
}
.is-transitionstart a {
  pointer-events: none;
}
svg {
  display: block;
  width: 100%;
  height: 100%;
}
use {
  display: block;
  width: 100%;
  height: 100%;
}
input {
  outline: none;
}
.sp-only {
  display: none;
}
html.is-sp .sp-only {
  display: block;
}
.pc-only {
  display: block;
}
html.is-sp .pc-only {
  display: none;
}
html.lenis {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto;
}
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}
.lenis.lenis-stopped {
  overflow: hidden;
}
.lenis.lenis-scrolling iframe {
  pointer-events: none;
}
.full-vh {
  transition: height 280ms ease;
  will-change: height;
  height: calc(var(--app-vh) * 1);
}
@supports not (height: 100svh) {
  .full-vh {
    height: 100dvh;
  }
}
.c-bleed__left {
  margin-left: calc(50% - 50vi);
}
.c-bleed__right {
  margin-right: calc(50% - 50vi);
}
.c-bleed__both {
  margin-right: calc(50% - 50vi);
  margin-left: calc(50% - 50vi);
}
.c-button__base {
  width: 100%;
  height: 100%;
}
.c-button__base--link {
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: flex-end;
  z-index: 10;
  padding: 0.375rem 0.625rem;
  width: 100%;
  height: 100%;
}
html.is-sp .c-button__base--link {
  padding: 0.125rem 0.625rem;
}
.c-button__base--inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
  width: 100%;
  height: auto;
}
.c-button__base--inner.--arrow {
  justify-content: space-between;
}
.c-button__base--text {
  font-size: 1.125rem;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
html.is-sp .c-button__base--text {
  font-size: 1rem;
  line-height: 1.9;
}
.c-button__base--text.--sm {
  font-size: 1rem;
}
html.is-sp .c-button__base--text.--sm {
  font-size: 0.9375rem;
}
.c-button__base--arrow {
  flex: 0 0 auto;
  transform: rotateZ(var(--angle, 0deg));
  width: 1.125rem;
  height: auto;
}
html.is-sp .c-button__base--arrow {
  width: 0.875rem;
}
.c-button__base--bg {
  position: absolute;
  inset: 0;
  background-color: #008c45;
}
.c-container {
  margin: 0 auto;
  padding: 0 1.875rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-container {
  padding: 0 1.5rem;
  max-width: 800px;
}
.c-debug__grid {
  position: fixed;
  z-index: 999;
  inset: 0;
  pointer-events: none;
}
html.is-sp .c-debug__grid {
  margin: 0 auto;
  max-width: 800px;
}
.c-debug__grid--line {
  position: absolute;
  top: 0;
  background-color: rgba(239, 68, 68, 0.4);
  width: 1px;
  height: 100lvh;
}
.c-debug__grid--line.--right {
  right: max(1.875rem, 2.0833333333cqi);
}
html.is-sp .c-debug__grid--line.--right {
  right: 1.5rem;
}
html.is-sp .c-debug__grid--line.--right-sm {
  right: 0.75rem;
}
.c-debug__grid--line.--left {
  left: max(1.875rem, 2.0833333333cqi);
}
html.is-sp .c-debug__grid--line.--left {
  left: 1.5rem;
}
html.is-sp .c-debug__grid--line.--left-sm {
  left: 0.75rem;
}
.c-debug__grid--line.--center {
  left: 50%;
  transform: translateX(-50%);
}
.c-debug__grid--list {
  display: flex;
  gap: 0 1.5rem;
  padding: 0 1.875rem;
}
html.is-sp .c-debug__grid--list {
  gap: 0 1.25rem;
  padding: 0 1.5rem;
}
html.is-sp .c-debug__grid--list.--pc {
  display: none;
}
.c-debug__grid--list.--sp {
  display: none;
}
html.is-sp .c-debug__grid--list.--sp {
  display: flex;
}
.c-debug__grid--item {
  flex-grow: 1;
  background-color: rgba(239, 68, 68, 0.1);
  height: 100lvh;
}
.c-display__hidden {
  display: none !important;
}
@media (min-width: 390px) {
  .c-display__hidden--ip {
    display: none;
  }
}
@media (min-width: 640px) {
  .c-display__hidden--sm {
    display: none;
  }
}
@media (min-width: 768px) {
  .c-display__hidden--md {
    display: none;
  }
}
@media (min-width: 1024px) {
  .c-display__hidden--lg {
    display: none;
  }
}
@media (min-width: 1280px) {
  .c-display__hidden--xl {
    display: none;
  }
}
@media (min-width: 1440px) {
  .c-display__hidden--2xl {
    display: none;
  }
}
.c-display__block {
  display: block;
}
.c-display__block--ip {
  display: none;
}
@media (min-width: 390px) {
  .c-display__block--ip {
    display: block;
  }
}
.c-display__block--sm {
  display: none;
}
@media (min-width: 640px) {
  .c-display__block--sm {
    display: block;
  }
}
.c-display__block--md {
  display: none;
}
@media (min-width: 768px) {
  .c-display__block--md {
    display: block;
  }
}
.c-display__block--lg {
  display: none;
}
@media (min-width: 1024px) {
  .c-display__block--lg {
    display: block;
  }
}
.c-display__block--xl {
  display: none;
}
@media (min-width: 1280px) {
  .c-display__block--xl {
    display: block;
  }
}
.c-display__block--2xl {
  display: none;
}
@media (min-width: 1440px) {
  .c-display__block--2xl {
    display: block;
  }
}
.c-display__inline {
  display: inline;
}
.c-display__inline--ip {
  display: none;
}
@media (min-width: 390px) {
  .c-display__inline--ip {
    display: inline;
  }
}
.c-display__inline--sm {
  display: none;
}
@media (min-width: 640px) {
  .c-display__inline--sm {
    display: inline;
  }
}
.c-display__inline--md {
  display: none;
}
@media (min-width: 768px) {
  .c-display__inline--md {
    display: inline;
  }
}
.c-display__inline--lg {
  display: none;
}
@media (min-width: 1024px) {
  .c-display__inline--lg {
    display: inline;
  }
}
.c-display__inline--xl {
  display: none;
}
@media (min-width: 1280px) {
  .c-display__inline--xl {
    display: inline;
  }
}
.c-display__inline--2xl {
  display: none;
}
@media (min-width: 1440px) {
  .c-display__inline--2xl {
    display: inline;
  }
}
.c-effect-sticky .--labels {
  transform: translate(0, max(var(--height) * (var(--current) + var(--progress)) * -1, -100% + 2.5rem));
}
html.is-sp .c-effect-sticky .--labels {
  transform: translate(calc(var(--x) * -1), 0);
  transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}
.c-effect-sticky .--labels p {
  opacity: 0.5;
  transition: opacity 600ms ease;
}
.c-effect-sticky .--labels p.is-current {
  opacity: 1;
}
.c-effect-sticky .--image {
  opacity: 0;
}
.c-effect-sticky .--image.is-current {
  opacity: 1;
}
.c-effect-sticky .--title {
  opacity: 0.1;
  transition: opacity 600ms ease;
}
.c-effect-sticky .--title.is-active {
  opacity: 1;
}
.c-effect-sticky .--text {
  opacity: 0;
  transition: opacity 600ms ease;
}
.c-effect-sticky .--text.is-active {
  opacity: 1;
}
.c-effect-sticky .--text > span {
  opacity: 0.2;
  transition: opacity 600ms ease;
}
.c-effect-sticky .--text > span.is-current {
  opacity: 1;
}
.c-effect-sticky .--focus-image {
  transform: translateY(0);
}
.c-effect-sticky .--item {
  top: calc(100% - 1.875rem - 3.5rem * var(--index));
  flex: 0 0 auto;
  padding: 0.5rem 1.875rem;
}
.c-effect-sticky .--item .--label {
  height: 1.875rem;
}
.c-effect-sticky .--item .--label-main {
  font-size: 1.75rem;
  white-space: normal;
}
.c-effect-sticky .--item .--label-main span:not(:first-child) {
  display: block;
}
.c-effect-sticky .--item .--label-sub {
  position: absolute;
  top: 0.25rem;
  left: 0;
  font-size: 1rem;
  white-space: normal;
}
.c-effect-sticky .--item .--label-main {
  transform: translateY(1.875rem);
  opacity: 0;
  transition: opacity 600ms ease, transform 600ms ease;
}
.c-effect-sticky .--item .--label-sub {
  transform: translateY(0);
  opacity: 1;
  transition: opacity 600ms ease, transform 600ms ease;
}
.c-effect-sticky .--item .--label.is-show .--label-main {
  transform: translateY(0);
  opacity: 1;
}
.c-effect-sticky .--item .--label.is-show .--label-sub {
  transform: translateY(1.875rem);
  opacity: 0;
}
.c-effect-sticky .--item .--label.is-hidden .--label-main {
  transform: translateY(1.875rem);
  opacity: 0;
}
.c-effect-sticky .--item .--label.is-hidden .--label-sub {
  transform: translateY(0);
  opacity: 1;
}
.c-effect-sticky .--item.--item-1 {
  top: 1.875rem;
}
.c-effect-sticky .--item.is-current {
  top: max((100% - 1.875rem - 3.5rem * var(--index)) * (1 - var(--progress)), 3.5rem * (var(--total) - var(--index)) + 1.875rem);
  padding: calc(0.5rem + 2rem * var(--progress)) 1.875rem;
}
.c-effect-sticky .--item.is-current.--item-1 {
  top: 1.875rem;
  padding: 2.5rem 1.875rem;
}
.c-effect-sticky .--item.is-current.--item-1 .--label .--label-main {
  transform: translateY(0);
  opacity: 1;
}
.c-effect-sticky .--item.is-current.--item-1 .--label .--label-sub {
  transform: translateY(1.875rem);
  opacity: 0;
}
.c-effect-sticky .--item.is-current-prev {
  padding: calc(2.5rem - 2rem * var(--progress)) 1.875rem;
}
.c-effect-sticky .--item.is-current-prev .--focus-image {
  transform: translateY(calc(50% * var(--progress))) !important;
}
.c-effect-sticky .--item.is-prev {
  top: calc(3.5rem * (var(--total) - var(--index)) + 1.875rem);
}
.c-effect-sticky .--item.is-prev.--item-1 {
  top: 1.875rem;
}
.c-effect-sticky .--item.is-prev .--focus-image {
  transform: translateY(50%);
}
.c-effect-sticky .--fade {
  opacity: 0;
  transition: opacity 600ms ease;
  pointer-events: none;
}
.c-effect-sticky .--fade.is-current {
  opacity: 1;
}
.c-effect-sticky .--description {
  opacity: 1;
  transition: opacity 2000ms ease;
}
.c-effect-sticky .--description.is-current {
  opacity: calc(1 - var(--progress));
  transition: opacity 0ms;
}
.c-effect-sticky-benefits .--number {
  transform: translateY(calc(-3.75rem * (var(--index) - 1)));
  transition: transform 300ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.c-effect-sticky-benefits .--image {
  clip-path: inset(0);
}
.c-effect-sticky-benefits .--image img {
  transform: scale(1.2);
}
.c-effect-sticky-benefits .--image.is-current {
  clip-path: inset(0 0 calc(100% * var(--progress)) 0);
}
.c-effect-sticky-benefits .--image.is-current img {
  transform: scale(calc(1.2 - var(--progress) * 0.2));
}
.c-effect-sticky-benefits .--image.is-prev {
  clip-path: inset(0 0 100% 0) !important;
}
.c-effect-sticky-benefits .--image.is-prev img {
  transform: scale(1);
}
.c-effect-sticky-benefits .--image.is-next img {
  transform: scale(calc(1.4 - var(--progress) * 0.2));
}
.c-effect-parallax.--scale {
  transform: translate3d(0, 0, 0) scale(var(--parallax-scale));
}
.c-effect-parallax.--opacity {
  opacity: var(--parallax-scale);
}
.c-effect-parallax.--normal {
  transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, calc(var(--progress) * 900), 0, 1) scale(calc(1 + var(--ratio)));
}
.c-effect-parallax.--section {
  transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, calc(var(--progress) * 1000), 0, 1);
}
.c-effect-parallax.--cta {
  transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, calc(min(var(--progress), 0) * 1000), 0, 1) scale(calc(1 + var(--ratio) * 0.7));
}
html.is-sp .c-effect-parallax.--cta {
  transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, calc(min(var(--progress), 0) * 1000), 0, 1) scale(calc(1 + var(--ratio) * 1.2));
}
.c-effect-parallax.--clip {
  clip-path: inset(0 0 calc(var(--progress) * 150%) 0);
}
.c-effect-parallax.--clip .--image {
  transform: scale(calc(1 + var(--progress) * 0.5));
}
.c-effect-header .--bg {
  transition: background-color 300ms ease, height 300ms ease;
}
.c-effect-header.is-home .--bg, .c-effect-header.is-home .--bg-logo {
  opacity: 0;
}
html:not(.is-sp) .c-effect-header .--bg-logo {
  transition: background-color 300ms ease, height 300ms ease;
}
html.is-sp .c-effect-header .--bg-logo {
  transition: opacity 300ms ease;
}
html.is-sp .c-effect-header .--bg-logo a {
  transition: color 300ms ease;
}
.c-effect-header.is-home.is-active .--bg, .c-effect-header.is-home.is-active .--bg-logo {
  opacity: 1;
  transition: background-color 300ms ease, opacity 400ms ease-in-out, height 300ms ease;
}
.c-effect-header.is-light .--bg {
  background-color: rgba(0, 168, 82, 0.9);
}
html:not(.is-sp) .c-effect-header.is-light .--bg-logo {
  background-color: rgba(0, 168, 82, 0.9);
}
html.is-sp .c-effect-header.is-light .--bg-logo a {
  color: #00a852;
}
html:not(.is-sp) .c-effect-header.is-scrolled .--bg, html:not(.is-sp) .c-effect-header.is-scrolled .--bg-logo {
  height: 4.375rem;
}
html.is-sp .c-effect-header.is-scrolled .--bg-logo {
  opacity: 0;
  pointer-events: none;
}
.c-effect-fadein {
  transform: translateY(1.25rem);
  opacity: 0;
}
.is-active .c-effect-fadein {
  transform: translateY(0);
  opacity: 1;
  transition: transform 800ms ease, opacity 600ms ease;
  transition-delay: var(--delay, 0ms);
}
.c-effect-line {
  transform: scaleX(0);
  transform-origin: right;
}
.is-active .c-effect-line {
  transform: scaleX(1);
  transform-origin: left;
  transition: transform 800ms ease;
  transition-delay: var(--delay, 0ms);
}
.c-effect-button {
  clip-path: inset(0 100% 0 0);
}
.c-effect-button .--fadein {
  transform: translateY(1.25rem);
  opacity: 0;
}
.is-active .c-effect-button, .c-effect-button.is-active {
  clip-path: inset(0);
  transition: clip-path 600ms ease;
  transition-delay: var(--delay, 0ms);
}
.is-active .c-effect-button .--fadein, .c-effect-button.is-active .--fadein {
  transform: translateY(0);
  opacity: 1;
  transition: opacity 600ms ease, transform 600ms ease;
  transition-delay: calc(var(--delay, 0ms) + 400ms);
}
.c-effect-split-line .line {
  overflow: hidden;
}
.c-effect-split-line .word {
  transform: perspective(1000px) translateY(115%);
}
.is-active .c-effect-split-line .word {
  transform: perspective(1000px) translateY(0);
  transition: transform 800ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: calc(var(--top-delay) * 1ms);
}
.c-effect-split-word .line {
  overflow: hidden;
}
.c-effect-split-word .word {
  transform: perspective(1000px) translateY(115%);
  transition: transform 800ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: calc(var(--left-delay) * 1ms);
}
.c-effect-split-word.--center .word {
  transition-delay: calc(var(--center-delay) * 1ms);
}
.is-active .c-effect-split-word .word {
  transform: perspective(1000px) translateY(0);
}
.c-effect-split-char .char span {
  transform: perspective(1000px) translateX(30%);
  opacity: 0;
  transition: transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1), opacity 200ms ease-in-out;
}
.is-active .c-effect-split-char .char span, .is-current .c-effect-split-char:not(.not-current) .char span {
  transform: perspective(1000px) translateX(0);
  opacity: 1;
  transition: transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1), opacity 200ms ease-in-out;
  transition-delay: calc(var(--left-delay) * 1ms);
}
.is-active .c-effect-split-char.--center .char span, .is-current .c-effect-split-char:not(.not-current).--center .char span {
  transition-delay: calc(var(--center-delay) * 1ms);
}
.c-effect-fv {
  pointer-events: none;
}
.c-effect-fv .--scroll {
  opacity: 0;
}
.c-effect-fv .--canvas-gallery {
  opacity: 0;
}
.c-effect-fv .--canvas-model {
  transform: translateY(2.5rem);
  opacity: 0;
}
.c-effect-fv .--logo {
  pointer-events: auto;
}
.c-effect-fv .--logo.--otsuka {
  opacity: 1;
}
.c-effect-fv .--logo.--site {
  opacity: 0;
}
.c-effect-fv .--loader {
  clip-path: inset(0 calc(100% * (1 - var(--loading-progress))) 0 0);
}
.c-effect-fv .--circle-bg {
  stroke-dasharray: 315%;
  stroke-dashoffset: 315%;
}
.c-effect-fv .--circle-progress {
  stroke-dasharray: 315%;
  stroke-dashoffset: calc(315% * (1 - var(--loading-progress, 0)));
}
.c-effect-fv.is-start .--logo {
  transition: opacity 600ms ease-in-out;
}
.c-effect-fv.is-start .--logo.--otsuka {
  opacity: 0;
}
.c-effect-fv.is-start .--logo.--site {
  opacity: 1;
}
.c-effect-fv.is-start .--circle-bg {
  stroke-dasharray: 315%;
  stroke-dashoffset: 0%;
  transition: stroke-dashoffset 1200ms ease-out 200ms;
}
.c-effect-fv.is-loaded .--scroll {
  opacity: 1;
  transition: opacity 600ms ease;
  transition-delay: 2500ms;
}
.c-effect-fv.is-loaded .--circle {
  opacity: 0;
  transition: opacity 150ms ease;
}
.c-effect-fv.is-loaded .--canvas-gallery {
  opacity: 1;
  transition: opacity 600ms ease;
}
.c-effect-fv.is-loaded .--canvas-gallery.is-current {
  opacity: calc(1 - var(--progress));
}
.c-effect-fv.is-loaded .--canvas-gallery.is-prev {
  opacity: 0 !important;
}
.c-effect-fv.is-loaded .--canvas-model {
  transform: translateY(0);
  opacity: 1;
  transition: opacity 200ms linear, transform 3000ms cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: 1100ms;
}
.c-effect-fv.is-loaded .--logo {
  transition: opacity 600ms ease;
  pointer-events: none;
}
.c-effect-fv.is-loaded .--logo.--site {
  opacity: 0;
}
.c-effect-fv.is-loaded .--gallery {
  left: 50%;
  transition: left 600ms ease;
}
.c-effect-menu {
  visibility: hidden;
  transition: visibility 0ms ease 600ms, pointer-events 0ms ease 600ms;
  pointer-events: none;
}
.c-effect-menu .--bg-image {
  clip-path: inset(0 0 100% 0);
  transition: clip-path 400ms ease 200ms;
}
.c-effect-menu .--logo {
  opacity: 0;
  transition: opacity 400ms ease;
}
.c-effect-menu .--item {
  transform: translateX(2.5rem);
  opacity: 0;
  transition: transform 400ms cubic-bezier(0.25, 1, 0.5, 1), opacity 400ms ease;
}
.is-open .c-effect-menu {
  visibility: visible;
  transition: visibility 0ms ease, pointer-events 0ms ease;
  pointer-events: auto;
}
.is-open .c-effect-menu .--bg-image {
  clip-path: inset(0);
  transition: clip-path 400ms ease;
}
.is-open .c-effect-menu .--logo {
  opacity: 1;
  transition: opacity 400ms ease 50ms;
}
.is-open .c-effect-menu .--item {
  transform: translateX(0);
  opacity: 1;
  transition: transform 600ms cubic-bezier(0.25, 1, 0.5, 1), opacity 600ms ease;
  transition-delay: calc(var(--delay) + 200ms);
}
.c-effect-drawer .--line {
  transform-origin: center;
  transition: transform 300ms ease;
}
.c-effect-drawer .--line:nth-child(1), .c-effect-drawer .--line:nth-child(3) {
  transform: translate(-50%, -50%) rotate(0);
}
.c-effect-drawer .--line:nth-child(2) {
  transform: scaleX(1);
}
.is-open .c-effect-drawer .--line:nth-child(1) {
  transform: translate(-50%, calc(-50% + 4px)) rotate(45deg);
}
.is-open .c-effect-drawer .--line:nth-child(3) {
  transform: translate(-50%, calc(-50% - 4px)) rotate(-45deg);
}
.is-open .c-effect-drawer .--line:nth-child(2) {
  transform: scaleX(0);
}
.c-effect__modal--material {
  transition: width 400ms cubic-bezier(0.19, 1, 0.22, 1), height 400ms cubic-bezier(0.19, 1, 0.22, 1), bottom 400ms cubic-bezier(0.19, 1, 0.22, 1), left 400ms cubic-bezier(0.19, 1, 0.22, 1);
  pointer-events: none;
}
.--open .c-effect__modal--material {
  bottom: 1.875rem;
  left: 0.9375rem;
  transition: width 800ms cubic-bezier(0.19, 1, 0.22, 1), height 800ms cubic-bezier(0.19, 1, 0.22, 1), bottom 800ms cubic-bezier(0.19, 1, 0.22, 1), left 800ms cubic-bezier(0.19, 1, 0.22, 1);
  width: 44.8125rem;
  height: 31.25rem;
  pointer-events: auto;
}
html.is-sp .--open .c-effect__modal--material {
  bottom: 4.8125rem;
  left: 0.75rem;
  width: 22.875rem;
  height: 31.25rem;
}
.c-effect__modal--voice {
  visibility: hidden;
  opacity: 0;
  transition: visibility 800ms ease, opacity 800ms ease;
  pointer-events: none;
}
.c-effect__modal--voice .--left {
  transform: translateX(calc(-100% - 0.3125rem));
  transition: transform 800ms cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: var(--delay, 0ms);
}
.c-effect__modal--voice .--right {
  transform: translateX(calc(100% + 0.3125rem));
  transition: transform 800ms cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: var(--delay, 0ms);
  overflow: hidden;
}
.c-effect__modal--voice .--image {
  position: relative;
}
.c-effect__modal--voice .--image img {
  position: absolute;
  transform: translateX(2.5rem);
  z-index: -10;
  clip-path: inset(0 0 0 100%);
  inset: 0;
}
.c-effect__modal--voice .--image img.is-change {
  transition: clip-path 600ms ease, transform 600ms ease;
}
.c-effect__modal--voice .--image img.is-next {
  z-index: 10;
}
.c-effect__modal--voice .--image img.is-current {
  transform: translateX(0);
  z-index: 5;
  clip-path: inset(0);
}
.c-effect__modal--voice .--image img.is-prev {
  transform: translateX(-2.5rem);
  z-index: 0;
  clip-path: inset(0);
}
.c-effect__modal--voice .--wrap {
  position: relative;
  height: var(--height, auto);
}
html.is-sp .c-effect__modal--voice .--wrap {
  height: var(--sp-height, auto);
}
.c-effect__modal--voice .--fade {
  opacity: 1;
  transition: opacity 300ms ease;
}
.c-effect__modal--voice .--text {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.c-effect__modal--voice .--text .word {
  display: block !important;
}
.c-effect__modal--voice .--text .char span {
  transform: perspective(1000px) translateX(30%);
  opacity: 0;
}
.c-effect__modal--voice .--text.is-change.is-next .char span, .c-effect__modal--voice .--text.is-change.is-current .char span, .c-effect__modal--voice .--text.is-change.is-prev .char span {
  transition: transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1), opacity 200ms ease-in-out;
}
.c-effect__modal--voice .--text.is-change.is-next .char span, .c-effect__modal--voice .--text.is-change.is-prev .char span {
  transition-delay: calc(var(--left-delay) * 1ms);
}
.c-effect__modal--voice .--text.is-change.is-current .char span {
  transition-delay: calc(var(--left-delay) * 1ms + 100ms);
}
.c-effect__modal--voice .--text.is-current {
  pointer-events: all;
}
.c-effect__modal--voice .--text.is-current .char span {
  transform: perspective(1000px) translateX(0);
  opacity: 1;
}
.c-effect__modal--voice .--text.is-prev .char span {
  transform: perspective(1000px) translateX(-30%);
  opacity: 0;
}
.c-effect__modal--voice.is-change .--fade {
  opacity: 0;
}
.is-open .c-effect__modal--voice {
  visibility: visible;
  opacity: 1;
  transition: visibility 0ms ease, opacity 0ms ease;
  pointer-events: auto;
}
.is-open .c-effect__modal--voice .--left, .is-open .c-effect__modal--voice .--right {
  transform: translateX(0);
}
.c-effect__modal--cta {
  visibility: hidden;
  opacity: 0;
  -webkit-backdrop-filter: blur(0);
          backdrop-filter: blur(0);
  transition: visibility 300ms ease, opacity 300ms ease, -webkit-backdrop-filter 300ms ease;
  transition: visibility 300ms ease, opacity 300ms ease, backdrop-filter 300ms ease;
  transition: visibility 300ms ease, opacity 300ms ease, backdrop-filter 300ms ease, -webkit-backdrop-filter 300ms ease;
  pointer-events: none;
}
.c-effect__modal--cta .--panel {
  transform: translateX(110%);
  transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}
.c-effect__modal--cta .--fade {
  transform: translateY(1.25rem);
  opacity: 0;
  transition: opacity 300ms ease, transform 300ms ease;
}
.is-open .c-effect__modal--cta {
  visibility: visible;
  opacity: 1;
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  transition: visibility 0ms cubic-bezier(0.16, 1, 0.3, 1), opacity 300ms ease, -webkit-backdrop-filter 300ms ease;
  transition: visibility 0ms cubic-bezier(0.16, 1, 0.3, 1), opacity 300ms ease, backdrop-filter 300ms ease;
  transition: visibility 0ms cubic-bezier(0.16, 1, 0.3, 1), opacity 300ms ease, backdrop-filter 300ms ease, -webkit-backdrop-filter 300ms ease;
  pointer-events: auto;
}
.is-open .c-effect__modal--cta .--panel {
  transform: translateX(0);
}
.is-open .c-effect__modal--cta .--fade {
  transform: translateY(0);
  opacity: 1;
  transition: opacity 300ms ease, transform 300ms ease;
  transition-delay: calc(var(--delay, 0ms) + 300ms);
}
.c-effect__modal--note {
  visibility: hidden;
  opacity: 0;
  -webkit-backdrop-filter: blur(0);
          backdrop-filter: blur(0);
  transition: visibility 300ms ease, opacity 300ms ease, -webkit-backdrop-filter 300ms ease;
  transition: visibility 300ms ease, opacity 300ms ease, backdrop-filter 300ms ease;
  transition: visibility 300ms ease, opacity 300ms ease, backdrop-filter 300ms ease, -webkit-backdrop-filter 300ms ease;
  pointer-events: none;
}
.c-effect__modal--note .--panel {
  transform: translateX(110%);
  transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}
.c-effect__modal--note .--fade {
  transform: translateY(1.25rem);
  opacity: 0;
  transition: opacity 300ms ease, transform 300ms ease;
}
.is-note .c-effect__modal--note {
  visibility: visible;
  opacity: 1;
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  transition: visibility 0ms cubic-bezier(0.16, 1, 0.3, 1), opacity 300ms ease, -webkit-backdrop-filter 300ms ease;
  transition: visibility 0ms cubic-bezier(0.16, 1, 0.3, 1), opacity 300ms ease, backdrop-filter 300ms ease;
  transition: visibility 0ms cubic-bezier(0.16, 1, 0.3, 1), opacity 300ms ease, backdrop-filter 300ms ease, -webkit-backdrop-filter 300ms ease;
  pointer-events: auto;
}
.is-note .c-effect__modal--note .--panel {
  transform: translateX(0);
}
.is-note .c-effect__modal--note .--fade {
  transform: translateY(0);
  opacity: 1;
  transition: opacity 300ms ease, transform 300ms ease;
  transition-delay: calc(var(--delay, 0ms) + 300ms);
}
.c-effect__modal--info {
  visibility: hidden;
  opacity: 0;
  -webkit-backdrop-filter: blur(0);
          backdrop-filter: blur(0);
  transition: visibility 300ms ease, opacity 300ms ease, -webkit-backdrop-filter 300ms ease;
  transition: visibility 300ms ease, opacity 300ms ease, backdrop-filter 300ms ease;
  transition: visibility 300ms ease, opacity 300ms ease, backdrop-filter 300ms ease, -webkit-backdrop-filter 300ms ease;
  pointer-events: none;
}
.c-effect__modal--info .--panel {
  transform: translateX(110%);
  transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}
.c-effect__modal--info .--fade {
  transform: translateY(1.25rem);
  opacity: 0;
  transition: opacity 300ms ease, transform 300ms ease;
}
.is-info .c-effect__modal--info {
  visibility: visible;
  opacity: 1;
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  transition: visibility 0ms cubic-bezier(0.16, 1, 0.3, 1), opacity 300ms ease, -webkit-backdrop-filter 300ms ease;
  transition: visibility 0ms cubic-bezier(0.16, 1, 0.3, 1), opacity 300ms ease, backdrop-filter 300ms ease;
  transition: visibility 0ms cubic-bezier(0.16, 1, 0.3, 1), opacity 300ms ease, backdrop-filter 300ms ease, -webkit-backdrop-filter 300ms ease;
  pointer-events: auto;
}
.is-info .c-effect__modal--info .--panel {
  transform: translateX(0);
}
.is-info .c-effect__modal--info .--fade {
  transform: translateY(0);
  opacity: 1;
  transition: opacity 300ms ease, transform 300ms ease;
  transition-delay: calc(var(--delay, 0ms) + 300ms);
}
.c-effect__modal--button .--bg {
  transition: background-color 300ms ease, color 300ms ease;
}
.c-effect__modal--button .--icon {
  transition: transform 300ms ease;
}
.--open .c-effect__modal--button .--bg {
  background-color: var(--open-color);
  color: var(--close-color);
}
.--open .c-effect__modal--button .--icon {
  transform: rotate(45deg);
}
.c-effect__loading {
  position: fixed;
  top: 0;
  left: 0;
  opacity: 1;
  z-index: 9999;
  transition: opacity 600ms ease;
  cursor: wait;
  background-color: #00a852;
  width: 100%;
  height: 100%;
}
.c-effect__loading.--complete {
  opacity: 0;
  pointer-events: none;
}
.c-effect__acordion .--icon::after {
  transition: transform 300ms ease;
}
.c-effect__acordion.is-open .--icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}
.c-effect-section {
  display: flex;
  margin-bottom: -100svh;
  width: 100%;
  height: calc(var(--container-height) + 100svh);
}
.c-effect-section--inner {
  position: sticky;
  bottom: 0;
  left: 0;
  align-self: flex-end;
  transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, calc(var(--container-progress) * -400), 0, 1);
  width: 100%;
  height: auto;
}
.c-effect__page-transition {
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: 9999;
  -webkit-mask-image: linear-gradient(to top, transparent 0%, black 30%);
          mask-image: linear-gradient(to top, transparent 0%, black 30%);
  -webkit-mask-position: 0% -300%;
          mask-position: 0% -300%;
  -webkit-mask-size: 100% 150%;
          mask-size: 100% 150%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  transition: opacity 600ms ease;
  cursor: wait;
  background-color: #00a852;
  width: 100%;
  height: 100lvh;
  pointer-events: none;
}
.page-transition .c-effect__page-transition {
  opacity: 1;
  -webkit-mask-position: 0% 0%;
          mask-position: 0% 0%;
  transition: opacity 600ms ease, -webkit-mask-position 600ms cubic-bezier(0.87, 0, 0.13, 1);
  transition: mask-position 600ms cubic-bezier(0.87, 0, 0.13, 1), opacity 600ms ease;
  transition: mask-position 600ms cubic-bezier(0.87, 0, 0.13, 1), opacity 600ms ease, -webkit-mask-position 600ms cubic-bezier(0.87, 0, 0.13, 1);
  pointer-events: auto;
}
.c-icon__plus {
  position: relative;
  width: 0.75rem;
  height: 0.75rem;
}
.c-icon__plus::before, .c-icon__plus::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: currentColor;
  width: 100%;
  height: 0.125rem;
  overflow: hidden;
  content: "";
}
.c-icon__plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.c-image__normal {
  width: 100%;
  height: auto;
}
.c-image__cover {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-image__contain {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.c-image__position--left {
  -o-object-position: left;
     object-position: left;
}
.c-image__position--right {
  -o-object-position: right;
     object-position: right;
}
.c-image__position--top {
  -o-object-position: top;
     object-position: top;
}
.c-image__position--bottom {
  -o-object-position: bottom;
     object-position: bottom;
}
.c-kerning {
  font-kerning: auto;
  font-feature-settings: "palt";
}
.c-kerning__not {
  font-kerning: none;
  font-feature-settings: "normal";
}
.c-line-x {
  position: absolute;
  left: 0;
  opacity: 0.3;
  background-color: #111312;
  width: 100%;
  height: 0.0625rem;
}
.c-line-x.--top {
  top: 0;
}
.c-line-x.--bottom {
  bottom: 0;
}
.c-link {
  opacity: 1;
  transition: opacity 600ms ease;
  cursor: pointer;
  text-decoration: unset;
}
@media (min-width: 1024px) {
  .c-link:hover {
    opacity: 0.6;
    transition: opacity 300ms ease;
  }
}
@media (prefers-reduced-motion) {
  .c-link {
    transition: opacity 1s linear;
  }
  .c-link:hover {
    opacity: 0.6;
  }
}
.c-link__button .--arrow {
  position: relative;
  overflow: hidden;
}
.c-link__button .--arrow.--absolute {
  position: absolute;
}
.c-link__button .--arrow-before {
  transform: translate(0, 0);
}
.c-link__button .--arrow-after {
  position: absolute;
  transform: translate(-100%, 0);
  z-index: 0;
  inset: 0;
}
.c-link__button .--bg {
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}
@media (min-width: 1024px) {
  .c-link__button.is-hover .--arrow-before, .c-link__button:hover .--arrow-before {
    transform: translate(100%);
    transition: transform 300ms ease;
  }
  .c-link__button.is-hover .--arrow-after, .c-link__button:hover .--arrow-after {
    transform: translate(0, 0);
    transition: transform 300ms ease;
  }
  .c-link__button.is-hover .--bg, .c-link__button:hover .--bg {
    transform: scaleX(1);
    transform-origin: left;
    transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1);
  }
}
.c-link__modal .--icon {
  transform: rotateZ(0);
}
@media (min-width: 1024px) {
  .c-link__modal.is-hover .--icon {
    transform: rotateZ(180deg);
    transition: transform 300ms ease;
  }
}
.c-modal__material {
  position: absolute;
  bottom: 2.8125rem;
  left: 1.875rem;
  z-index: 0;
  background-color: #ffffff;
  width: 1rem;
  height: 1rem;
}
html.is-sp .c-modal__material {
  bottom: 5.5625rem;
  left: 1.5rem;
}
.c-modal__material--container {
  position: relative;
  padding: 0 3.3125rem 0 8.1875rem;
  width: 100%;
  height: 100%;
}
html.is-sp .c-modal__material--container {
  padding: 0 2.25rem 0 2.625rem;
}
.c-modal__material--inner {
  padding: 3.75rem 0;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
}
html.is-sp .c-modal__material--inner {
  padding: 2.5rem 0;
}
.c-modal__material--title {
  font-size: 1.75rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
html.is-sp .c-modal__material--title {
  font-size: 1.375rem;
}
.c-modal__material--content {
  width: 100%;
  height: auto;
}
.c-modal__material--list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  width: 100%;
  height: auto;
}
.c-modal__material--item {
  display: flex;
  position: relative;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.5rem;
  padding: 1.5rem 0;
  width: 100%;
  height: auto;
}
html.is-sp .c-modal__material--item {
  gap: 1.25rem;
  padding: 1rem 0;
}
.c-modal__material--item::before {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #c7dfd6;
  width: 100%;
  height: 0.0625rem;
  pointer-events: none;
  content: "";
}
.c-modal__material--item--heading {
  flex: 0 0 auto;
  width: 9.0625rem;
  height: auto;
}
html.is-sp .c-modal__material--item--heading {
  width: 6.3125rem;
}
.c-modal__material--item--title {
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
html.is-sp .c-modal__material--item--title {
  font-size: 0.9375rem;
}
.c-modal__material--item--content {
  width: 100%;
  height: auto;
}
.c-modal__material--scrollbar {
  position: absolute;
  top: 3.75rem;
  right: 1.4375rem;
  z-index: 0;
  background-color: #ddeae5;
  width: 0.125rem;
  height: calc(100% - 7.5rem);
  pointer-events: none;
}
html.is-sp .c-modal__material--scrollbar {
  top: 2.5rem;
  right: 0.75rem;
  height: calc(100% - 5rem);
}
.c-modal__material--scrollbar--thumb {
  position: absolute;
  top: var(--thumb-top);
  left: 0;
  background-color: #00a852;
  width: 100%;
  height: var(--thumb-height);
}
.c-modal__voice {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
  padding: 0.25rem;
  width: 100%;
  height: 100%;
}
.c-modal__voice--mask {
  position: absolute;
  z-index: 0;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}
.c-modal__voice--inner {
  display: flex;
  position: relative;
  justify-content: space-between;
  align-items: stretch;
  gap: 0.25rem;
  z-index: 10;
  width: 100%;
  height: 100%;
}
html.is-sp .c-modal__voice--inner {
  height: calc(100% - 3.625rem);
  overflow-y: scroll;
}
.c-modal__voice--contents {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  gap: 0.25rem;
  width: 30.625rem;
}
html.is-sp .c-modal__voice--contents {
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
}
.c-modal__voice--heading {
  background-color: #ffffff;
  padding: 3rem 1.875rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-modal__voice--heading {
  padding: 1.875rem 1.25rem;
}
.c-modal__voice--title {
  color: #00a852;
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
html.is-sp .c-modal__voice--title {
  font-size: 1.1875rem;
}
.c-modal__voice--occupation {
  margin-top: 1.25rem;
  font-size: 1.25rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
html.is-sp .c-modal__voice--occupation {
  font-size: 1rem;
  line-height: 1.6;
}
.c-modal__voice--name {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
.c-modal__voice--body {
  position: relative;
  flex: 1 0 auto;
  background-color: #ffffff;
  width: 100%;
  height: calc(100% - var(--heading-height) - 3.625rem - 0.5rem);
}
html.is-sp .c-modal__voice--body {
  height: auto;
}
.c-modal__voice--body--inner {
  padding: 0.75rem 0;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
}
html.is-sp .c-modal__voice--body--inner {
  padding: 0.625rem 0;
  height: auto;
  overflow: visible;
}
.c-modal__voice--body--content {
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
}
.c-modal__voice--comment {
  position: relative;
  padding: 3rem 1.875rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-modal__voice--comment {
  padding: 1.875rem 1.25rem;
}
.c-modal__voice--comment--line {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #c7dfd6;
  width: 100%;
  height: 0.0625rem;
  pointer-events: none;
}
.c-modal__voice--comment--text {
  font-size: 1rem;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
html.is-sp .c-modal__voice--comment--text {
  font-size: 0.9375rem;
  line-height: 1.9;
}
.c-modal__voice--comment--name {
  margin-top: 1.875rem;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
html.is-sp .c-modal__voice--comment--name {
  margin-top: 1.25rem;
  font-size: 0.9375rem;
}
.c-modal__voice--note {
  position: relative;
  padding: 3rem 1.875rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-modal__voice--note {
  padding: 1.875rem 1.25rem;
}
.c-modal__voice--note--text {
  opacity: 0.6;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
.c-modal__voice--nav {
  display: flex;
  flex: 0 0 auto;
  justify-content: space-between;
  align-items: center;
  background-color: #00a852;
  padding-right: 2.5rem;
  padding-left: 1.5rem;
  width: 100%;
  height: 3.625rem;
}
html.is-sp .c-modal__voice--nav {
  position: fixed;
  bottom: 0.25rem;
  left: 0.25rem;
  width: calc(100% - 0.5rem);
  height: 3.375rem;
}
.c-modal__voice--nav--button {
  padding: 0;
  width: 0.875rem;
  height: auto;
}
html.is-sp .c-modal__voice--nav--button {
  width: 0.9375rem;
}
.c-modal__voice--nav--button.--prev {
  transform: scaleX(-1);
}
.c-modal__voice--nav--progress {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  color: #ffffff;
  font-size: 1.125rem;
  line-height: 1.2;
}
html.is-sp .c-modal__voice--nav--progress {
  font-size: 0.9375rem;
}
.c-modal__voice--nav--progress > span:not(.--current) {
  opacity: 0.5;
}
.c-modal__voice--nav--progress .--number {
  transform: translateY(calc(-1.375rem * var(--reel-index)));
  transition: transform 300ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
html.is-sp .c-modal__voice--nav--progress .--number {
  transform: translateY(calc(-1.125rem * (var(--reel-index))));
}
.c-modal__voice--nav--progress > span.--current {
  height: 1.375rem;
  overflow: hidden;
}
html.is-sp .c-modal__voice--nav--progress > span.--current {
  height: 1.125rem;
}
.c-modal__voice--nav--progress > span.--current > span {
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
}
.c-modal__voice--nav--progress > span.--current > span span {
  display: block;
  height: 1.375rem;
}
html.is-sp .c-modal__voice--nav--progress > span.--current > span span {
  height: 1.125rem;
}
.c-modal__voice--image {
  width: 100%;
  height: auto;
  overflow: hidden;
}
html.is-sp .c-modal__voice--image {
  aspect-ratio: 382/246;
}
.c-modal__voice--close {
  display: grid;
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  place-content: center;
  z-index: 20;
  background-color: #00a852;
  padding: 0;
  width: 6.25rem;
  height: 6.25rem;
}
html.is-sp .c-modal__voice--close {
  width: 3.75rem;
  height: 3.75rem;
}
.c-modal__voice--close--icon {
  display: block;
  transform: rotateZ(45deg);
  width: 1.875rem !important;
  height: 1.875rem !important;
  color: #ffffff !important;
}
html.is-sp .c-modal__voice--close--icon {
  width: 1.25rem !important;
  height: 1.25rem !important;
}
.c-modal__voice--scrollbar {
  position: absolute;
  top: 50%;
  right: 0.3125rem;
  transform: translateY(-50%);
  z-index: 10;
  width: 0.5rem;
  height: calc(100% - 6rem);
  pointer-events: none;
}
html.is-sp .c-modal__voice--scrollbar {
  top: 4rem;
  right: 0.25rem;
  transform: translateY(0);
  background-color: #ffffff;
  height: calc(100% - 7.875rem);
}
.c-modal__voice--scrollbar--container {
  position: relative;
  margin: 0.25rem auto 0;
  background-color: #ddeae5;
  width: 0.125rem;
  height: 100%;
}
html.is-sp .c-modal__voice--scrollbar--container {
  height: calc(100% - 0.5rem);
}
.c-modal__voice--scrollbar--thumb {
  position: absolute;
  top: var(--thumb-top);
  left: 0;
  background-color: #00a852;
  width: 100%;
  height: var(--thumb-height);
}
.c-modal__cta {
  position: fixed;
  z-index: 200;
  inset: 0;
  padding: 1.875rem;
}
html.is-sp .c-modal__cta {
  padding: 0.625rem;
}
.c-modal__cta--mask {
  position: absolute;
  z-index: 0;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}
.c-modal__cta--main {
  position: relative;
  z-index: 10;
  margin-left: auto;
  background-color: #ffffff;
  width: 42.375rem;
  height: 100%;
}
html.is-sp .c-modal__cta--main {
  width: 100%;
}
.c-modal__cta--close {
  position: absolute;
  top: 0.8125rem;
  right: 0.8125rem;
  transform: rotateZ(45deg);
  z-index: 20;
}
.c-modal__cta--close .c-icon__plus {
  width: 1.875rem !important;
  height: 1.875rem !important;
  color: #00a852 !important;
}
html.is-sp .c-modal__cta--close {
  top: 0.5rem;
  right: 0.375rem;
}
.c-modal__cta--inner {
  padding: 3.75rem 2.5rem 5rem;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
}
html.is-sp .c-modal__cta--inner {
  padding: 1.5rem 0.875rem 5rem;
}
.--note .c-modal__cta--inner {
  padding: 3.75rem 2.5rem 5rem;
}
html.is-sp .--note .c-modal__cta--inner {
  padding: 2rem 0.875rem 5rem;
}
.c-modal__cta--title {
  font-size: 1.75rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
html.is-sp .c-modal__cta--title {
  font-size: 1.375rem;
  line-height: 1.6;
}
.c-modal__cta--description {
  margin-top: 2rem;
  font-size: 1.125rem;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
html.is-sp .c-modal__cta--description {
  margin-top: 2.5rem;
  font-size: 1rem;
  line-height: 1.9;
}
.c-modal__cta--content {
  margin-top: 2.5rem;
  width: 100%;
  height: auto;
}
.c-modal__cta--content--title {
  font-size: 1.25rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
html.is-sp .c-modal__cta--content--title {
  font-size: 1rem;
  line-height: 1.6;
}
.c-modal__cta--list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 2.5rem 0;
  margin-top: 1.75rem;
  width: 100%;
  height: auto;
}
.--info .c-modal__cta--list {
  gap: 1.5rem 0;
  margin-top: 2rem;
}
html.is-sp .--info .c-modal__cta--list {
  gap: 1rem 0;
}
.c-modal__cta--item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0 3.375rem;
  width: 100%;
  height: auto;
}
.--info .c-modal__cta--item {
  position: relative;
  gap: 0 1.5rem;
  padding-top: 1.5rem;
}
html.is-sp .--info .c-modal__cta--item {
  gap: 0 1.25rem;
  padding-top: 1rem;
}
.--info .c-modal__cta--item::before {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #c7dfd6;
  width: 100%;
  height: 0.0625rem;
  content: "";
}
.c-modal__cta--item--inner {
  position: relative;
  padding-top: 1.375rem;
  width: 100%;
  height: auto;
}
html.is-sp .c-modal__cta--item--inner {
  padding-top: 1.25rem;
}
.c-modal__cta--item--inner::before {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #c7dfd6;
  width: 94.0594059406%;
  height: 0.0625rem;
  content: "";
}
html.is-sp .c-modal__cta--item--inner::before {
  width: 100%;
}
.c-modal__cta--item--heading {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.25rem;
  width: 100%;
  height: auto;
}
.c-modal__cta--item--title {
  color: #00a852;
  font-size: 1.25rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
.--info .c-modal__cta--item--title {
  flex: 0 0 auto;
  width: 10.625rem;
  color: #000000;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
html.is-sp .--info .c-modal__cta--item--title {
  width: 6.3125rem;
  font-size: 0.9375rem;
}
html.is-sp .c-modal__cta--item--title {
  font-size: 1rem;
  line-height: 1.6;
}
.c-modal__cta--item--content {
  margin-top: 0.875rem;
  width: 100%;
  height: auto;
}
.--info .c-modal__cta--item--content {
  margin-top: 0;
}
html.is-sp .--info .c-modal__cta--item--content {
  margin-top: 0;
}
.c-modal__cta--item--content .--line {
  display: block;
  position: relative;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
}
.c-modal__cta--item--content .--line::before {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #c7dfd6;
  width: 100%;
  height: 0.0625rem;
  content: "";
}
html.is-sp .c-modal__cta--item--content {
  margin-top: 1.5rem;
}
.c-modal__cta--item--image {
  flex: 0 0 auto;
  width: 8.75rem;
  height: auto;
}
html.is-sp .c-modal__cta--item--image {
  width: 3.75rem;
}
.c-prose__modal {
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
html.is-sp .c-prose__modal {
  font-size: 0.9375rem;
}
.c-prose__modal ul li {
  width: auto;
  height: auto;
}
.c-prose__modal ul li:not(.c-prose__modal ul li.not-marker) {
  margin-left: 1.5em;
  list-style: disc;
  list-style-position: outside;
}
html.is-sp .c-prose__modal ul li:not(.c-prose__modal ul li.not-marker) {
  margin-left: 1.3333333333em;
}
.c-prose__modal.--cta ul > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0.625rem;
}
html.is-sp .c-prose__modal.--cta ul > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0.5rem;
}
.c-prose__modal.--cta ul li {
  font-size: 1.125rem;
  text-align: justify;
}
.--info .c-prose__modal.--cta ul li {
  font-size: 1rem;
}
html.is-sp .--info .c-prose__modal.--cta ul li {
  font-size: 0.9375rem;
}
html.is-sp .c-prose__modal.--cta ul li {
  font-size: 1rem;
  line-height: 1.9;
}
.c-prose__modal.--cta ul li ul {
  margin-left: -0.3888888889em !important;
}
.c-prose__modal.--cta ul li ul li {
  font-size: 1rem;
}
html.is-sp .c-prose__modal.--cta ul li ul li {
  font-size: 0.9375rem;
}
.c-prose__modal .--note {
  display: block;
  position: relative;
  margin-top: 0.25rem;
  padding-left: 1.125rem;
  font-size: 0.875rem;
  text-align: left;
}
html.is-sp .c-prose__modal .--note {
  margin-top: 0.5rem;
}
.c-prose__modal .--note::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "※";
}
.c-prose__modal .--tag {
  margin-top: 0.25rem;
  border: 1px solid #c7dfd6;
  border-radius: 0.25rem;
  padding: 0.125rem 0.25rem 0.0625rem;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  overflow: hidden;
}
html.is-sp .c-prose__modal .--tag {
  margin-top: 0.125rem;
}
.c-prose__modal .--tag p {
  font-size: 0.875rem;
}
.c-prose__modal .--tel {
  margin-top: 0.25rem;
  margin-left: -0.5em !important;
  border: 1px solid #c7dfd6;
  border-radius: 0.25rem;
  padding: 0.375rem 0.5625rem;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  overflow: hidden;
}
html.is-sp .c-prose__modal .--tel {
  margin-top: 0.5rem;
}
.c-prose__modal .--tel p {
  font-size: 0.875rem;
}
.c-scroll-bar-hidden {
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.c-scroll-bar-hidden::-webkit-scrollbar {
  display: none;
}
.c-scroll-bar-original::-webkit-scrollbar {
  width: 9px;
}
html.is-sp .c-scroll-bar-original::-webkit-scrollbar {
  width: 6px;
}
.c-scroll-bar-original::-webkit-scrollbar-track {
  border-right: 3px solid white;
  background-clip: content-box;
  background-color: #ddeae5;
}
html.is-sp .c-scroll-bar-original::-webkit-scrollbar-track {
  border-right: 2px solid white;
  border-left: 2px solid white;
  border-radius: 0;
}
.c-scroll-bar-original::-webkit-scrollbar-thumb {
  border-right: 3px solid transparent;
  background-clip: content-box;
  background-color: #00a852;
}
html.is-sp .c-scroll-bar-original::-webkit-scrollbar-thumb {
  border-right: 2px solid white;
  border-left: 2px solid white;
}
.c-webgl {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -10;
  width: 100%;
  max-width: 100%;
  height: 100vh;
  pointer-events: none;
}
html.is-sp .c-webgl {
  height: 100lvh;
}
.c-webgl.--model {
  z-index: 0;
}
.c-webgl.--video {
  pointer-events: auto;
}
.c-webgl__stage {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.c-webgl__modal {
  position: absolute;
  right: 12.6875rem;
  bottom: 6.125rem;
  z-index: 0;
  width: 16.875rem;
  height: 17.8125rem;
}
html.is-sp .c-webgl__modal {
  right: 0.625rem;
  bottom: 17.9910044978lvh;
  width: 8.75rem;
  height: 9.25rem;
}
.c-webgl__gallery {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  z-index: 0;
  aspect-ratio: 1/1;
  width: 25rem;
  height: 15.3125rem;
}
html.is-sp .c-webgl__gallery {
  width: 12.5rem;
  height: 7.6875rem;
}
.c-webgl__video {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  pointer-events: none;
}
.is-loaded .c-webgl__video {
  opacity: 0;
  transition: opacity 300ms ease;
  pointer-events: auto;
}
html.is-sp .is-loaded .c-webgl__video {
  opacity: 1;
}
.c-webgl__video::-webkit-media-controls, .c-webgl__video::-webkit-media-controls-play-button, .c-webgl__video::-webkit-media-controls-enclosure {
  display: none !important;
}
.prj-cta {
  position: relative;
  padding: 5rem 0 10rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-cta {
  padding: 3.5rem 0 5rem;
}
.prj-cta__section {
  display: flex;
  margin-bottom: -100svh;
  width: 100%;
  height: calc(var(--container-height) + 100svh);
}
html.is-sp .prj-cta__section {
  margin-bottom: 0;
  height: auto;
}
.prj-cta__bg {
  position: absolute;
  z-index: 0;
  inset: 0;
}
.prj-cta__bg--sticky {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.prj-cta__bg--sticky img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.prj-cta__inner {
  position: relative;
  z-index: 10;
  margin: 0 auto;
  width: 60rem;
  height: auto;
}
html.is-sp .prj-cta__inner {
  padding: 0 0.75rem;
  width: 100%;
}
.--product .prj-cta__inner {
  padding-top: 130vh;
}
html.is-sp .--product .prj-cta__inner {
  padding-top: 120svh;
}
.prj-cta__heading {
  margin: 0 auto;
  width: 28.75rem;
  height: auto;
  text-align: center;
}
html.is-sp .prj-cta__heading {
  width: 100%;
}
.prj-cta__heading > p:first-of-type {
  font-size: 1.75rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
html.is-sp .prj-cta__heading > p:first-of-type {
  font-size: 1.25rem;
  line-height: 1.6;
}
.prj-cta__heading--text {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 0 0.3125rem;
  margin-top: 0.625rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-cta__heading--text {
  margin-top: 0.5rem;
}
.prj-cta__heading--text .font-sans {
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
html.is-sp .prj-cta__heading--text .font-sans {
  font-size: 1rem;
  line-height: 1.9;
  letter-spacing: 0.04em;
}
.prj-cta__heading--text .font-sans.--xl {
  position: relative;
  bottom: 0.0625rem;
  font-size: 2.90625rem;
  letter-spacing: 0.1em;
}
html.is-sp .prj-cta__heading--text .font-sans.--xl {
  font-size: 1.625rem;
  line-height: 1.6;
}
.prj-cta__heading--text .font-en {
  display: inline-block;
  height: 3.75rem;
  font-size: 3.75rem;
  line-height: 1;
}
html.is-sp .prj-cta__heading--text .font-en {
  height: 1.875rem;
  font-size: 1.875rem;
}
.prj-cta__heading--text > span:not([class]) {
  position: relative;
  top: 0.1875rem;
  color: #00a852;
}
.prj-cta__heading--note {
  width: 100%;
  height: auto;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
html.is-sp .prj-cta__heading--note {
  font-size: 0.9375rem;
}
.prj-cta__title {
  margin-top: 0.9375rem;
  width: 100%;
  height: auto;
  color: #00a852;
}
html.is-sp .prj-cta__title {
  margin: 0.9375rem auto 0;
  width: 18.125rem;
}
.prj-cta__main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem 1.5rem;
  margin-top: 5rem;
  background-color: #ffffff;
  padding: 0.625rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-cta__main {
  flex-direction: column-reverse;
  margin-top: 3.5rem;
  padding: 0.375rem 0.375rem 1.25rem;
}
.prj-cta__main--content {
  padding-left: 0.875rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-cta__main--content {
  padding: 0 0.875rem;
}
.prj-cta__main--label {
  margin-top: 1.25rem;
  margin-bottom: 0.375rem;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
html.is-sp .prj-cta__main--label {
  font-size: 0.9375rem;
}
.prj-cta__main--price {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 0.625rem;
  width: 100%;
  height: auto;
  text-wrap: nowrap;
}
html.is-sp .prj-cta__main--price {
  gap: 0 0.375rem;
}
.prj-cta__main--price p {
  display: inline-flex;
  justify-content: flex-start;
  align-items: baseline;
}
.prj-cta__main--price .font-sans {
  font-size: 1.125rem;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
html.is-sp .prj-cta__main--price .font-sans {
  font-size: 1rem;
  line-height: 1.9;
}
.prj-cta__main--price .font-sans.--unit {
  padding-left: 0.375rem;
  font-size: 1rem;
}
.prj-cta__main--price .font-en {
  font-size: 1.625rem;
  line-height: 1;
}
html.is-sp .prj-cta__main--price .font-en {
  font-size: 1.75rem;
}
.prj-cta__main--price:not(.prj-cta__main--price.--main, .prj-cta__main--price.--current) {
  position: relative;
  margin-bottom: 1rem;
  padding-bottom: 0.875rem;
}
.prj-cta__main--price:not(.prj-cta__main--price.--main, .prj-cta__main--price.--current)::before {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
  background-color: #c7dfd6;
  width: 100%;
  height: 1px;
  pointer-events: none;
  content: "";
}
html.is-sp .prj-cta__main--price.--main {
  flex-wrap: wrap;
  gap: 0.25rem 0.625rem;
}
.prj-cta__main--price.--main > .font-sans, .prj-cta__main--price.--main > .prj-cta__main--tag > .font-sans {
  color: #00a852;
}
.prj-cta__main--price.--main .prj-cta__main--tag {
  margin-right: 0;
}
html.is-sp .prj-cta__main--price.--main .prj-cta__main--tag {
  margin-right: 2.5rem;
}
.prj-cta__main--price.--main .--price {
  font-size: 1.125rem;
}
html.is-sp .prj-cta__main--price.--main .--price {
  font-size: 0.9375rem;
}
.prj-cta__main--price.--main .--unit {
  padding-left: 0.25rem;
  font-size: 0.875rem;
}
.prj-cta__main--price.--main .--not {
  position: relative;
}
.prj-cta__main--price.--main .--not::before {
  position: absolute;
  top: 40%;
  left: 0;
  transform: translateY(-50%);
  z-index: 0;
  background-color: #000000;
  width: 100%;
  height: 1px;
  pointer-events: none;
  content: "";
}
html.is-sp .prj-cta__main--price.--main .--not::before {
  top: 50%;
}
.prj-cta__main--price.--current {
  margin: 0.4375rem 0 1.375rem;
}
html.is-sp .prj-cta__main--price.--current {
  margin: 0.375rem 0 1.125rem;
}
.prj-cta__main--price.--current .--price {
  font-size: 2.5rem;
}
html.is-sp .prj-cta__main--price.--current .--price {
  font-size: 2.4375rem;
}
.prj-cta__main--price.--current .--unit {
  font-size: 1.125rem;
}
html.is-sp .prj-cta__main--price.--current .--unit {
  font-size: 1rem;
}
.prj-cta__main--tag {
  margin-bottom: 0.25rem;
  border: 1px solid #c7dfd6;
  border-radius: 3px;
  padding: 0.03125rem 0.4375rem;
  width: auto;
  height: auto;
}
html.is-sp .prj-cta__main--tag {
  padding: 0 0.3125rem;
}
.prj-cta__main--tag p {
  font-size: 0.875rem !important;
  line-height: 1.6 !important;
  letter-spacing: 0.02em !important;
}
html.is-sp .prj-cta__main--tag p {
  font-size: 0.9375rem !important;
}
.prj-cta__main--chat {
  position: relative;
  transform: translateY(-0.1875rem);
  border-radius: 0.1875rem;
  background-color: #00a852;
  padding: 0.21875rem 0.5rem;
  width: auto;
  height: auto;
  color: #ffffff;
}
html.is-sp .prj-cta__main--chat {
  transform: none;
}
.prj-cta__main--chat p {
  display: block;
  font-size: 1rem !important;
  line-height: 1.2;
}
.prj-cta__main--chat::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(calc(-100% + 1px), -50%);
  clip-path: polygon(100% 0%, 0% 50%, 100% 100%);
  background-color: #00a852;
  width: 6px;
  height: 6px;
  content: "";
}
.prj-cta__main--btn {
  flex: 0 0 auto;
  width: 27.75rem;
  height: 5rem;
}
html.is-sp .prj-cta__main--btn {
  width: 100%;
  height: 4.375rem;
}
.prj-cta__main--description {
  opacity: 0.6;
  width: 100%;
  height: auto;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
html.is-sp .prj-cta__main--description {
  font-size: 0.9375rem;
  text-align: justify;
}
.prj-cta__main--note {
  display: inline-block;
  cursor: pointer;
  margin-top: 0.9375rem;
  color: rgba(17, 19, 18, 0.6);
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  text-decoration: underline;
}
html.is-sp .prj-cta__main--note {
  font-size: 0.9375rem;
}
.prj-cta__main--image {
  position: relative;
  flex: 0 0 auto;
  aspect-ratio: 458/319;
  width: 28.625rem;
  height: auto;
  overflow: hidden;
}
html.is-sp .prj-cta__main--image {
  aspect-ratio: 354/280;
  width: 100%;
}
.prj-cta__main--image--info {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  width: auto;
  height: auto;
  text-align: right;
}
html.is-sp .prj-cta__main--image--info {
  top: 12.375rem;
  right: 0.75rem;
}
.prj-cta__main--image--info--logo {
  margin-bottom: 0.1875rem;
  margin-left: auto;
  width: 5.8125rem;
  height: auto;
  color: #ffffff;
}
.prj-cta__main--image--info--title {
  color: #ffffff;
  font-size: 0.9375rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
.prj-cta__main--image--info--title .font-en {
  padding: 0 0.0625rem;
  font-size: 1.1875rem;
  line-height: 1.2;
  letter-spacing: 0;
}
.prj-cta__main--image--info--text {
  color: #ffffff;
  font-size: 0.75rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
.prj-cta__main--image--info--text .font-en {
  font-size: 0.9375rem;
  line-height: 1.2;
  letter-spacing: 0;
}
.prj-cta__main--image--info--text .font-en.--1 {
  padding-right: 0.0625rem;
}
.prj-cta__main--image--info--text .font-en.--2 {
  padding: 0 0.0625rem;
}
.prj-cta__main--image--info--text span:last-of-type {
  padding-right: 0.125rem;
  padding-left: 0.0625rem;
}
.prj-cta__main--image--info--note {
  color: #ffffff;
  font-size: 0.75rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
.prj-cta__main--button {
  position: relative;
  width: 100%;
  height: auto;
}
.prj-cta__sub {
  position: relative;
  margin-top: -1px;
  background-color: #ffffff;
  padding: 0.9375rem 1.5rem 1.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-cta__sub {
  padding: 0 1.25rem 1.25rem;
}
.prj-cta__sub--heading {
  position: relative;
  margin-bottom: 1.5rem;
  border: 1px solid #c7dfd6;
  border-radius: 0.25rem;
  padding: 0.9375rem 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-cta__sub--heading {
  margin-bottom: 1.25rem;
  padding: 0.75rem 0.875rem;
}
.prj-cta__sub--title {
  font-size: 1.125rem;
  line-height: 1.7;
  letter-spacing: 0.06em;
}
html.is-sp .prj-cta__sub--title {
  font-size: 1rem;
  line-height: 1.6;
}
.prj-cta__sub--list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 0.25rem 0;
  margin-top: 0.75rem;
  background-color: #ddeae5;
  padding: 1.125rem 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-cta__sub--list {
  gap: 0.125rem 0;
  margin-top: 0.625rem;
  padding: 1rem 0.9375rem;
}
.prj-cta__sub--item {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0 0.375rem;
  width: 100%;
  height: auto;
}
.prj-cta__sub--item .font-en {
  margin-top: 0.25rem;
  font-size: 1.125rem;
  line-height: 1.2;
  font-variant-numeric: lining-nums tabular-nums;
  text-wrap: nowrap;
}
html.is-sp .prj-cta__sub--item .font-en {
  margin-top: 0.1875rem;
  font-size: 0.9375rem;
}
.prj-cta__sub--item .font-sans {
  font-size: 1.125rem;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
.prj-cta__sub--item .font-sans span.--green {
  color: #00a852;
}
.prj-cta__sub--item .font-sans span.--note {
  vertical-align: text-top;
  padding: 0 0.125rem;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
html.is-sp .prj-cta__sub--item .font-sans {
  font-size: 0.9375rem;
  line-height: 1.9;
  letter-spacing: 0.02em;
}
html.is-sp .prj-cta__sub--item .font-sans span.--note {
  vertical-align: text-bottom;
  font-size: 0.75rem;
  line-height: 1.9;
}
.prj-cta__sub--note {
  position: relative;
  margin-top: 0.9375rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-cta__sub--note {
  margin-top: 0.8125rem;
}
.prj-cta__sub--note .font-sans {
  opacity: 0.6;
  font-size: 0.75rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
html.is-sp .prj-cta__sub--note .font-sans {
  font-size: 0.8125rem;
}
.prj-cta__sub--button {
  position: absolute;
  right: 1.25rem;
  bottom: 0.9375rem;
  z-index: 10;
  width: auto;
  height: auto;
}
html.is-sp .prj-cta__sub--button {
  position: relative;
  top: 0;
  right: 0;
  margin-top: 0.75rem;
}
.prj-cta__sub--description {
  opacity: 0.6;
  width: 100%;
  height: auto;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
html.is-sp .prj-cta__sub--description {
  font-size: 0.9375rem;
  text-align: justify;
}
.prj-cta__sub--footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 1.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-cta__sub--footer {
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
  margin-top: 1.25rem;
}
.prj-cta__sub--buttons {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 0.375rem 0;
  width: 100%;
  height: auto;
}
.prj-cta__button {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.625rem;
  padding: 0;
  width: 100%;
  height: auto;
}
.prj-cta__button--icon {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center;
  z-index: 10;
  background-color: #00a852;
  width: 1rem;
  height: 1rem;
  color: #ffffff;
}
.prj-cta__button--icon .c-icon__plus {
  width: 0.5625rem;
  height: 0.5625rem;
}
.prj-cta__button .font-sans {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
html.is-sp .prj-cta__button .font-sans {
  font-size: 0.9375rem;
  line-height: 1.9;
  letter-spacing: 0.04em;
}
.prj-header__main {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 0 2.5625rem;
  z-index: 90;
  -webkit-backdrop-filter: blur(35px);
          backdrop-filter: blur(35px);
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.15);
  padding-right: 0.25rem;
  padding-bottom: 0.625rem;
  padding-left: 1.8125rem;
  width: auto;
  height: 5.625rem;
}
html.is-sp .prj-header__main {
  top: 1.4375rem;
  left: 0.75rem;
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
  border: none;
  background: transparent;
  padding: 0;
  height: auto;
}
.prj-header__logo {
  position: relative;
  z-index: -20;
  width: 11.375rem;
  height: auto;
}
html.is-sp .prj-header__logo {
  width: 5.875rem;
}
.prj-header__logo--link {
  display: block;
  width: 100%;
  height: auto;
  color: #ffffff;
}
.prj-header__nav {
  width: auto;
  height: auto;
}
.prj-header__nav--list {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: auto;
  height: auto;
}
.prj-header__nav--item {
  width: auto;
  height: auto;
}
.prj-header__nav--link {
  display: block;
  padding: 0 0.625rem;
  width: auto;
  height: auto;
  color: #ffffff;
}
.prj-header__nav--label {
  font-size: 1rem;
  line-height: 1.2;
}
.prj-header__cta {
  display: flex;
  position: fixed;
  top: 0;
  left: 25.3125rem;
  justify-content: space-between;
  align-items: flex-end;
  z-index: 100;
  -webkit-backdrop-filter: blur(35px);
          backdrop-filter: blur(35px);
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  border-left: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.15);
  width: 13.125rem;
  height: 5.625rem;
}
html.is-sp .prj-header__cta {
  top: 0.75rem;
  right: 0.75rem;
  left: auto;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.1);
  width: 9.6875rem;
  height: 2.75rem;
}
.prj-header__cta--link {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 0.875rem 0.875rem 0.5rem;
  width: 100%;
  height: 100%;
}
html.is-sp .prj-header__cta--link {
  align-items: center;
  padding: 0 0.625rem;
}
.prj-header__cta--text {
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
html.is-sp .prj-header__cta--text {
  position: relative;
  top: 0.0625rem;
}
.prj-header__cta--arrow {
  transform: rotateZ(90deg);
  margin-bottom: 0.3125rem;
  width: 0.75rem;
  height: auto;
  color: #ffffff;
}
html.is-sp .prj-header__cta--arrow {
  margin-top: 0.1875rem;
  margin-bottom: 0;
}
.prj-header__drawer {
  position: fixed;
  top: 0.75rem;
  left: 10.8125rem;
  z-index: 100;
  -webkit-backdrop-filter: blur(35px);
          backdrop-filter: blur(35px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.15);
  width: 2.8125rem;
  height: 2.75rem;
}
.prj-header__drawer--btn {
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0;
  width: 100%;
  height: 100%;
}
.prj-header__drawer--line {
  display: block;
  background-color: #ffffff;
  width: 16px;
  height: 2px;
}
.prj-header__drawer--line:first-of-type, .prj-header__drawer--line:last-of-type {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.prj-header__drawer--line:first-of-type {
  top: calc(50% - 4px);
}
.prj-header__drawer--line:last-of-type {
  top: calc(50% + 4px);
}
.prj-menu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 90;
  width: 100%;
  height: 100lvh;
}
.prj-menu__mask {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-backdrop-filter: blur(30px);
          backdrop-filter: blur(30px);
  background: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
}
.prj-menu__bg {
  position: absolute;
  z-index: -10;
  inset: 0;
}
.prj-menu__logo {
  position: absolute;
  top: 1.4375rem;
  left: 0.75rem;
  z-index: 20;
  z-index: 30;
  width: 5.875rem;
  height: auto;
}
.prj-menu__logo--link {
  display: block;
  width: 100%;
  height: auto;
  color: #ffffff;
}
.prj-menu__nav {
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: flex-end;
  z-index: 20;
  padding: 29.5352323838svh 0.75rem 5.9970014993svh;
  width: 100%;
  height: auto;
  min-height: 90.8571428571svh;
}
.prj-menu__nav--list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1rem 0;
  width: 100%;
  height: auto;
}
.prj-menu__nav--item {
  width: 100%;
  height: auto;
}
.prj-menu__nav--link {
  display: block;
  width: 100%;
  height: auto;
}
.prj-menu__nav--label {
  color: #ffffff;
  font-size: 3.25rem;
  line-height: 1;
}
.prj-scene {
  width: 100%;
  height: auto;
}
.prj-scene__container {
  width: 100%;
  height: auto;
}
.prj-scene__heading {
  position: relative;
  padding-bottom: 3.75rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-scene__heading {
  padding-bottom: 2.5rem;
}
.prj-scene__heading .c-line-x {
  opacity: 1;
  background-color: #c7dfd6;
}
.prj-scene__heading--text {
  display: inline-flex;
  justify-content: flex-start;
  align-items: baseline;
  gap: 0.3125rem 11.8125rem;
  width: 100%;
  height: auto;
  font-size: 6.25rem;
  line-height: 1;
}
html.is-sp .prj-scene__heading--text {
  flex-direction: column;
  font-size: 3.75rem;
}
html.is-sp .prj-scene__heading--text span:last-of-type {
  align-self: flex-end;
}
.prj-scene__description {
  margin-top: 6.25rem;
  margin-bottom: 5rem;
  margin-left: auto;
  width: 57rem;
  height: auto;
}
html.is-sp .prj-scene__description {
  margin-top: 2.5rem;
  width: 100%;
}
.prj-scene__description--text {
  font-size: 1.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
html.is-sp .prj-scene__description--text {
  font-size: 1.375rem;
  line-height: 1.6;
}
.prj-scene__main {
  width: 100%;
  height: calc(100dvh * var(--total));
}
html.is-sp .prj-scene__main {
  margin: 0 auto;
  max-width: 800px;
  height: calc(100lvh * var(--total));
}
.prj-scene__main--sticky {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100svh;
  overflow: hidden;
}
.prj-scene__main--inner {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  height: 100%;
}
html.is-sp .prj-scene__main--inner {
  flex-direction: column-reverse;
}
.prj-scene__main--heading {
  position: relative;
  align-self: flex-end;
  padding: 1.875rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-scene__main--heading {
  align-self: normal;
  padding: 1.5rem;
}
.prj-scene__main--heading p {
  position: relative;
}
.prj-scene__main--heading p.font-en {
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0 0.625rem;
  font-size: 5rem;
  line-height: 1;
}
html.is-sp .prj-scene__main--heading p.font-en {
  flex-direction: row;
  font-size: 3rem;
}
.prj-scene__main--heading p.font-sans {
  margin-top: 15rem;
  font-size: 1.25rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
html.is-sp .prj-scene__main--heading p.font-sans {
  margin-top: 1.25rem;
  font-size: 1rem;
  line-height: 1.9;
  letter-spacing: 0.04em;
}
.prj-scene__main--heading p.font-sans > span:last-of-type {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.prj-scene__main--image {
  position: relative;
  flex: 0 0 auto;
  width: 58.875rem;
  overflow: hidden;
}
html.is-sp .prj-scene__main--image {
  width: 100%;
  height: 62.7142857143svh;
}
.prj-scene__main--image--item {
  position: absolute;
  z-index: 0;
  inset: 0;
}
.prj-scene__main--image--mask {
  position: absolute;
  opacity: 0.2;
  z-index: 10;
  inset: 0;
  background-color: #000000;
}
.prj-scene__main--image--heading {
  display: flex;
  position: absolute;
  top: 50%;
  left: 0;
  justify-content: space-between;
  align-items: flex-start;
  gap: 15svh 0;
  transform: translateY(-50%);
  z-index: 20;
  padding: 0 1.875rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-scene__main--image--heading {
  top: auto;
  bottom: 9.1116173121%;
  flex-direction: column;
  align-items: center;
  transform: translateY(0);
  padding: 0 1.625rem;
}
.prj-scene__main--image--heading p {
  color: #ffffff;
  font-size: 2.5rem;
  line-height: 1;
}
html.is-sp .prj-scene__main--image--heading p {
  font-size: 1.875rem;
}
.prj-scene__main--image--labels {
  position: relative;
  flex: 0 0 auto;
  width: 12.375rem;
  height: 2.5rem;
}
html.is-sp .prj-scene__main--image--labels {
  transform: translateX(7.6875rem);
  width: 100%;
  height: 1.875rem;
}
.prj-scene__main--image--labels--inner {
  --height: calc(2.5rem + 1rem);
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 1rem 26px;
  width: 100%;
  height: auto;
}
html.is-sp .prj-scene__main--image--labels--inner {
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
}
.prj-voice {
  display: flex;
  position: relative;
  z-index: 10;
  background-color: #00a852;
  padding: 10rem 0 12.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-voice {
  padding: 3.75rem 0 6.25rem;
  height: auto;
}
.prj-voice__section {
  display: flex;
  margin-bottom: -100svh;
  width: 100%;
  height: calc(var(--container-height) + 100svh);
}
html.is-sp .prj-voice__section {
  margin-bottom: 0;
  height: auto;
}
.prj-voice__main {
  position: relative;
  width: 100%;
  height: 100%;
}
.prj-voice__heading {
  width: 100%;
  height: auto;
}
.prj-voice__title {
  color: #ffffff;
  font-size: 6.25rem;
  line-height: 1;
}
html.is-sp .prj-voice__title {
  font-size: 3.75rem;
}
.prj-voice__text {
  margin-top: 2.25rem;
  color: #ffffff;
  font-size: 1.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
html.is-sp .prj-voice__text {
  font-size: 1.375rem;
  line-height: 1.6;
}
.prj-voice__note {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.25rem;
  margin-top: 1.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-voice__note {
  gap: 0.9375rem;
  margin-top: 1.875rem;
  padding-right: 1.875rem;
}
.prj-voice__note--icon, .prj-voice__note--text {
  color: #ffffff;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
html.is-sp .prj-voice__note--icon, html.is-sp .prj-voice__note--text {
  font-size: 0.9375rem;
}
.prj-voice__note--icon {
  flex: 0 0 auto;
}
.prj-voice__note--text {
  width: 100%;
}
.prj-voice__content {
  margin-top: 7.5rem;
  width: 100%;
  height: auto;
  color: #ffffff;
}
html.is-sp .prj-voice__content {
  margin-top: 5.5rem;
  padding: 0 1.875rem;
}
.prj-voice__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6.25rem 1.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-voice__list {
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 4rem 1.5rem;
}
.prj-voice__item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
  width: 100%;
  height: auto;
}
.prj-voice__item--heading {
  width: 100%;
  height: auto;
}
.prj-voice__item--occupation {
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
html.is-sp .prj-voice__item--occupation {
  font-size: 1.0625rem;
}
.prj-voice__item--name {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0 0.25rem;
  margin-top: 0.125rem;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
.prj-voice__item--comments {
  display: none;
}
.prj-voice__item--content {
  margin-top: 1.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-voice__item--content {
  margin-top: 1rem;
}
.prj-voice__item--image {
  aspect-ratio: 327/218;
  width: 100%;
  height: auto;
  overflow: hidden;
}
html.is-sp .prj-voice__item--image {
  aspect-ratio: 282/189;
}
.prj-voice__item--footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 2.5rem;
  margin-top: 1rem;
  width: 100%;
  height: auto;
}
html.is-sp .prj-voice__item--footer {
  gap: 0;
  margin-top: 0.75rem;
}
.prj-voice__item--title {
  width: 100%;
  font-size: 1.125rem;
  line-height: 1.7;
  letter-spacing: 0.06em;
}
html.is-sp .prj-voice__item--title {
  font-size: 0.9375rem;
  line-height: 1.6;
}
.prj-voice__item--button {
  flex: 0 0 auto;
  margin-bottom: 0.3125rem;
  width: 1.375rem !important;
  height: 1.375rem !important;
  color: #ffffff !important;
}
.pg-about__container {
  position: relative;
  width: 100%;
  height: auto;
}
.pg-about__fv {
  display: flex;
  position: relative;
  justify-content: space-between;
  align-items: flex-end;
  background-color: #00a852;
  padding: 1.875rem;
  width: 100%;
  height: 100dvh;
}
html.is-sp .pg-about__fv {
  flex-direction: column;
  padding: 6.375rem 1.5rem 3.75rem;
  height: auto;
}
.pg-about__fv--heading {
  position: absolute;
  top: 0.625rem;
  right: 1.875rem;
  width: auto;
  height: auto;
}
html.is-sp .pg-about__fv--heading {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
}
.pg-about__fv--heading h1 {
  color: #ffffff;
  font-size: 7.5rem;
  line-height: 1;
}
html.is-sp .pg-about__fv--heading h1 {
  font-size: 3rem;
}
.pg-about__fv--content {
  flex: 0 0 auto;
  width: 35.0625rem;
  height: auto;
  color: #ffffff;
}
html.is-sp .pg-about__fv--content {
  margin-top: 6rem;
  width: 19.25rem;
}
.pg-about__fv--title {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 0.1875rem 0;
  width: 100%;
  height: auto;
  text-wrap: nowrap;
}
html.is-sp .pg-about__fv--title {
  gap: 0.375rem 0;
}
html.is-sp .pg-about__fv--title span.font-en .line {
  display: inline-block !important;
  width: auto !important;
}
.pg-about__fv--title span {
  display: block;
}
.pg-about__fv--title span.font-sans {
  font-size: 1.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
html.is-sp .pg-about__fv--title span.font-sans {
  font-size: 1.375rem;
  line-height: 1.6;
}
.pg-about__fv--title span.font-en {
  font-size: 2.375rem;
  line-height: 1;
}
html.is-sp .pg-about__fv--title span.font-en {
  font-size: 1.625rem;
}
.pg-about__fv--description {
  margin-top: 2.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-about__fv--description {
  margin-top: 2.375rem;
}
.pg-about__fv--description--text {
  font-size: 1.125rem;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
html.is-sp .pg-about__fv--description--text {
  font-size: 0.9375rem;
  line-height: 1.9;
}
.pg-about__fv--absolute {
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
}
.pg-about__fv--sticky {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
}
.pg-about__fv--image {
  position: absolute;
  right: 1.875rem;
  bottom: 1.875rem;
  width: 20.4375rem;
  height: 25.4375rem;
  overflow: hidden;
}
.pg-about__image {
  margin-top: -1px;
  background-color: #00a852;
  padding-top: 12.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-about__image {
  padding-top: 0;
}
.pg-about__image--inner {
  width: 100%;
  height: 100dvh;
  overflow: hidden;
}
html.is-sp .pg-about__image--inner {
  aspect-ratio: 390/600;
  height: auto;
}
.pg-about__feature {
  position: relative;
  z-index: 10;
  background-color: #ffffff;
  padding-top: 1.625rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-about__feature {
  padding-top: 2.5rem;
}
.pg-about__feature--heading {
  width: 100%;
  height: auto;
}
.pg-about__feature--heading--text {
  width: 100%;
  height: auto;
  font-size: 6.25rem;
  line-height: 1;
}
html.is-sp .pg-about__feature--heading--text {
  font-size: 3.75rem;
}
.pg-about__feature--main {
  margin-top: 2.3125rem;
  width: 100%;
  height: calc(100dvh * var(--total));
}
html.is-sp .pg-about__feature--main {
  margin-top: 2.5rem;
  height: auto;
}
.pg-about__feature--sticky {
  position: sticky;
  top: 5.625rem;
  left: 0;
  z-index: 0;
  width: 100%;
  height: calc(100dvh - 5.625rem);
}
html.is-sp .pg-about__feature--sticky {
  position: static;
  height: auto;
}
.pg-about__feature--inner {
  position: relative;
  padding: 1.875rem 0;
  width: 100%;
  height: 100%;
  min-height: 39.375rem;
  max-height: 44.375rem;
  overflow: hidden;
}
html.is-sp .pg-about__feature--inner {
  padding: 0 1.5rem;
  height: auto;
  min-height: 0;
  max-height: none;
}
.pg-about__feature--item {
  display: flex;
  position: absolute;
  left: 0;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2.5rem 12.1875rem;
  z-index: 0;
  background-color: #ffffff;
  padding: 2.5rem 1.875rem;
  width: 100%;
  height: auto;
  overflow: hidden;
}
html.is-sp .pg-about__feature--item {
  position: relative;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 2.5rem 0;
  width: 100%;
  height: auto;
}
.pg-about__feature--item .c-line-x {
  opacity: 1;
  background-color: #c7dfd6;
}
.pg-about__feature--num {
  flex: 0 0 auto;
  margin-top: 0.75rem;
  width: auto;
  height: auto;
}
html.is-sp .pg-about__feature--num {
  margin-top: 0;
}
.pg-about__feature--num .font-en {
  font-size: 1.625rem;
  line-height: 1;
}
html.is-sp .pg-about__feature--num .font-en {
  font-size: 1.25rem;
}
.pg-about__feature--content {
  position: relative;
  width: 100%;
  height: 24.75rem;
}
html.is-sp .pg-about__feature--content {
  height: auto;
}
.pg-about__feature--label {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}
html.is-sp .pg-about__feature--label {
  position: relative;
}
.pg-about__feature--title {
  position: relative;
  color: #00a852;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
html.is-sp .pg-about__feature--title {
  font-size: 1.375rem;
  line-height: 1.6;
  white-space: pre-wrap;
}
.pg-about__feature--description {
  position: absolute;
  top: 3.3125rem;
  left: 0;
  width: 100%;
  height: auto;
}
.--item-1 .pg-about__feature--description {
  top: 0.9375rem;
}
.--item-4 .pg-about__feature--description {
  top: 5rem;
}
html.is-sp .pg-about__feature--description {
  position: relative;
  top: 0;
  left: 0;
  margin-top: 1.75rem;
}
.--item-1 html.is-sp .pg-about__feature--description {
  top: 0;
}
.--item-4 html.is-sp .pg-about__feature--description {
  top: 0;
}
.pg-about__feature--description--inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.875rem 0;
  width: 100%;
  height: auto;
}
html.is-sp .pg-about__feature--description--inner {
  flex-direction: column;
}
.pg-about__feature--description--text {
  padding-bottom: 2.5rem;
  width: 27.75rem;
  font-size: 1rem;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
html.is-sp .pg-about__feature--description--text {
  padding-bottom: 0;
  width: 100%;
  font-size: 0.9375rem;
  line-height: 1.9;
}
.pg-about__feature--image {
  width: 20.4375rem;
  height: auto;
}
html.is-sp .pg-about__feature--image {
  width: 100%;
}
.pg-about__safety {
  padding: 12.5rem 0 18.75rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-about__safety {
  padding: 8.75rem 0 7.5rem;
}
.pg-about__safety--inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 3rem 8.75rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-about__safety--inner {
  flex-direction: column;
}
.pg-about__safety--image {
  flex: 0 0 auto;
  aspect-ratio: 678/847;
  width: 42.375rem;
  height: auto;
  overflow: hidden;
}
html.is-sp .pg-about__safety--image {
  width: 16.375rem;
}
.pg-about__safety--content {
  flex: 0 0 auto;
  width: 27.75rem;
  height: auto;
}
html.is-sp .pg-about__safety--content {
  width: 100%;
}
.pg-about__safety--heading {
  display: inline-flex;
  flex-direction: column;
  width: 100%;
  height: auto;
  font-size: 6.25rem;
  line-height: 1;
}
html.is-sp .pg-about__safety--heading {
  gap: 0.3125rem;
  font-size: 3.75rem;
}
.pg-about__safety--heading span:last-of-type {
  align-self: flex-end;
}
.pg-about__safety--description {
  display: flex;
  flex-direction: column;
  gap: 2rem 0;
  margin-top: 4.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-about__safety--description {
  gap: 1.75rem 0;
  margin-top: 0;
}
.pg-about__safety--title {
  font-size: 1.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
html.is-sp .pg-about__safety--title {
  font-size: 1.375rem;
  line-height: 1.6;
}
.pg-about__safety--title span {
  font-size: 2.375rem;
  line-height: 1;
}
html.is-sp .pg-about__safety--title span {
  font-size: 1.5rem;
}
.pg-about__safety--text {
  font-size: 1rem;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
html.is-sp .pg-about__safety--text {
  font-size: 0.9375rem;
  line-height: 1.9;
}
.pg-about__safety--btn {
  width: 16.75rem;
  height: 4.375rem;
}
html.is-sp .pg-about__safety--btn {
  width: 11.3125rem;
  height: 3.4375rem;
}
.pg-product__fv {
  position: absolute;
  z-index: 20;
  width: 100%;
  height: 200dvh;
}
html.is-sp .pg-product__fv {
  display: flex;
  height: auto;
}
.pg-product__fv--container {
  display: flex;
  position: sticky;
  top: 0;
  left: 0;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 1.875rem 2.3125rem;
  width: 100%;
  height: 100dvh;
}
html.is-sp .pg-product__fv--container {
  padding: 6.5625rem 0.75rem 14.0625rem;
  height: auto;
}
.pg-product__fv--heading {
  position: absolute;
  top: 1.4375rem;
  right: 1.875rem;
  z-index: 10;
  width: 32.6875rem;
  height: auto;
  color: #ffffff;
}
html.is-sp .pg-product__fv--heading {
  position: static;
  top: 0;
  right: 0;
  width: 100%;
}
.pg-product__fv--content {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  width: 35.0625rem;
  height: auto;
}
html.is-sp .pg-product__fv--content {
  gap: 1.875rem;
  margin-top: 17.5rem;
  padding: 0 0.75rem;
  width: 100%;
}
.pg-product__fv--title {
  color: #ffffff;
  font-size: 1.875rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
html.is-sp .pg-product__fv--title {
  font-size: 1.375rem;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
.pg-product__fv--text {
  color: #ffffff;
  font-size: 1.125rem;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
html.is-sp .pg-product__fv--text {
  font-size: 0.9375rem;
  line-height: 1.9;
}
.pg-product__fv--button {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.625rem;
  padding: 0;
  width: 100%;
  height: auto;
}
.pg-product__fv--button--icon {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center;
  z-index: 10;
  background-color: #ffffff;
  width: 1rem;
  height: 1rem;
  color: #00a852;
}
.pg-product__fv--button--icon .c-icon__plus {
  width: 0.5625rem;
  height: 0.5625rem;
}
.pg-product__fv--button .font-sans {
  color: #ffffff;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
html.is-sp .pg-product__fv--button .font-sans {
  font-size: 0.9375rem;
  line-height: 1.9;
  letter-spacing: 0.04em;
}
.pg-product__fv--info {
  position: absolute;
  right: 1.875rem;
  bottom: 2.375rem;
  width: auto;
  height: auto;
  text-align: right;
}
html.is-sp .pg-product__fv--info {
  top: 12.375rem;
  right: 0.75rem;
}
.pg-product__fv--info--title {
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
.pg-product__fv--info--title .font-en {
  padding-right: 0.125rem;
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: 0;
}
.pg-product__fv--info--text {
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
.pg-product__fv--info--text .font-en {
  padding-right: 0.0625rem;
  font-size: 1.125rem;
  line-height: 1.2;
  letter-spacing: 0;
}
.pg-product__fv--info--text .font-en.--1 {
  padding-left: 0.125rem;
}
.pg-product__fv--info--text .font-en.--2 {
  padding-left: 0.0625rem;
}
.pg-product__fv--info--text span:last-of-type {
  padding-left: 0.125rem;
}
.pg-product__fv--info--note {
  color: #ffffff;
  font-size: 0.75rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
.pg-product__fv--bg {
  position: absolute;
  z-index: -10;
  inset: 0;
}
.pg-product__benefits {
  position: relative;
  z-index: 10;
  background-color: #ffffff;
  padding: 7.5rem 0 12.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-product__benefits {
  padding: 7.5rem 0;
}
.pg-product__benefits--heading {
  display: flex;
  position: relative;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 3.75rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-product__benefits--heading {
  flex-direction: column;
  align-items: flex-start;
  gap: 2rem;
  padding-bottom: 2.5rem;
}
.pg-product__benefits--heading .c-line-x {
  opacity: 1;
  background-color: #c7dfd6;
}
.pg-product__benefits--title {
  flex: 0 0 auto;
  width: auto;
  height: auto;
  font-size: 6.25rem;
  line-height: 1;
}
html.is-sp .pg-product__benefits--title {
  font-size: 3.75rem;
}
.pg-product__benefits--title > span {
  display: inline-block;
}
.pg-product__benefits--title > span:last-of-type {
  padding-left: 18.75rem;
}
html.is-sp .pg-product__benefits--title > span:last-of-type {
  padding-left: 0;
}
.pg-product__benefits--btn {
  width: 16.75rem;
  height: 4.375rem;
}
html.is-sp .pg-product__benefits--btn {
  margin-left: auto;
  width: 12.0625rem;
  height: 3.4375rem;
}
.pg-product__benefits--inner {
  display: flex;
  position: relative;
  justify-content: flex-end;
  align-items: flex-start;
  width: 100%;
  height: auto;
}
.pg-product__benefits--absolute {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -10;
  width: 100%;
  height: 100%;
}
.pg-product__benefits--sticky {
  display: flex;
  position: sticky;
  top: calc(100dvh - 36.5625rem);
  left: 0;
  justify-content: space-between;
  align-items: flex-end;
  z-index: 0;
  margin-top: 6.25rem;
  padding-bottom: 1.875rem;
  width: 100%;
  height: auto;
}
.pg-product__benefits--sticky p {
  font-size: 3.75rem;
  line-height: 1;
}
html.is-sp .pg-product__benefits--sticky {
  display: none;
}
.pg-product__benefits--number {
  height: 3.75rem;
  overflow: hidden;
}
.pg-product__benefits--number > span {
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
}
.pg-product__benefits--number > span span {
  display: block;
  height: 3.75rem;
}
.pg-product__benefits--list {
  flex: 0 0 auto;
  width: 57rem;
  height: auto;
}
html.is-sp .pg-product__benefits--list {
  width: 100%;
}
.pg-product__benefits--item {
  display: flex;
  position: relative;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.875rem 7.5rem;
  padding: 6.25rem 0;
  width: 100%;
}
html.is-sp .pg-product__benefits--item {
  flex-direction: column;
  padding: 2.5rem 0;
  height: auto;
}
.pg-product__benefits--item > p {
  font-size: 2rem;
  line-height: 1;
}
.pg-product__benefits--item--content {
  margin-top: 12.5rem;
  width: 20.4375rem;
  height: auto;
}
html.is-sp .pg-product__benefits--item--content {
  margin-top: 0;
  width: 100%;
}
.pg-product__benefits--item--title {
  color: #00a852;
  font-size: 1.625rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-wrap: nowrap;
}
html.is-sp .pg-product__benefits--item--title {
  font-size: 1.25rem;
  line-height: 1.6;
}
.pg-product__benefits--item--text {
  margin-top: 2.5rem;
  font-size: 1rem;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
html.is-sp .pg-product__benefits--item--text {
  margin-top: 1.75rem;
  font-size: 0.9375rem;
  line-height: 1.9;
}
.pg-product__benefits--item--images {
  position: relative;
  aspect-ratio: 444/555;
  width: 27.75rem;
  height: auto;
  overflow: hidden;
}
.pg-product__benefits--item--image {
  position: absolute;
  top: 0;
  left: 0;
  z-index: var(--z);
  width: 100%;
  height: 100%;
}
html.is-sp .pg-product__benefits--item--image {
  position: static;
  aspect-ratio: 444/555;
  width: 100%;
  height: auto;
  overflow: hidden;
}
.pg-product__benefits--item .c-line-x {
  opacity: 1;
  background-color: #c7dfd6;
}
.pg-product__voice {
  padding-top: 12.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-product__voice {
  padding-top: 7.5rem;
}
.pg-product__qa {
  position: relative;
  z-index: 10;
  background-color: #ffffff;
  padding: 12.5rem 0;
  width: 100%;
  height: auto;
}
html.is-sp .pg-product__qa {
  padding: 7.5rem 0;
}
.pg-product__qa--heading {
  position: relative;
  padding-bottom: 3.75rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-product__qa--heading {
  padding-bottom: 2.5rem;
}
.pg-product__qa--heading .c-line-x {
  opacity: 1;
  background-color: #c7dfd6;
}
.pg-product__qa--title {
  display: flex;
  flex: 0 0 auto;
  width: auto;
  height: auto;
  font-size: 6.25rem;
  line-height: 1;
}
html.is-sp .pg-product__qa--title {
  flex-direction: column;
  gap: 0.3125rem;
  font-size: 3.75rem;
}
.pg-product__qa--title > span {
  display: inline-block;
}
.pg-product__qa--title > span:last-of-type {
  padding-left: 19.4375rem;
}
html.is-sp .pg-product__qa--title > span:last-of-type {
  align-self: flex-end;
  padding-left: 0;
}
.pg-product__qa--main {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 0 14.625rem;
  margin-top: 6.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-product__qa--main {
  margin-top: 2.5rem;
}
.pg-product__qa--inner {
  flex: 0 0 auto;
  width: auto;
}
.pg-product__qa--sticky {
  position: sticky;
  top: calc(100dvh - 21.375rem);
  left: 0;
  width: 100%;
  height: auto;
}
.pg-product__qa--image {
  flex: 0 0 auto;
  aspect-ratio: 234/312;
  width: 14.625rem;
  height: auto;
  overflow: hidden;
}
.pg-product__qa--content {
  width: 100%;
  height: auto;
}
.pg-product__qa--list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.875rem 0;
  width: 100%;
  height: auto;
}
html.is-sp .pg-product__qa--list {
  gap: 1.25rem 0;
}
.pg-product__qa--item {
  display: flex;
  position: relative;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 1.875rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-product__qa--item {
  flex-direction: column;
  padding-bottom: 2rem;
}
.pg-product__qa--item .c-line-x {
  opacity: 1;
  background-color: #c7dfd6;
}
.pg-product__qa--item--inner {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.5625rem;
  width: 100%;
  height: auto;
}
.pg-product__qa--item--num {
  flex: 0 0 auto;
  margin-top: 0.3125rem;
  width: 3.1875rem;
  font-size: 0.875rem;
  line-height: 1.2;
}
.pg-product__qa--item--num span {
  position: relative;
  top: 0.03125rem;
}
html.is-sp .pg-product__qa--item--num {
  margin-top: 0.1875rem;
  font-size: 0.75rem;
}
.pg-product__qa--item--content {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 0 5.1875rem;
  width: auto;
  height: auto;
}
html.is-sp .pg-product__qa--item--content {
  justify-content: space-between;
  align-items: center;
  gap: 0;
  width: 100%;
}
.pg-product__qa--item--question {
  flex: 0 0 auto;
  width: 16.75rem;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
html.is-sp .pg-product__qa--item--question {
  width: 13.875rem;
  font-size: 0.9375rem;
  line-height: 1.6;
}
.pg-product__qa--item--answer {
  width: 20.4375rem;
  font-size: 1rem;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
html.is-sp .pg-product__qa--item--answer {
  margin-left: auto;
  padding-top: 1.6875rem;
  width: 17.625rem;
  font-size: 0.9375rem;
  line-height: 1.9;
}
.pg-product__qa--item--answer--content {
  width: 100%;
  height: auto;
}
.pg-product__qa--icon {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
  width: 0.875rem;
  height: 0.875rem;
  color: #00a852;
}
.pg-product__cta {
  position: relative;
  z-index: 10;
}
.pg-top__main {
  position: relative;
  z-index: 10;
  width: 100%;
  height: calc(150dvh * var(--total));
}
html.is-sp .pg-top__main {
  height: calc(150lvh * var(--total));
}
.pg-top__bg {
  position: absolute;
  z-index: -10;
  inset: 0;
}
.pg-top__bg--sticky {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100dvh;
  overflow: hidden;
}
html.is-sp .pg-top__bg--sticky {
  height: 100svh;
}
html.is-sp .pg-top__bg--sticky.--video {
  height: 100lvh;
}
.pg-top__bg--image {
  width: 100%;
  height: 100%;
}
.pg-top__fv {
  position: absolute;
  z-index: 0;
  inset: 0;
  padding: 1.25rem 0 1.4375rem;
  overflow: hidden;
  pointer-events: none;
}
html.is-sp .pg-top__fv {
  padding: 5.5625rem 0 1.5rem;
}
.pg-top__fv .c-container {
  width: 100%;
  height: 100%;
}
.pg-top__fv--inner {
  position: relative;
  width: 100%;
  height: 100%;
}
.pg-top__fv--title {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  width: auto;
  height: auto;
  color: #ffffff;
  font-size: 6.25rem;
  line-height: 1;
  text-align: right;
}
html.is-sp .pg-top__fv--title {
  font-size: 3.25rem;
}
.pg-top__fv--title .line:first-of-type .word:first-of-type {
  letter-spacing: -0.02em;
}
.pg-top__fv--title .line:first-of-type .word:first-of-type .char:first-of-type {
  letter-spacing: -0.1em;
}
.pg-top__fv--description {
  display: flex;
  position: absolute;
  bottom: 0;
  left: 0;
  justify-content: space-between;
  align-items: flex-end;
  z-index: 10;
  width: 100%;
  height: auto;
}
.pg-top__fv--text {
  color: #ffffff;
  font-size: 2.125rem;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
html.is-sp .pg-top__fv--text {
  font-size: 1.25rem;
}
.pg-top__fv--scroll {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0 0.625rem;
  padding-bottom: 0.375rem;
  width: auto;
  height: auto;
}
.pg-top__fv--scroll--icon {
  animation: scroll-attention 2000ms infinite cubic-bezier(0.165, 0.84, 0.44, 1) 2200ms;
  width: 0.75rem;
  height: auto;
  color: #ffffff;
}
.pg-top__fv--scroll--icon > svg {
  transform: rotateZ(90deg);
}
.pg-top__fv--scroll--text {
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 1.2;
}
.pg-top__fv--logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;
  height: auto;
  color: #ffffff;
}
.pg-top__fv--logo.--otsuka {
  width: 8rem;
}
.pg-top__fv--logo.--site {
  width: 14.375rem;
}
.pg-top__fv--circle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  aspect-ratio: 1/1;
  width: 33.75rem;
  height: auto;
  pointer-events: none;
}
html.is-sp .pg-top__fv--circle {
  width: 21.4375rem;
}
.pg-top__fv--circle--bg {
  position: absolute;
  inset: 0;
  overflow: visible !important;
}
.pg-top__fv--circle--bg > rect {
  stroke: rgba(255, 255, 255, 0.2);
}
.pg-top__fv--circle--inner {
  position: absolute;
  inset: 0;
  overflow: visible !important;
}
.pg-top__fv--circle--rect {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  fill: transparent;
  stroke: #ffffff;
}
.pg-top__tagline {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
}
.pg-top__tagline--container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 0 13.3125rem 0 9.1875rem;
  width: 100%;
  height: 100%;
}
html.is-sp .pg-top__tagline--container {
  align-items: flex-end;
  padding: 0 1.5rem 1.5rem;
}
.pg-top__tagline--container.--reverse {
  justify-content: flex-end;
}
html.is-sp .pg-top__tagline--container.--reverse {
  justify-content: flex-start;
}
.pg-top__tagline--description {
  width: auto;
  height: auto;
}
.pg-top__tagline--description p {
  color: #ffffff;
  font-size: 1.5rem;
  line-height: 1.7;
  letter-spacing: 0.06em;
}
html.is-sp .pg-top__tagline--description p {
  font-size: 1.1875rem;
}
.pg-top__tagline--description span:not([class], [data-char]) {
  font-size: 1.75rem;
  line-height: 1;
  font-family: "HelveticaNowDisplay-Md", sans-serif;
}
html.is-sp .pg-top__tagline--description span:not([class], [data-char]) {
  font-size: 1.375rem;
}
.pg-top__tagline--description:not([hidden]) ~ .pg-top__tagline--description:not([hidden]) {
  margin-top: 0.25rem;
}
.pg-top__feature {
  position: relative;
  z-index: 10;
  background-color: #ebf2ef;
  padding: 1.25rem 0 13.75rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__feature {
  margin-bottom: 0;
  padding: 5rem 0 0.75rem;
}
.pg-top__feature--inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 5rem 0;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__feature--inner {
  flex-direction: column-reverse;
}
.pg-top__feature--image {
  flex: 0 0 auto;
  aspect-ratio: 571/805;
  width: 35.6875rem;
  height: auto;
  overflow: hidden;
}
html.is-sp .pg-top__feature--image {
  aspect-ratio: 366/457;
  width: 22.875rem;
}
.pg-top__feature--content {
  width: 35.0625rem;
  height: auto;
}
html.is-sp .pg-top__feature--content {
  width: 100%;
}
.pg-top__feature--title {
  font-size: 6.25rem;
  line-height: 1;
}
html.is-sp .pg-top__feature--title {
  font-size: 3.75rem;
}
.pg-top__feature .c-line-x {
  opacity: 1;
  background-color: #c7dfd6;
}
.pg-top__feature--list {
  position: relative;
  margin-top: 2.25rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__feature--list {
  margin-top: 1.25rem;
}
.pg-top__feature--item {
  position: relative;
  padding: 1.5rem 0;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__feature--item {
  padding: 1.25rem 0;
}
.pg-top__feature--item .c-line-x {
  background-color: #a9b1ae !important;
  width: calc(100% + 1.875rem);
}
html.is-sp .pg-top__feature--item .c-line-x {
  width: calc(100% + 1.5rem);
}
.pg-top__feature--num {
  flex: 0 0 auto;
  margin-top: 0.3125rem;
  width: auto;
  height: auto;
  font-size: 1.125rem;
  line-height: 1.2;
}
html.is-sp .pg-top__feature--num {
  margin-top: 0.125rem;
  font-size: 0.9375rem;
}
.pg-top__feature--heading {
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__feature--heading {
  width: 17.625rem;
}
.pg-top__feature--heading--title {
  font-size: 1.25rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
html.is-sp .pg-top__feature--heading--title {
  font-size: 1rem;
  line-height: 1.6;
}
.pg-top__feature--btn {
  margin-top: 3rem;
  width: 16.75rem;
  height: 4.375rem;
}
html.is-sp .pg-top__feature--btn {
  margin-top: 2rem;
  width: 11.3125rem;
  height: 3.4375rem;
}
.pg-top__benefits {
  position: relative;
  z-index: 10;
  margin-bottom: 18.75rem;
  background-color: #ffffff;
  padding-top: 12.5rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__benefits {
  margin-bottom: 7.5rem;
  padding-top: 8.75rem;
}
.pg-top__benefits--title {
  flex: 0 0 auto;
  width: auto;
  height: auto;
  font-size: 6.25rem;
  line-height: 1;
}
html.is-sp .pg-top__benefits--title {
  font-size: 3.75rem;
}
.pg-top__benefits--title > span {
  display: inline-block;
}
.pg-top__benefits--title > span:last-of-type {
  padding-left: 3rem;
}
html.is-sp .pg-top__benefits--title > span:last-of-type {
  padding-left: 0;
}
.pg-top__benefits--content {
  margin-top: 5rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__benefits--content {
  margin-top: 3.75rem;
}
.pg-top__benefits--list {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 3.75rem 0.75rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__benefits--list {
  flex-direction: column;
}
.pg-top__benefits--line {
  display: block;
  flex: 0 0 auto;
  background-color: #c7dfd6;
  width: 0.0625rem;
}
html.is-sp .pg-top__benefits--line {
  width: 100%;
  height: 0.0625rem;
}
.pg-top__benefits--item {
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  padding-top: 0.625rem;
  width: 100%;
}
html.is-sp .pg-top__benefits--item {
  padding-top: 1.0625rem;
}
.pg-top__benefits--item::before {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  background-color: #c7dfd6;
  width: 100%;
  height: 0.0625rem;
  content: "";
}
html.is-sp .pg-top__benefits--item::before {
  display: block;
}
.pg-top__benefits--text {
  font-size: 1.25rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
html.is-sp .pg-top__benefits--text {
  font-size: 1rem;
  line-height: 1.6;
}
.pg-top__benefits--footer {
  margin-top: 8rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__benefits--footer {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 3.75rem;
}
.pg-top__benefits--num {
  font-size: 1.875rem;
  line-height: 1;
  text-align: right;
  text-wrap: nowrap;
}
.pg-top__benefits--image {
  margin-top: 1.875rem;
  aspect-ratio: 380/254;
  width: 100%;
  height: auto;
  overflow: hidden;
}
html.is-sp .pg-top__benefits--image {
  margin-top: 0;
  aspect-ratio: 282/188;
  width: 17.625rem;
}
.pg-top__benefits--btn {
  margin-top: 3.75rem;
  margin-left: auto;
  width: 16.75rem;
  height: 4.375rem;
}
html.is-sp .pg-top__benefits--btn {
  margin-top: 2rem;
  margin-left: 0;
  width: 11.3125rem;
  height: 3.4375rem;
}
.pg-top__zeroz {
  position: relative;
  z-index: 10;
  background-color: #ffffff;
  padding: 10rem 0;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__zeroz {
  padding: 7.5rem 0 10rem;
}
.pg-top__zeroz--title {
  flex: 0 0 auto;
  margin-bottom: 7rem;
  width: auto;
  height: auto;
  font-size: 6.25rem;
  line-height: 1;
  text-wrap: nowrap;
}
html.is-sp .pg-top__zeroz--title {
  margin-bottom: 0;
  font-size: 3.75rem;
}
.pg-top__zeroz--inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3rem 8.75rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__zeroz--inner {
  flex-direction: column-reverse;
  margin-top: 3rem;
}
.pg-top__zeroz--content {
  padding-right: 7.3125rem;
  width: 100%;
  height: auto;
}
html.is-sp .pg-top__zeroz--content {
  padding-right: 0;
}
.pg-top__zeroz--subtitle {
  font-size: 1.875rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
html.is-sp .pg-top__zeroz--subtitle {
  font-size: 1.375rem;
  line-height: 1.6;
}
.pg-top__zeroz--description {
  margin-top: 2.5rem;
  font-size: 1rem;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
html.is-sp .pg-top__zeroz--description {
  margin-top: 1.75rem;
  font-size: 0.9375rem;
  line-height: 1.9;
}
.pg-top__zeroz--image {
  flex: 0 0 auto;
  aspect-ratio: 678/847;
  width: 42.375rem;
  height: auto;
  overflow: hidden;
}
html.is-sp .pg-top__zeroz--image {
  width: 16.375rem;
}
.pg-top__cta {
  position: relative;
  z-index: 10;
}
form a {
  color: #006cb6 !important;
}
.splide {
  width: 100%;
  height: 100%;
}
.splide__track {
  width: 100%;
  height: 100%;
}
.splide__list {
  width: 100%;
  height: 100%;
}
.splide__slide {
  position: relative;
  opacity: 1 !important;
}
.splide__slide img {
  z-index: 10;
  -webkit-mask-image: var(--mask);
          mask-image: var(--mask);
  mask-mode: alpha;
  -webkit-mask-position: 200% 160%;
          mask-position: 200% 160%;
  -webkit-mask-size: 200% 200%;
          mask-size: 200% 200%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  transition: -webkit-mask-position 0ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: mask-position 0ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: mask-position 0ms cubic-bezier(0.5, 1, 0.89, 1), -webkit-mask-position 0ms cubic-bezier(0.5, 1, 0.89, 1);
  transition-delay: 1000ms;
}
.splide__slide img.--ripple {
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(1.15);
  transition: transform 0ms cubic-bezier(0.5, 1, 0.89, 1), -webkit-mask-position 0ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: mask-position 0ms cubic-bezier(0.5, 1, 0.89, 1), transform 0ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: mask-position 0ms cubic-bezier(0.5, 1, 0.89, 1), transform 0ms cubic-bezier(0.5, 1, 0.89, 1), -webkit-mask-position 0ms cubic-bezier(0.5, 1, 0.89, 1);
  transition-delay: 1000ms;
}
.splide__slide.is-active img, .splide__slide.is-current img, .splide__slide.is-prev img {
  -webkit-mask-position: 0% 0%;
          mask-position: 0% 0%;
  transition: -webkit-mask-position 1800ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: mask-position 1800ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: mask-position 1800ms cubic-bezier(0.5, 1, 0.89, 1), -webkit-mask-position 1800ms cubic-bezier(0.5, 1, 0.89, 1);
}
.splide__slide.is-active img.--ripple, .splide__slide.is-current img.--ripple, .splide__slide.is-prev img.--ripple {
  transform: scale(1);
  transition: transform 6000ms cubic-bezier(0.5, 1, 0.89, 1), -webkit-mask-position 1800ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: mask-position 1800ms cubic-bezier(0.5, 1, 0.89, 1), transform 6000ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: mask-position 1800ms cubic-bezier(0.5, 1, 0.89, 1), transform 6000ms cubic-bezier(0.5, 1, 0.89, 1), -webkit-mask-position 1800ms cubic-bezier(0.5, 1, 0.89, 1);
  transition-delay: 100ms;
}