@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

* {
  box-sizing: border-box;
}

html {
  font-size: 10px;
}

body {
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-style: normal;
  font-weight: 500;
  color: var(--wp--preset--color--primary);
  background-color: var(--wp--preset--color--bg-primary);
}
body.page-template-page-special {
  padding-bottom: 0;
}

html.is-fixed,
body.is-fixed {
  overflow: hidden !important;
}

strong, b {
  font-weight: 700 !important;
}

body.resize-active *:not(.swiper-wrapper):not(.swiper-slide) {
  transition: none !important;
  animation: none !important;
}

@media (min-width: 1951px) {
  .js-scroll-trigger {
    display: none;
    visibility: hidden;
    opacity: 0;
  }
}

@media (max-width: 768px) {
  .pc,
  .is-pc,
  .pc-only {
    display: none !important;
  }
}

@media (min-width: 769px) {
  .sp,
  .is-sp,
  .sp-only {
    display: none !important;
  }
}

.container {
  width: 100%;
  max-width: 108rem;
  margin: 0 auto;
  padding-left: 3.2rem;
  padding-right: 3.2rem;
}

.container-xsm {
  width: 100%;
  max-width: 91.6rem;
  margin: 0 auto;
  padding-left: 3.2rem;
  padding-right: 3.2rem;
}

.container-sm {
  width: 100%;
  max-width: 96rem;
  margin: 0 auto;
  padding-left: 3.2rem;
  padding-right: 3.2rem;
}

.container-lg {
  width: 100%;
  max-width: 120rem;
  margin: 0 auto;
  padding-left: 3.2rem;
  padding-right: 3.2rem;
}

.container-2lg {
  width: 100%;
  max-width: 128rem;
  margin: 0 auto;
  padding-left: 3.2rem;
  padding-right: 3.2rem;
}

.container-xl {
  width: 100%;
  max-width: 131.2rem;
  margin: 0 auto;
  padding-left: 3.2rem;
  padding-right: 3.2rem;
}

.container-full {
  width: 100%;
  max-width: 100%;
}

.mt-10 {
  margin-top: 1rem;
}

@media screen and (max-width: 782px) {
  #wpadminbar {
    position: fixed !important;
    top: 0 !important;
  }
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 9rem;
  background: var(--wp--preset--color--bg-primary);
  outline: none;
  transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.4s ease, visibility 0.4s ease;
  will-change: transform, opacity;
}
@media (max-width: 1150px) {
  .header {
    height: 6rem;
    overflow: visible !important;
  }
}
body.admin-bar .header {
  top: 32px;
}
@media screen and (max-width: 782px) {
  body.admin-bar .header {
    top: 46px;
  }
}
.header.header--hidden {
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-100%);
}
.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  padding: 0 3.2rem;
}
@media (max-width: 1150px) {
  .header__inner {
    padding: 0 1.6rem;
  }
}
.header__logo {
  max-width: 36rem;
  height: 5.8rem;
}
@media (max-width: 1439px) {
  .header__logo {
    max-width: 30rem;
  }
}
@media (max-width: 1150px) {
  .header__logo {
    max-width: 26rem;
    height: auto;
  }
}
.header__logo .wp-block-site-logo {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
}
.header__logo .wp-block-site-logo a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
}
.header__logo .wp-block-site-logo img {
  display: block;
  width: var(--logo-width-pc, 360px);
  max-width: 100%;
  height: auto;
}
@media (max-width: 768px) {
  .header__logo .wp-block-site-logo img {
    width: var(--logo-width-sp, 200px);
  }
}
.header__btn-entry {
  display: flex;
  gap: 0.8rem;
  margin: 0;
}
@media (max-width: 1150px) {
  .header__btn-entry {
    justify-content: space-between;
    width: 100%;
  }
}
.header__btn-entry .wp-block-button__link {
  position: relative;
  display: flex;
  gap: 0.2rem;
  align-items: center;
  justify-content: center;
  padding: 1.6rem 2.4rem;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 150%;
  color: var(--wp--preset--color--white);
  text-decoration: none;
  white-space: nowrap;
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--green) 100%);
  border: none;
  border-radius: 99.9rem;
  transition: opacity 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}
@media (max-width: 1150px) {
  .header__btn-entry .wp-block-button__link {
    flex: 1;
    padding: 1.2rem 1.6rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .header__btn-entry .wp-block-button__link:hover {
    box-shadow: 0 10px 8px var(--wp--preset--color--beige-light);
    transform: translateY(-0.3rem);
  }
}
.header__btn-entry .wp-block-button__link::after {
  position: absolute;
  inset: 0;
  padding: 0.1rem;
  content: "";
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 0.01%, var(--wp--preset--color--bg-primary) 100%);
  border-radius: inherit;
  mask: linear-gradient(var(--wp--preset--color--white) 0 0) content-box, linear-gradient(var(--wp--preset--color--white) 0 0);
  mask-composite: exclude;
}
.header__btn-entry .wp-block-button__link .btn-entry__icon {
  display: block;
  width: 1.6rem;
  height: 1.8rem;
  color: var(--wp--preset--color--white);
}
.header__btn-entry .wp-block-button__link--white {
  color: var(--wp--preset--color--secondary);
  background: linear-gradient(90deg, var(--wp--preset--color--white) 0%, var(--wp--preset--color--bg-primary) 100%);
}
.header__btn-entry .wp-block-button__link--white::after {
  background: linear-gradient(45deg, var(--wp--preset--color--secondary), var(--wp--preset--color--secondary));
}
.header__sp-btn .c-btn {
  transition: opacity 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .header__sp-btn .c-btn:hover {
    box-shadow: 0 0.8rem 2.4rem var(--wp--preset--color--beige-light) !important;
    opacity: 1;
    transform: translateY(-0.3rem);
  }
}
.header__hamburger {
  display: none;
}
@media (max-width: 1150px) {
  .header__hamburger {
    position: relative;
    z-index: 99999 !important;
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    margin-left: auto;
    pointer-events: auto !important;
    cursor: pointer;
    background: linear-gradient(90deg, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--green) 100%);
    border: none;
    border-radius: 999px;
  }
  .header__hamburger span {
    display: block;
    width: 16px;
    height: 2px;
    background: var(--wp--preset--color--white);
    border-radius: 2px;
    transition: all 0.3s ease;
  }
  .header__hamburger::after {
    position: absolute;
    inset: 0;
    padding: 0.1rem;
    content: "";
    background: linear-gradient(90deg, var(--wp--preset--color--secondary) 0.01%, var(--wp--preset--color--bg-primary) 100%);
    border-radius: inherit;
    mask: linear-gradient(var(--wp--preset--color--white) 0 0) content-box, linear-gradient(var(--wp--preset--color--white) 0 0);
    mask-composite: exclude;
  }
  .header__hamburger.is-active span:nth-child(1) {
    transform: translateY(6px) rotate(30deg);
  }
  .header__hamburger.is-active span:nth-child(2) {
    opacity: 0;
  }
  .header__hamburger.is-active span:nth-child(3) {
    transform: translateY(-6px) rotate(-30deg);
  }
}

@keyframes header-arrow-move {
  0% {
    transform: translateX(0) rotate(45deg);
  }
  50% {
    transform: translateX(0.8rem) rotate(45deg);
  }
  100% {
    transform: translateX(0) rotate(45deg);
  }
}
@media (max-width: 1150px) {
  .header .wp-block-buttons.pc-only, .main-nav .wp-block-buttons.pc-only {
    display: none !important;
  }
}
@media (max-width: 1150px) {
  .header .wp-block-navigation-item.pc-only, .main-nav .wp-block-navigation-item.pc-only {
    display: none !important;
  }
}
@media (max-width: 1150px) {
  .header .wp-block-buttons.sp-only, .main-nav .wp-block-buttons.sp-only {
    display: flex !important;
  }
}
@media (max-width: 1150px) {
  .header .wp-block-navigation-item.sp-only, .main-nav .wp-block-navigation-item.sp-only {
    display: flex !important;
  }
}
@media (max-width: 1150px) {
  .header .header__hamburger.sp-only, .main-nav .header__hamburger.sp-only {
    display: flex !important;
  }
}

.breadcrumbs {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  height: 5.3rem;
  background: var(--wp--preset--color--bg-primary);
  border-top: 1px solid var(--wp--preset--color--green);
  border-bottom: 1px solid var(--wp--preset--color--green);
}
@media (max-width: 768px) {
  .breadcrumbs {
    height: auto;
    padding: 1.6rem 2.4rem;
  }
}
.breadcrumbs__inner {
  width: 100%;
  max-width: 114rem;
  padding: 0 3rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .breadcrumbs__inner {
    max-width: none;
    padding: 0;
  }
}
.breadcrumbs p,
.breadcrumbs .wp-block-shortcode,
.breadcrumbs .wp-block-shortcode > p {
  margin: 0 !important;
}
.breadcrumbs .breadcrumbs_list {
  display: flex;
  flex-flow: row wrap;
  gap: 8px;
  align-items: baseline;
  padding: 0;
  margin: 0;
  list-style: none;
}
.breadcrumbs__item:not(:first-child)::before {
  display: inline-block;
  flex: none;
  width: 2.4rem;
  height: 1px;
  margin-right: 0.8rem;
  vertical-align: middle;
  content: "";
  background-color: color-mix(in srgb, var(--wp--preset--color--primary) 60%, var(--wp--preset--color--white));
  border: none;
}
@media (max-width: 768px) {
  .breadcrumbs__item:not(:first-child)::before {
    width: 1.2rem;
  }
}
.breadcrumbs__link {
  flex: none;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
  color: color-mix(in srgb, var(--wp--preset--color--primary) 60%, var(--wp--preset--color--white));
  text-align: center;
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  .breadcrumbs__link:hover {
    opacity: 0.7;
  }
}
@media (max-width: 768px) {
  .breadcrumbs__link {
    font-size: 1.2rem;
  }
}
.breadcrumbs__current {
  flex: none;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
  color: var(--wp--preset--color--primary);
  text-align: center;
}
@media (max-width: 768px) {
  .breadcrumbs__current {
    font-size: 1.2rem;
  }
}
.breadcrumbs__current::before {
  display: inline-block;
  flex: none;
  width: 2.4rem;
  height: 1px;
  margin-right: 0.8rem;
  vertical-align: middle;
  content: "";
  background-color: color-mix(in srgb, var(--wp--preset--color--primary) 60%, var(--wp--preset--color--white));
  border: none;
}
@media (max-width: 768px) {
  .breadcrumbs__current::before {
    width: 1.2rem;
  }
}

.footer {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  padding: 9.6rem 0 0;
  background: var(--wp--preset--color--bg-primary);
  /* logo */
  /* menus */
}
@media (max-width: 768px) {
  .footer {
    padding: 5.6rem 0 0;
  }
}
.footer__inner {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  align-items: center;
  max-width: 115.5rem;
  padding: 0 3.75rem;
  padding-bottom: 2.4rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .footer__inner {
    gap: 5.6rem;
    padding-bottom: 1.6rem;
  }
}
.footer__top {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
}
.footer__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 35.9rem;
  height: 4rem;
}
@media (max-width: 768px) {
  .footer__logo {
    width: 26rem;
    height: 4rem;
  }
}
.footer__logo .wp-block-site-logo {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
}
.footer__logo .wp-block-site-logo a {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.footer__logo .wp-block-site-logo img {
  display: block;
  width: var(--logo-width-pc, 360px);
  max-width: 100%;
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 768px) {
  .footer__logo .wp-block-site-logo img {
    width: var(--logo-width-sp, 200px);
  }
}
.footer__menus {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 4.8rem !important;
  align-items: flex-start !important;
  width: 100% !important;
  max-width: 108rem !important;
  padding: 0 !important;
  margin: 0 auto !important;
}
@media (max-width: 1150px) and (min-width: 769px) {
  .footer__menus {
    max-width: 60rem !important;
  }
}
@media (max-width: 768px) {
  .footer__menus {
    flex-direction: column !important;
    gap: 4.8rem !important;
    align-items: center !important;
  }
}
.footer__menu-col {
  display: flex !important;
  flex-direction: column !important;
  gap: 2.4rem !important;
  padding: 0 !important;
  margin: 0 !important;
}
.footer__menu-col:not(:last-child) {
  flex: none !important;
  width: 18.9rem !important;
}
.footer__menu-col:last-child {
  flex: 1 !important;
  width: auto !important;
}
.footer__menu-col:first-child:nth-last-child(4), .footer__menu-col:first-child:nth-last-child(4) ~ .footer__menu-col:not(:last-child) {
  width: 26.8rem !important;
}
@media (max-width: 1150px) {
  .footer__menu-col:not(:last-child) {
    flex: none !important;
    width: calc((100% - 4.8rem) / 2) !important;
  }
  .footer__menu-col:last-child {
    flex: none !important;
    width: 100% !important;
  }
}
@media (max-width: 768px) {
  .footer__menu-col:not(:last-child), .footer__menu-col:last-child {
    gap: 1.6rem !important;
    width: 100% !important;
    padding-bottom: 0 !important;
    border: none !important;
    box-shadow: none !important;
  }
}
.footer__menu-list {
  width: 100%;
}
.footer__menu-list .wp-block-navigation__responsive-container-open,
.footer__menu-list .wp-block-navigation__responsive-container-close {
  display: none !important;
}
.footer__menu-list .wp-block-navigation__responsive-container {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
  visibility: visible !important;
  background: transparent !important;
  opacity: 1 !important;
}
.footer__menu-list .wp-block-navigation__container {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  align-items: flex-start;
  padding: 0;
  margin: 0;
  list-style: none;
}
@media (max-width: 768px) {
  .footer__menu-list .wp-block-navigation__container {
    gap: 0.4rem;
  }
}
.footer__menu-list .wp-block-navigation__container .wp-block-navigation-item {
  width: 100%;
  padding: 0;
  margin: 0;
}
.footer__menu-list .wp-block-navigation__container .wp-block-navigation-item.footer__menu-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-bottom: 1rem;
  margin-bottom: 1.6rem;
}
@media (max-width: 768px) {
  .footer__menu-list .wp-block-navigation__container .wp-block-navigation-item.footer__menu-title {
    padding-bottom: 0.6rem;
    margin-bottom: 1.2rem;
  }
}
.footer__menu-list .wp-block-navigation__container .wp-block-navigation-item.footer__menu-title::after {
  position: absolute;
  bottom: -0.2rem;
  left: 0;
  display: block;
  width: 100%;
  height: 0.2rem;
  content: "";
  background-color: var(--wp--preset--color--secondary);
  border-radius: 999rem;
}
.footer__menu-list .wp-block-navigation__container .wp-block-navigation-item.footer__menu-title .wp-block-navigation-item__content {
  width: 100%;
  padding: 0 !important;
  margin: 0 !important;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 150%;
  color: var(--wp--preset--color--secondary) !important;
  text-decoration: none;
  border-bottom: none !important;
}
.footer__menu-list .wp-block-navigation__container .wp-block-navigation-item:not(.footer__menu-title) {
  display: flex;
  flex-direction: row;
  gap: 0.8rem;
  align-items: center;
  padding: 0;
  margin: 0;
}
.footer__menu-list .wp-block-navigation__container .wp-block-navigation-item:not(.footer__menu-title)::before {
  display: block;
  flex-shrink: 0;
  width: 0.4rem;
  height: 0.4rem;
  content: "";
  background-color: var(--wp--preset--color--secondary);
  border-radius: 50%;
}
.footer__menu-list .wp-block-navigation__container .wp-block-navigation-item:not(.footer__menu-title) .wp-block-navigation-item__content {
  width: 100%;
  height: 100%;
  padding: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 180%;
  color: color-mix(in srgb, var(--wp--preset--color--primary) 90%, var(--wp--preset--color--white));
  text-decoration: none;
  transition: all 0.3s ease;
}
@media (max-width: 768px) {
  .footer__menu-list .wp-block-navigation__container .wp-block-navigation-item:not(.footer__menu-title) .wp-block-navigation-item__content {
    font-size: 1.4rem;
    line-height: 180%;
  }
}
@media (hover: hover) and (pointer: fine) {
  .footer__menu-list .wp-block-navigation__container .wp-block-navigation-item:not(.footer__menu-title) .wp-block-navigation-item__content:hover {
    color: var(--wp--preset--color--secondary);
  }
}
.footer__btn-entry {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  width: 100%;
  margin: 0;
}
@media (max-width: 1150px) {
  .footer__btn-entry {
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
  }
}
.footer__btn-entry .wp-block-button__link {
  position: relative;
  display: flex;
  gap: 0.2rem;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 1.6rem 2.4rem;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 150%;
  color: var(--wp--preset--color--white);
  text-decoration: none;
  white-space: nowrap;
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--green) 100%);
  border: none;
  border-radius: 99.9rem;
  transition: opacity 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}
@media (max-width: 1150px) {
  .footer__btn-entry .wp-block-button__link {
    flex: 1;
    padding: 1.2rem 1.6rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .footer__btn-entry .wp-block-button__link:hover {
    box-shadow: 0 10px 8px var(--wp--preset--color--beige-light);
    transform: translateY(-0.3rem);
  }
}
.footer__btn-entry .wp-block-button__link::after {
  position: absolute;
  inset: 0;
  padding: 0.1rem;
  content: "";
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 0.01%, var(--wp--preset--color--bg-primary) 100%);
  border-radius: inherit;
  mask: linear-gradient(var(--wp--preset--color--white) 0 0) content-box, linear-gradient(var(--wp--preset--color--white) 0 0);
  mask-composite: exclude;
}
.footer__btn-entry .wp-block-button__link .btn-entry__icon {
  display: block;
  width: 1.6rem;
  height: 1.8rem;
  color: var(--wp--preset--color--white);
}
.footer__btn-entry .wp-block-button__link--white {
  color: var(--wp--preset--color--secondary);
  background: linear-gradient(90deg, var(--wp--preset--color--white) 0%, var(--wp--preset--color--bg-primary) 100%);
}
.footer__btn-entry .wp-block-button__link--white::after {
  background: linear-gradient(45deg, var(--wp--preset--color--secondary), var(--wp--preset--color--secondary));
}
.footer__pagetop-wrapper {
  position: fixed;
  right: 3rem;
  bottom: 3.1rem;
  z-index: 100;
  margin: 0;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease, bottom 0.3s ease;
}
@media (max-width: 1150px) {
  .footer__pagetop-wrapper {
    right: 2.9rem;
    bottom: 7.3rem;
  }
  body:has(.top-kv__banner--floating.is-visible) .footer__pagetop-wrapper {
    bottom: 15.4rem;
  }
  body:has(.btn-entry.is-hidden) .footer__pagetop-wrapper {
    bottom: 3.1rem;
  }
}
@media (max-width: 768px) {
  .footer__pagetop-wrapper {
    right: 2.9rem;
  }
  body:has(.top-kv__banner--floating.is-visible) .footer__pagetop-wrapper {
    bottom: 16.4rem;
  }
  body:has(.btn-entry.is-hidden) .footer__pagetop-wrapper {
    bottom: 3.1rem;
  }
}
@media (max-width: 574px) {
  body:has(.top-kv__banner--floating.is-visible) .footer__pagetop-wrapper {
    bottom: 14.9rem;
  }
  body:has(.btn-entry.is-hidden) .footer__pagetop-wrapper {
    bottom: 3.1rem;
  }
}
.footer__pagetop-wrapper.is-show {
  visibility: visible;
  opacity: 1;
}
.footer__pagetop .wp-block-button__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 8rem;
  height: 8rem;
  padding: 0 !important;
  text-decoration: none;
  background: var(--wp--preset--color--white);
  filter: none;
  border: none !important;
  border-radius: 50% !important;
  box-shadow: 0 0 2.4rem var(--wp--preset--color--beige-light);
  transition: background 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}
@media (max-width: 768px) {
  .footer__pagetop .wp-block-button__link {
    width: 4.5rem;
    height: 4.5rem;
    box-shadow: 0 0.6rem 2rem var(--wp--preset--color--beige-light);
  }
}
@media (hover: hover) and (pointer: fine) {
  .footer__pagetop .wp-block-button__link:hover .footer__pagetop-icon {
    transform: translateY(-0.2rem);
  }
}
.footer__pagetop .wp-block-button__link .footer__pagetop-icon {
  width: 2.4rem;
  height: 2.4rem;
  background: linear-gradient(180deg, var(--wp--preset--color--green) 0%, var(--wp--preset--color--secondary) 100%);
  mask: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAxNSAyNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNi4zNjQwMSAyNUM2LjM2NDAxIDI1LjU1MjMgNi44MTE3MyAyNiA3LjM2NDAxIDI2QzcuOTE2MyAyNiA4LjM2NDAxIDI1LjU1MjMgOC4zNjQwMSAyNUw3LjM2NDAxIDI1TDYuMzY0MDEgMjVaTTguMDcxMTIgMC4yOTI4OTJDNy42ODA2IC0wLjA5NzYzMTQgNy4wNDc0MyAtMC4wOTc2MzE1IDYuNjU2OTEgMC4yOTI4OTJMMC4yOTI5NDYgNi42NTY4NUMtMC4wOTc1NzggNy4wNDczOCAtMC4wOTc1NzggNy42ODA1NCAwLjI5Mjk0NiA4LjA3MTA3QzAuNjgzNDcxIDguNDYxNTkgMS4zMTY2NCA4LjQ2MTU5IDEuNzA3MTYgOC4wNzEwN0w3LjM2NDAxIDIuNDE0MjFMMTMuMDIwOSA4LjA3MTA3QzEzLjQxMTQgOC40NjE1OSAxNC4wNDQ2IDguNDYxNTkgMTQuNDM1MSA4LjA3MTA3QzE0LjgyNTYgNy42ODA1NCAxNC44MjU2IDcuMDQ3MzggMTQuNDM1MSA2LjY1Njg1TDguMDcxMTIgMC4yOTI4OTJaTTcuMzY0MDEgMjVMOC4zNjQwMSAyNUw4LjM2NDAxIDFMNi4zNjQwMSAxTDYuMzY0MDEgMjVMNy4zNjQwMSAyNVoiIGZpbGw9ImJsYWNrIi8+PC9zdmc+") no-repeat center center/contain;
  transition: transform 0.3s ease, filter 0.3s ease;
}
@media (max-width: 768px) {
  .footer__pagetop .wp-block-button__link .footer__pagetop-icon {
    width: 1.6rem;
    height: 1.6rem;
    mask: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxNSAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNi4zNjQwMSAxN0M2LjM2NDAxIDE3LjU1MjMgNi44MTE3MyAxOCA3LjM2NDAxIDE4QzcuOTE2MyAxOCA4LjM2NDAxIDE3LjU1MjMgOC4zNjQwMSAxN0w3LjM2NDAxIDE3TDYuMzY0MDEgMTdaTTguMDcxMTIgMC4yOTI4OTJDNy42ODA2IC0wLjA5NzYzMTQgNy4wNDc0MyAtMC4wOTc2MzE1IDYuNjU2OTEgMC4yOTI4OTJMMC4yOTI5NDYgNi42NTY4NUMtMC4wOTc1NzgyIDcuMDQ3MzggLTAuMDk3NTc4MiA3LjY4MDU0IDAuMjkyOTQ2IDguMDcxMDdDMC42ODM0NzEgOC40NjE1OSAxLjMxNjY0IDguNDYxNTkgMS43MDcxNiA4LjA3MTA3TDcuMzY0MDEgMi40MTQyMUwxMy4wMjA5IDguMDcxMDdDMTMuNDExNCA4LjQ2MTU5IDE0LjA0NDYgOC40NjE1OSAxNC40MzUxIDguMDcxMDdDMTQuODI1NiA3LjY4MDU0IDE0LjgyNTYgNy4wNDczOCAxNC40MzUxIDYuNjU2ODVMOC4wNzExMiAwLjI5Mjg5MlpNNy4zNjQwMSAxN0w4LjM2NDAxIDE3TDguMzY0MDEgMUw3LjM2NDAxIDFMNi4zNjQwMSAxTDYuMzY0MDEgMTdMNy4zNjQwMSAxN1oiIGZpbGw9ImJsYWNrIi8+PC9zdmc+") no-repeat center center/contain;
  }
}
.footer__sub-menu {
  display: flex;
  justify-content: center;
  width: 100%;
  padding-top: 7.2rem;
}
@media (max-width: 768px) {
  .footer__sub-menu {
    padding-top: 0.8rem;
  }
}
.footer__sub-menu .footer__sub-menu-nav {
  width: 100%;
}
.footer__sub-menu .wp-block-navigation__container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2.4rem;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
.footer__sub-menu .wp-block-navigation-item {
  padding: 0;
  margin: 0;
}
.footer__sub-menu .wp-block-navigation-item__content {
  padding: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--wp--preset--color--primary);
  text-decoration: none;
  transition: color 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .footer__sub-menu .wp-block-navigation-item__content:hover {
    color: var(--wp--preset--color--secondary);
  }
}
.footer__copyright {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 2.4rem 1.85rem;
  background: var(--wp--preset--color--secondary);
}
.footer__copyright-inner {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 120rem;
  margin: 0 auto;
}
.footer__copyright p {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 150%;
  color: var(--wp--preset--color--white);
}

.main-nav:not(.header__inner .main-nav) {
  display: none !important;
}

.main-nav {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: row;
  gap: 4.8rem;
  align-items: center;
  width: auto;
  margin: 0;
  background: transparent;
  box-shadow: none;
}
.main-nav nav {
  width: auto;
}
.main-nav .wp-block-navigation__container {
  display: flex;
  flex-direction: row;
  gap: 3rem;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
@media (max-width: 1439px) {
  .main-nav .wp-block-navigation__container {
    gap: 1.6rem;
  }
}
@media (max-width: 1150px) {
  .main-nav .wp-block-navigation__container {
    display: none !important;
  }
}
.main-nav .wp-block-navigation__container .wp-block-navigation-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.1rem;
  cursor: pointer;
}
.main-nav .wp-block-navigation__container .wp-block-navigation-item::before {
  position: static !important;
  display: block !important;
  flex-shrink: 0 !important;
  width: 0.4rem !important;
  height: 0.4rem !important;
  content: "" !important;
  background-color: var(--wp--preset--color--secondary) !important;
  border-radius: 50% !important;
  transform: none !important;
}
@media (min-width: 1151px) {
  .main-nav .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container {
    position: absolute;
    top: calc(100% + 1.95rem) !important;
    right: auto !important;
    left: 50% !important;
    z-index: 50 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1.6rem !important;
    align-items: flex-start !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 15.8rem !important;
    height: auto !important;
    padding: 1.6rem 2.4rem !important;
    margin: 0 !important;
    overflow: visible !important;
    list-style: none;
    pointer-events: none !important;
    visibility: hidden !important;
    background: var(--wp--preset--color--white) !important;
    border: none !important;
    border-radius: 1rem !important;
    box-shadow: 0 0 20px 0 var(--wp--preset--color--beige-light) !important;
    opacity: 0 !important;
    transition: opacity 0.5s ease, visibility 0.5s ease !important;
    transform: translateX(-50%) !important;
  }
  body.resize-active .main-nav .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container {
    transition: none !important;
    animation: none !important;
  }
  .main-nav .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container::before {
    position: absolute;
    top: -1.2rem;
    left: 50%;
    display: block !important;
    width: 0.6rem;
    height: 0.6rem;
    content: "";
    background-color: var(--wp--preset--color--secondary);
    border-radius: 50%;
    transform: translateX(-50%);
  }
  .main-nav .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container::after {
    position: absolute;
    top: -2.2rem;
    left: 0;
    display: block !important;
    width: 100%;
    height: 2.2rem;
    content: "";
    background: transparent;
  }
  .main-nav .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container .wp-block-navigation-item {
    display: flex !important;
    flex-direction: row !important;
    gap: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    background-color: transparent !important;
    border: none !important;
  }
}
@media (min-width: 1151px) and (hover: hover) and (pointer: fine) {
  .main-nav .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container .wp-block-navigation-item:hover {
    opacity: 0.8;
  }
}
@media (min-width: 1151px) {
  .main-nav .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container .wp-block-navigation-item::before {
    position: static !important;
    display: block !important;
    width: -0.4rem;
    height: -0.4rem;
    content: "" !important;
    background-color: var(--wp--preset--color--white) !important;
    border-radius: 50% !important;
    transform: none !important;
  }
  .main-nav .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container .wp-block-navigation-item .wp-block-navigation-item__content {
    width: auto !important;
    padding: 0 !important;
    font-family: "Kiwi Maru", serif !important;
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    line-height: 150% !important;
    color: var(--wp--preset--color--primary) !important;
    white-space: nowrap !important;
    border: none !important;
  }
  .main-nav .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container .wp-block-navigation-item .wp-block-navigation-item__content::after {
    display: none !important;
  }
  .main-nav .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container .wp-block-navigation-item .wp-block-navigation-item__content::before {
    display: block !important;
    width: 0.4rem;
    height: 0.4rem;
    content: "";
    background-color: var(--wp--preset--color--secondary);
    border-radius: 50%;
  }
  .main-nav .wp-block-navigation__container .wp-block-navigation-item.wp-block-navigation-item .wp-block-navigation__submenu-container, .main-nav .wp-block-navigation__container .wp-block-navigation-item:not(.open) .wp-block-navigation__submenu-container, .main-nav .wp-block-navigation__container .wp-block-navigation-item:not(:hover) .wp-block-navigation__submenu-container {
    height: auto !important;
    overflow: visible !important;
  }
  .main-nav .wp-block-navigation__container .wp-block-navigation-item.has-child.is-touch-open .wp-block-navigation__submenu-container, .main-nav .wp-block-navigation__container .wp-block-navigation-item.has-child:hover .wp-block-navigation__submenu-container {
    pointer-events: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}
@media (hover: hover) and (pointer: fine) {
  .main-nav .wp-block-navigation__container .wp-block-navigation-item:hover .wp-block-navigation-item__content {
    color: var(--wp--preset--color--secondary);
  }
  .main-nav .wp-block-navigation__container .wp-block-navigation-item:hover .wp-block-navigation-item__content::after {
    background-color: var(--wp--preset--color--secondary);
  }
}
.main-nav .wp-block-navigation__container .wp-block-navigation-item::before {
  display: none !important;
}
.main-nav .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-item__content {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  padding: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 150%;
  color: var(--wp--preset--color--primary);
  text-decoration: none;
  transition: color 0.3s ease;
}
@media (max-width: 1150px) {
  .main-nav .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-item__content {
    gap: 1.2rem;
  }
}
.main-nav .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-item__content::after {
  display: block;
  width: 0.8rem;
  height: 0.5rem;
  content: "";
  background-color: currentcolor;
  mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%228%22%20height%3D%225%22%20viewBox%3D%220%200%208%205%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1%201L4%204L7%201%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  mask-repeat: no-repeat;
  mask-position: 50%;
}
.main-nav .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-icon {
  display: none !important;
}
.main-nav .wp-block-navigation__container .wp-block-navigation-item:not(.has-child) > .wp-block-navigation-item__content::after {
  display: none !important;
}
.main-nav .header__pc-btn-wrapper {
  margin: 0;
}
@media (max-width: 1150px) {
  .main-nav .header__pc-btn-wrapper {
    display: none !important;
  }
}
@media (max-width: 1439px) {
  .main-nav {
    gap: 0.8rem;
  }
}
@media (max-width: 1150px) {
  .main-nav {
    position: fixed !important;
    top: 6rem;
    bottom: 0;
    left: 0;
    z-index: 999 !important;
    display: flex !important;
    flex-direction: column;
    width: 100%;
    height: calc(100dvh - 6rem);
    padding: 4rem 3.75rem 5.6rem;
    overflow-y: auto;
    visibility: hidden;
    background: var(--wp--preset--color--white) !important;
    border-radius: 4rem 4rem 0 0;
    box-shadow: 0 0 20rem var(--wp--preset--color--beige-light);
    opacity: 0;
    transition: transform 0.4s ease, opacity 0.4s ease, visibility 0.4s;
    transform: translateY(100%);
  }
  .main-nav.is-open {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }
  .main-nav .wp-block-navigation {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
  .main-nav .wp-block-navigation__container {
    display: block !important;
    height: auto !important;
    padding: 0 !important;
  }
  .main-nav .wp-block-navigation__responsive-container,
  .main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    visibility: visible !important;
    background: transparent !important;
    opacity: 1 !important;
  }
  .main-nav .wp-block-navigation__responsive-container-content {
    display: block !important;
  }
  .main-nav .wp-block-navigation__container > .wp-block-navigation-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100%;
    height: auto !important;
    padding: 2.4rem 0 !important;
    border-bottom: 1px solid var(--wp--preset--color--silver) !important;
  }
  .main-nav .wp-block-navigation__container > .wp-block-navigation-item:first-child {
    padding-top: 0 !important;
  }
  .main-nav .wp-block-navigation__container > .wp-block-navigation-item:last-child {
    border-bottom: none !important;
  }
  .main-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
    display: block;
    width: 100%;
    padding-bottom: 0;
    font-family: var(--wp--preset--font-family--kiwi-maru);
    font-size: 1.4rem !important;
    font-weight: 500;
    line-height: 150% !important;
    color: var(--wp--preset--color--secondary) !important;
    border-bottom: none !important;
  }
  .main-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
    display: none !important;
  }
  .main-nav .wp-block-navigation__submenu-container {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1.2rem !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    padding: 1.6rem 0 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    visibility: visible !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .main-nav .wp-block-navigation__submenu-container::before {
    display: none !important;
  }
  .main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item {
    display: flex !important;
    flex: none !important;
    flex-direction: row !important;
    gap: 0.8rem !important;
    align-items: center !important;
    justify-content: flex-start;
    height: auto !important;
    padding: 0 !important;
    border: none !important;
  }
  .main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item::before {
    position: static !important;
    display: block !important;
    flex-shrink: 0 !important;
    width: 0.4rem !important;
    height: 0.4rem !important;
    content: "" !important;
    background-color: var(--wp--preset--color--secondary) !important;
    border-radius: 50% !important;
    transform: none !important;
  }
  .main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item .wp-block-navigation-item__content {
    padding: 0 !important;
    font-family: "Kiwi Maru", serif !important;
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    line-height: 180% !important;
    color: color-mix(in srgb, var(--wp--preset--color--primary) 90%, var(--wp--preset--color--white)) !important;
    border: none !important;
  }
  .main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item .wp-block-navigation-item__content::after {
    display: none !important;
  }
  .main-nav .wp-block-buttons {
    display: block !important;
    width: 100%;
  }
  .main-nav .wp-block-buttons .btn-entry {
    width: 100%;
  }
}

.c-btn {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  gap: 0.8rem;
  align-items: center;
  justify-content: center;
  width: 28rem;
  height: 8rem;
  padding: 1.6rem 3.2rem;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--wp--preset--color--white);
  text-decoration: none;
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--green) 100%);
  border: none;
  border-radius: 1rem;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.c-btn::after {
  position: absolute;
  inset: 0;
  padding: 0.1rem;
  content: "";
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 0.01%, var(--wp--preset--color--bg-primary) 100%);
  border-radius: inherit;
  mask: linear-gradient(var(--wp--preset--color--white) 0 0) content-box, linear-gradient(var(--wp--preset--color--white) 0 0);
  mask-composite: exclude;
}
@media (max-width: 768px) {
  .c-btn {
    gap: 0.4rem;
    width: 100%;
    max-width: 24rem;
    height: 6rem;
    padding: 1.2rem 2rem;
    font-size: 1.6rem;
    border-radius: 0.6rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-btn:hover {
    box-shadow: 0 10px 8px var(--wp--preset--color--beige-light);
    transform: translateY(-0.4rem);
  }
}
.c-btn--white {
  color: var(--wp--preset--color--secondary);
  background: linear-gradient(90deg, var(--wp--preset--color--white) 0%, var(--wp--preset--color--bg-primary) 100%);
}
.c-btn--white::after {
  background: linear-gradient(45deg, var(--wp--preset--color--secondary), var(--wp--preset--color--green));
}
.c-btn__icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 2rem;
}
@media (max-width: 768px) {
  .c-btn__icon {
    width: 1.6rem;
    height: 2rem;
  }
}
.c-btn__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ==========================================================================
   Component: Button Arrow (Common)
   ========================================================================== */
.c-btn__container {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex: none;
  flex-direction: row;
  flex-grow: 0;
  align-items: center;
  justify-content: center;
  order: 1;
  width: fit-content;
  padding: 1.2rem;
  cursor: pointer;
  background: var(--wp--preset--color--bg-primary);
  border: 0.1rem solid var(--wp--preset--color--primary);
  border-radius: 99.9rem;
  transition: all 0.3s ease;
}
@media (max-width: 1150px) {
  .c-btn__container {
    padding: 1.2rem 1rem;
  }
}
@media (max-width: 901px) {
  .c-btn__container {
    padding: 1rem 0.8rem;
  }
}
@media (max-width: 843px) {
  .c-btn__container {
    padding: 0.8rem 0.6rem;
  }
}
@media (max-width: 768px) {
  .c-btn__container {
    gap: 0.4rem;
    justify-content: space-between;
    padding: 1.2rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-btn__container:hover {
    background: var(--wp--preset--color--white);
  }
  .c-btn__container:hover::before, .c-btn__container:hover::after {
    animation: btn-pulsate 2s ease-out infinite;
  }
  .c-btn__container:hover::after {
    animation-delay: 1s;
  }
  .c-btn__container:hover .c-btn__line {
    transform: translateX(0.2rem) translateY(-50%);
  }
}
.c-btn__container::before, .c-btn__container::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  pointer-events: none;
  content: "";
  border: 0.1rem solid color-mix(in srgb, var(--wp--preset--color--green) 80%, transparent);
  border-radius: 99.9rem;
}
.c-btn__link {
  display: flex;
  flex-direction: row;
  gap: 0.8rem;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
@media (max-width: 768px) {
  .c-btn__link {
    gap: 0;
  }
}
.c-btn__text {
  box-sizing: border-box;
  display: flex;
  flex: none;
  flex-direction: row;
  flex-grow: 0;
  align-items: center;
  justify-content: center;
  order: 0;
  width: auto;
  height: auto;
  padding: 0 4.8rem;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  color: var(--wp--preset--color--primary);
  text-align: center;
}
@media (max-width: 1150px) {
  .c-btn__text {
    font-size: 1.4rem;
  }
}
@media (max-width: 843px) {
  .c-btn__text {
    font-size: 1.3rem;
  }
}
@media (max-width: 768px) {
  .c-btn__text {
    flex-grow: 1;
    width: auto;
    height: auto;
    font-size: 1.6rem;
  }
}
.c-btn__arrow-wrap {
  position: relative;
  flex: none;
  flex-grow: 0;
  order: 1;
  width: 3.6rem;
  height: 3rem;
}
@media (max-width: 768px) {
  .c-btn__arrow-wrap {
    right: 0;
    width: 3.6rem;
    height: 3rem;
    margin: 0;
  }
}
.c-btn__ellipse {
  position: absolute;
  top: 0%;
  right: 1.17%;
  bottom: 0%;
  left: 15.49%;
  z-index: 1;
  aspect-ratio: 1/1;
  background: linear-gradient(180deg, color-mix(in srgb, var(--wp--preset--color--secondary) 30%, transparent) 0%, color-mix(in srgb, var(--wp--preset--color--green) 30%, transparent) 100%);
  border-radius: 50%;
}
.c-btn__line {
  position: absolute;
  top: 50%;
  right: 36.11%;
  left: 2.78%;
  z-index: 2;
  height: 0;
  border-top: 0.1rem solid var(--wp--preset--color--primary);
  transition: transform 0.3s ease;
  transform: translateY(-50%);
}
@media (max-width: 768px) {
  .c-btn__line::after {
    top: -0.4rem;
    width: 0.6rem;
    height: 0.6rem;
  }
}
.c-btn__line::after {
  position: absolute;
  top: -0.4rem;
  right: 0;
  width: 0.6rem;
  height: 0.6rem;
  content: "";
  border-top: 0.1rem solid var(--wp--preset--color--primary);
  border-right: 0.1rem solid var(--wp--preset--color--primary);
  transform: rotate(45deg);
}

@keyframes btn-pulsate {
  0% {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1;
  }
  100% {
    top: -1.5rem;
    right: -1.5rem;
    bottom: -1.5rem;
    left: -1.5rem;
    opacity: 0;
  }
}
.heading-text {
  display: flex;
  align-items: center;
}
.heading-text--vertical {
  flex-direction: column;
  gap: 1.2rem;
}
@media (max-width: 768px) {
  .heading-text--vertical {
    gap: 0.8rem;
  }
}
.heading-text_en {
  position: relative;
  padding-bottom: 1.2rem;
  margin: 0;
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2rem;
  font-weight: 400;
  line-height: 100%;
  text-align: center;
  text-transform: uppercase;
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 22.22%, var(--wp--preset--color--green) 76.59%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .heading-text_en {
    padding-bottom: 0.8rem;
    margin-bottom: 0;
    font-size: 1.6rem;
  }
}
.heading-text_en::after {
  position: absolute;
  bottom: -1px;
  left: 50%;
  width: 4.6rem;
  height: 2px;
  content: "";
  background-color: var(--wp--preset--color--secondary);
  border-radius: 999rem;
  transform: translateX(-50%);
}
@media (max-width: 768px) {
  .heading-text_en::after {
    width: 3rem;
  }
}
.heading-text_jp {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 768px) {
  .heading-text_jp {
    font-size: 1.6rem;
  }
}

.c-page-heading {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  padding-top: 18rem;
  padding-bottom: 0.4rem;
  overflow: hidden;
  background: var(--wp--preset--color--bg-primary);
  isolation: isolate;
}
@media (max-width: 768px) {
  .c-page-heading {
    gap: 2.4rem;
    padding-top: 12rem;
  }
  .c-page-heading__jp {
    font-size: 3.2rem;
  }
  .c-page-heading__en {
    font-size: 1.8rem;
  }
}
.c-page-heading__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}
.c-page-heading__bg-ellipse1 {
  position: absolute;
  top: -18.9rem;
  left: calc(50% - 4.3rem);
  width: 84rem;
  height: 45rem;
  background: color-mix(in srgb, var(--wp--preset--color--beige-light) 70%, var(--wp--preset--color--white));
  filter: blur(6rem);
}
@media (min-width: 1441px) {
  .c-page-heading__bg-ellipse1 {
    right: -6.98%;
    bottom: 23.67%;
    left: 45.62%;
    width: 100%;
  }
}
@media (min-width: 1920px) {
  .c-page-heading__bg-ellipse1 {
    width: 1178px;
  }
}
@media (min-width: 1951px) {
  .c-page-heading__bg-ellipse1 {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .c-page-heading__bg-ellipse1 {
    top: -15.9rem;
    right: -3.8rem;
    left: auto;
    width: 100vw;
    height: 28.3rem;
    filter: blur(4rem);
  }
}
.c-page-heading__bg-ellipse2 {
  position: absolute;
  top: -18.5rem;
  left: calc(50% - 81.8rem);
  width: 100rem;
  height: 45rem;
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--green) 100%);
  filter: blur(6rem);
  opacity: 0.2;
}
@media (min-width: 1441px) {
  .c-page-heading__bg-ellipse2 {
    right: 39.69%;
    bottom: 31.67%;
    left: 0%;
    width: 60%;
  }
}
@media (min-width: 1920px) {
  .c-page-heading__bg-ellipse2 {
    left: -6%;
    width: 1256px;
  }
}
@media (min-width: 1951px) {
  .c-page-heading__bg-ellipse2 {
    left: 0%;
    width: 60%;
  }
}
@media (max-width: 768px) {
  .c-page-heading__bg-ellipse2 {
    top: -16.5rem;
    right: 13.8rem;
    left: auto;
    width: 100vw;
    height: 28.3rem;
    filter: blur(4rem);
  }
}
.c-page-heading__txt {
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  align-items: center;
  width: 66%;
  filter: drop-shadow(0 0 3rem var(--wp--preset--color--beige-light));
}
@media (max-width: 768px) {
  .c-page-heading__txt {
    gap: 0.8rem;
    width: 90%;
  }
}
.c-page-heading__jp {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 4.8rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--primary);
  text-align: center;
}
@media (max-width: 768px) {
  .c-page-heading__jp {
    font-size: 3.6rem;
  }
}
.c-page-heading__en {
  margin: 0;
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2.4rem;
  font-weight: 300;
  line-height: 1;
  color: var(--wp--preset--color--secondary);
  text-align: center;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .c-page-heading__en {
    font-size: 2rem;
  }
}
.c-page-heading__arrow {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (max-width: 768px) {
  .c-page-heading__arrow {
    width: 0.4rem;
    height: 4rem;
  }
}
.c-page-heading__arrow-line {
  width: 0.2rem;
  height: 7.2rem;
  background: linear-gradient(to bottom, var(--wp--preset--color--bg-primary) 0%, var(--wp--preset--color--green) 100%);
  border-radius: 999rem;
}
@media (max-width: 768px) {
  .c-page-heading__arrow-line {
    height: 2.8rem;
  }
}
.c-page-heading__arrow-ball {
  position: absolute;
  bottom: 0;
  width: 0.6rem;
  height: 0.6rem;
  margin-top: 0.6rem;
  background: var(--wp--preset--color--green);
  border-radius: 50%;
  animation: circlemove 2s ease-in-out infinite, cirlemovehide 2s ease-out infinite;
  --scroll-start: -6.6rem;
}
@media (max-width: 768px) {
  .c-page-heading__arrow-ball {
    --scroll-start: -3.2rem;
    width: 0.4rem;
    height: 0.4rem;
    margin-top: 0.4rem;
  }
}

@keyframes circlemove {
  0% {
    bottom: 6rem;
  }
  100% {
    bottom: 0.4rem;
  }
}
@media (max-width: 768px) {
  @keyframes circlemove {
    0% {
      bottom: 2.8rem;
    }
    100% {
      bottom: 0.4rem;
    }
  }
}
@keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
.btn-entry {
  display: flex;
}
@media (max-width: 1150px) {
  .btn-entry {
    position: fixed;
    right: 20px;
    bottom: 16px;
    left: 20px;
    z-index: 120;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: calc(100% - 40px);
    height: 4.9rem;
    padding: 0.6rem;
    background: var(--wp--preset--color--white);
    border-radius: 99.9rem;
    box-shadow: 0 0 2rem var(--wp--preset--color--beige-light);
    transition: transform 0.3s ease, opacity 0.3s ease, visibility 0s;
  }
  .footer__menu-col .btn-entry, .main-nav.is-open .btn-entry {
    position: static;
    display: block !important;
    width: 100%;
    height: auto;
    padding: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
  }
  .btn-entry.is-hidden {
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease, visibility 0s 0.3s;
    transform: translateY(calc(100% + 40px));
  }
}
.btn-entry__buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0 !important;
}
.btn-entry__button {
  display: flex;
  gap: 0.8rem;
  width: 100% !important;
  height: 3.9rem !important;
  margin: 0 !important;
}
.btn-entry__button .wp-block-button__link {
  position: relative;
  display: flex;
  gap: 0.4rem;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: 100% !important;
  padding: 0.8rem 1.6rem !important;
  font-family: var(--wp--preset--font-family--kiwi-maru) !important;
  font-size: 1.6rem !important;
  font-weight: 500 !important;
  line-height: 150% !important;
  color: var(--wp--preset--color--white) !important;
  text-align: center;
  text-decoration: none;
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--green) 100%) !important;
  border: none !important;
  border-radius: 99.9rem !important;
  box-shadow: none !important;
  transition: transform 0.3s ease, opacity 0.3s ease, box-shadow 0.3s ease !important;
}
@media (hover: hover) and (pointer: fine) {
  .btn-entry__button .wp-block-button__link:hover {
    box-shadow: 0 0.8rem 2.4rem var(--wp--preset--color--beige-light) !important;
    opacity: 0.9;
    transform: translateY(-2px);
  }
}
.btn-entry__button .wp-block-button__link::after {
  position: absolute;
  inset: 0;
  padding: 0.1rem;
  content: "";
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 0.01%, var(--wp--preset--color--bg-primary) 100%);
  border-radius: inherit;
  mask: linear-gradient(var(--wp--preset--color--white) 0 0) content-box, linear-gradient(var(--wp--preset--color--white) 0 0);
  mask-composite: exclude;
}
.btn-entry__button .wp-block-button__link .btn-entry__icon {
  position: static !important;
  display: block !important;
  width: 1.6rem;
  height: 1.8rem;
  margin: 0 !important;
  color: var(--wp--preset--color--white) !important;
  transform: none !important;
}
.btn-entry__button .wp-block-button__link .btn-entry__text {
  font-family: var(--wp--preset--font-family--kiwi-maru) !important;
  font-size: 1.4rem !important;
  font-weight: 500 !important;
  line-height: 150% !important;
  color: var(--wp--preset--color--white) !important;
}
.btn-entry__button .wp-block-button__link--white {
  color: var(--wp--preset--color--secondary) !important;
  background: linear-gradient(90deg, var(--wp--preset--color--white) 0%, var(--wp--preset--color--bg-primary) 100%) !important;
}
.btn-entry__button .wp-block-button__link--white::after {
  background: linear-gradient(45deg, var(--wp--preset--color--secondary), var(--wp--preset--color--secondary));
}
.btn-entry__button .wp-block-button__link--white .btn-entry__text {
  color: var(--wp--preset--color--secondary) !important;
}

body.is-fixed .btn-entry {
  display: none !important;
}

.cta {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12rem 0;
  overflow: hidden;
  background: var(--wp--preset--color--bg-primary);
}
@media (min-width: 1951px) {
  .cta {
    padding: 18rem 0;
  }
}
@media (max-width: 574px) {
  .cta {
    padding: 7.8rem 0 6.4rem;
  }
}
.cta__line {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;
  flex: none;
  flex-grow: 0;
  order: 1;
  width: 100%;
  aspect-ratio: 1440/801;
  pointer-events: none;
  transform: translateX(-50%);
}
@media (max-width: 768px) {
  .cta__line {
    top: 4rem;
    width: calc(100% + 2.3rem);
  }
}
.cta__line.is-active .cta__decor-svg svg path {
  animation: drawEntryLine 4s ease-in-out forwards;
}
.cta__decor-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.cta__decor-svg--pc {
  visibility: visible;
  opacity: 1;
}
@media (max-width: 768px) {
  .cta__decor-svg--pc {
    visibility: hidden;
    opacity: 0;
  }
}
.cta__decor-svg--md {
  visibility: hidden;
  opacity: 0;
}
@media (max-width: 768px) {
  .cta__decor-svg--md {
    visibility: visible;
    opacity: 1;
  }
}
.cta__decor-svg svg {
  display: block;
  width: 100%;
  height: 100%;
}
.cta__decor-svg svg path {
  stroke-dasharray: var(--length);
  stroke-dashoffset: var(--length);
  will-change: stroke-dashoffset;
}
.cta__img-box {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 1340/420;
  margin: 0 auto;
}
@media (max-width: 991px) {
  .cta__img-box {
    width: calc(100% + 5rem);
  }
}
@media (max-width: 574px) {
  .cta__img-box {
    top: 1rem;
    width: 100%;
    max-width: 100%;
    height: 16rem;
    aspect-ratio: unset;
    margin: -2.4rem 0 0;
  }
}
.cta__img {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 10rem);
  height: 100%;
  overflow: hidden;
  border-radius: 0 2rem 2rem 0;
}
@media (max-width: 574px) {
  .cta__img {
    right: auto;
    left: 0;
    width: calc(100% - 1.5rem);
    height: 16rem;
    border-radius: 0 1rem 1rem 0;
  }
  .cta__img img {
    object-position: center 10%;
  }
}
.cta__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.cta__img-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 100px);
  height: 100%;
  pointer-events: none;
  background: linear-gradient(0deg, color-mix(in srgb, var(--wp--preset--color--black) 4%, transparent), color-mix(in srgb, var(--wp--preset--color--black) 4%, transparent));
  border-radius: 0 2rem 2rem 0;
}
@media (max-width: 574px) {
  .cta__img-overlay {
    right: auto;
    left: 0;
    width: calc(100% - 1.5rem);
    height: 16rem;
    border-radius: 0 1rem 1rem 0;
  }
}
.cta__card {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  align-items: center;
  width: 100%;
  max-width: 1080px;
  padding: 6.4rem;
  margin-top: -12.8rem;
  margin-right: auto;
  margin-left: auto;
  background: var(--wp--preset--color--white);
  border-radius: 1.6rem;
  box-shadow: 0 0 2rem color-mix(in srgb, var(--wp--preset--color--primary) 10%, transparent);
}
@media (max-width: 1439px) {
  .cta__card {
    width: 100%;
    max-width: calc(100% - 30rem);
  }
}
@media (max-width: 1232px) {
  .cta__card {
    margin-top: -8.8rem;
  }
}
@media (max-width: 991px) {
  .cta__card {
    gap: 4.5rem;
    max-width: calc(100% - 20rem);
    padding: 4.5rem 3.6rem;
  }
}
@media (max-width: 768px) {
  .cta__card {
    margin-top: -6.8rem;
  }
}
@media (max-width: 574px) {
  .cta__card {
    gap: 4rem;
    width: 100%;
    max-width: calc(100% - 7.5rem);
    padding: 4rem 2.4rem;
    margin-top: -1.5rem;
    border-radius: 0.8rem;
  }
}
.cta__card-inner {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  align-items: center;
  width: 80%;
}
@media (max-width: 768px) {
  .cta__card-inner {
    width: 100%;
  }
}
@media (max-width: 574px) {
  .cta__card-inner {
    gap: 1.6rem;
  }
}
.cta__title {
  margin: 0;
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  transform: matrix(1, 0, -0.19, 0.98, 0, 0);
}
@media (max-width: 1232px) {
  .cta__title {
    font-size: 2.8rem;
  }
}
@media (max-width: 768px) {
  .cta__title {
    width: 100%;
    margin: 0 auto;
    font-size: 2.4rem;
  }
}
@media (max-width: 574px) {
  .cta__title {
    margin: 0 auto;
    font-size: 2.4rem;
    line-height: 150%;
  }
}
.cta__desc {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
  text-align: center;
}
@media (max-width: 574px) {
  .cta__desc {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
.cta__btns {
  display: flex;
  flex-direction: row;
  gap: 2.4rem;
  align-items: center;
  justify-content: center;
  width: 100%;
}
@media (max-width: 768px) {
  .cta__btns {
    flex-direction: column;
    gap: 1.6rem;
    width: 100%;
  }
}
@media (max-width: 843px) {
  .cta__btns .c-btn {
    font-size: 1.7rem;
  }
}

@keyframes drawEntryLine {
  0% {
    stroke-dashoffset: var(--length);
  }
  100% {
    stroke-dashoffset: calc(var(--length) * 2);
  }
}
.top-kv {
  position: relative;
  width: 100%;
  padding-top: 9rem;
  background: var(--wp--preset--color--bg-primary);
}
@media (max-width: 1150px) {
  .top-kv {
    padding-top: 6rem;
  }
}
.top-kv__inner {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 1440/810;
  padding: 0;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .top-kv__inner {
    aspect-ratio: auto;
    padding: 0;
  }
}
.top-kv__bg {
  position: relative;
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .top-kv__bg {
    height: auto;
  }
}
@media (max-width: 574px) {
  .top-kv__bg {
    position: relative;
    width: 100%;
    height: 100%;
  }
}
.top-kv__bg img {
  display: block;
  width: 100%;
  height: auto;
}
.top-kv__content {
  position: absolute;
  top: 5.6rem;
  left: 10.4rem;
  z-index: 2;
  width: 44.5rem;
  height: 20.7rem;
  filter: drop-shadow(0 0 25rem var(--wp--preset--color--bg-primary));
}
@media (min-width: 1441px) {
  .top-kv__content {
    top: 3.8888888889vw;
    left: 7.2222222222vw;
    width: 30.9027777778vw;
    height: 14.375vw;
  }
}
@media (max-width: 1232px) {
  .top-kv__content {
    left: 7rem;
    width: 35rem;
    height: 18rem;
  }
}
@media (max-width: 991px) {
  .top-kv__content {
    top: 4rem;
    width: 26rem;
    height: 12rem;
  }
}
@media (max-width: 768px) {
  .top-kv__content {
    top: 2.5rem;
    left: 3rem;
  }
}
@media (max-width: 621px) {
  .top-kv__content {
    left: 1.5rem;
  }
}
@media (max-width: 574px) {
  .top-kv__content {
    top: 1.2rem;
    left: 3rem;
    display: block;
    width: max-content;
    padding: 0;
    filter: none;
  }
}
.top-kv__catch-small {
  position: relative;
  top: 0.2rem;
  display: flex;
  align-items: center;
  height: 5.7rem;
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.4;
  color: var(--wp--preset--color--primary);
}
@media (min-width: 1441px) {
  .top-kv__catch-small {
    height: 3.9583333333vw;
    font-size: 1.6666666667vw;
  }
}
@media (max-width: 1439px) {
  .top-kv__catch-small {
    font-size: 2rem;
  }
}
@media (max-width: 1232px) {
  .top-kv__catch-small {
    height: 4.5rem;
    font-size: 1.7rem;
  }
}
@media (max-width: 991px) {
  .top-kv__catch-small {
    font-size: 1.4rem;
  }
}
@media (max-width: 574px) {
  .top-kv__catch-small {
    top: 0;
    justify-content: flex-start;
    height: 2rem;
    margin-bottom: 0.8rem;
  }
}
.top-kv__catch-small .no-gap {
  margin-left: -1rem;
  letter-spacing: -0.08rem;
}
.top-kv__catch-small .letter-space-minus {
  letter-spacing: -0.4em;
}
.top-kv__catch-small .letter-space-minus-10 {
  letter-spacing: -0.1em;
}
.top-kv__catch-line {
  position: relative;
  top: 0.1rem;
  display: inline-block;
  width: 5.6rem;
  height: 0;
  margin-right: 0.8rem;
  margin-left: 0.8rem;
  border-top: 0.2rem solid var(--wp--preset--color--primary);
}
@media (min-width: 1441px) {
  .top-kv__catch-line {
    width: 4.0972222222vw;
  }
}
@media (max-width: 991px) {
  .top-kv__catch-line {
    width: 3rem;
  }
}
@media (max-width: 768px) {
  .top-kv__catch-line {
    width: 1.5rem;
  }
}
@media (max-width: 574px) {
  .top-kv__catch-line {
    width: 3.55rem;
    margin-right: 0.7rem;
    margin-left: 0.4rem;
    border-top-width: 0.1rem;
  }
}
.top-kv__catch {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  color: var(--wp--preset--color--primary);
}
.top-kv__catch-main {
  display: block;
  font-size: 5rem;
  font-weight: 400;
  line-height: 1.5;
}
@media (min-width: 1441px) {
  .top-kv__catch-main {
    font-size: 3.4722222222vw;
  }
}
@media (max-width: 1439px) {
  .top-kv__catch-main {
    font-size: 4.5rem;
  }
}
@media (max-width: 1232px) {
  .top-kv__catch-main {
    font-size: 3.8rem;
  }
}
@media (max-width: 991px) {
  .top-kv__catch-main {
    font-size: 2.8rem;
  }
}
@media (max-width: 621px) {
  .top-kv__catch-main {
    font-size: 2.6rem;
  }
}
@media (max-width: 574px) {
  .top-kv__catch-main {
    font-size: 3rem;
    line-height: 1.4;
    text-align: left;
  }
}
.top-kv__catch-main .text-green {
  color: transparent;
  letter-spacing: -0.45rem;
  background: linear-gradient(180deg, var(--wp--preset--color--secondary) 30%, var(--wp--preset--color--green) 60%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.top-kv__catch-main .text-space {
  letter-spacing: -0.1em;
}
.top-kv__catch-main .letter-space-10 {
  letter-spacing: 0.1em;
}
.top-kv__catch-main .letter-space-minus-4 {
  letter-spacing: -0.04em;
}
.top-kv__catch-main .letter-space-minus-15 {
  letter-spacing: -0.15em;
}
.top-kv__scroll {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translateX(-50%);
}
@media (min-width: 1441px) {
  .top-kv__scroll {
    bottom: 0.8333333333vw;
  }
}
@media (max-width: 445px) {
  .top-kv__scroll {
    bottom: 0.1rem;
  }
}
.top-kv__scroll-text {
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 1.6rem;
  color: var(--wp--preset--color--beige-light);
  text-transform: uppercase;
}
@media (min-width: 1441px) {
  .top-kv__scroll-text {
    font-size: 1.1111111111vw;
  }
}
@media (max-width: 991px) {
  .top-kv__scroll-text {
    font-size: 1.4rem;
  }
}
@media (max-width: 445px) {
  .top-kv__scroll-text {
    margin-bottom: 0.2rem;
    font-size: 1rem;
  }
}
.top-kv__scroll-line {
  width: 0.2rem;
  height: 6rem;
  background: linear-gradient(to bottom, var(--wp--preset--color--beige-light) 0%, var(--wp--preset--color--green) 100%);
}
@media (min-width: 1441px) {
  .top-kv__scroll-line {
    height: 4.1666666667vw;
  }
}
@media (max-width: 445px) {
  .top-kv__scroll-line {
    height: 1.6rem;
  }
}
.top-kv__scroll-dot {
  --scroll-start: -7.2rem;
  --scroll-end: -.8rem;
  width: 0.6rem;
  height: 0.6rem;
  margin-top: 0.6rem;
  background: var(--wp--preset--color--green);
  border-radius: 50%;
  animation: dotDrop 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@media (min-width: 1441px) {
  .top-kv__scroll-dot {
    --scroll-start: -6.4rem;
    width: 0.8rem;
    height: 0.8rem;
    margin-top: 0.5rem;
  }
}
@media (max-width: 445px) {
  .top-kv__scroll-dot {
    --scroll-start: -2.2rem;
    --scroll-end: -.4rem;
    width: 0.2rem;
    height: 0.2rem;
    margin-top: 0.3rem;
    margin-left: -0.05rem;
  }
}
.top-kv__banner {
  position: absolute;
  right: 2.4rem;
  bottom: 2.4rem;
  z-index: 3;
  width: 42rem;
  text-decoration: none;
  filter: drop-shadow(0 0 1rem var(--wp--preset--color--beige-light));
  transition: transform 0.3s ease, filter 0.3s ease;
}
@media (min-width: 1441px) {
  .top-kv__banner {
    right: 1.6666666667vw;
    bottom: 1.6666666667vw;
    width: 29.1666666667vw;
  }
}
@media (max-width: 1232px) {
  .top-kv__banner {
    right: 2rem;
    bottom: 2rem;
    width: 36rem;
  }
}
@media (max-width: 991px) {
  .top-kv__banner {
    right: 1.5rem;
    bottom: 1.5rem;
    width: 30rem;
  }
}
@media (max-width: 768px) {
  .top-kv__banner {
    display: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  .top-kv__banner:hover {
    filter: drop-shadow(0 0 2rem var(--wp--preset--color--beige-light));
  }
  .top-kv__banner:hover .top-kv__banner-ph {
    border-color: var(--wp--preset--color--secondary);
  }
  .top-kv__banner:hover .c-btn__line {
    transform: translateX(0.2rem) translateY(-50%);
  }
  .top-kv__banner:hover .top-kv__banner-text {
    color: var(--wp--preset--color--white);
  }
  .top-kv__banner:hover .top-kv__banner-box {
    background-color: var(--wp--preset--color--secondary);
  }
  .top-kv__banner:hover .c-btn__ellipse {
    background: var(--wp--preset--color--white);
  }
}
.top-kv__banner--floating {
  position: fixed !important;
  top: auto !important;
  right: 2.4rem !important;
  bottom: 12.8rem !important;
  left: auto !important;
  z-index: 110 !important;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.4s ease, filter 0.3s ease;
  transform: translateY(6rem);
}
@media (min-width: 1441px) {
  .top-kv__banner--floating {
    right: 1.6666666667vw !important;
    bottom: 8.8888888889vw !important;
  }
}
@media (max-width: 1150px) {
  .top-kv__banner--floating {
    bottom: 2.4rem !important;
  }
}
@media (max-width: 768px) {
  .top-kv__banner--floating {
    bottom: 8.7rem !important;
    display: block;
  }
}
@media (max-width: 574px) {
  .top-kv__banner--floating {
    right: 2.4rem !important;
    bottom: 7.3rem !important;
  }
}
.top-kv__banner--floating.is-visible {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}
.top-kv__banner-box {
  position: relative;
  display: flex;
  align-items: center;
  width: 40rem;
  height: auto;
  padding: 1.6rem 0 1.6rem 2.4rem;
  margin-top: 2rem;
  background: var(--wp--preset--color--white);
  border-radius: 1.6rem;
  transition: background 0.3s ease;
}
@media (min-width: 1441px) {
  .top-kv__banner-box {
    width: 27.7777777778vw;
    padding: 1.1111111111vw 0 1.1111111111vw 1.6666666667vw;
    margin-top: 1.3888888889vw;
  }
}
@media (max-width: 1232px) {
  .top-kv__banner-box {
    width: 34rem;
    padding: 1.2rem 0 1.2rem 2rem;
    margin-top: 1.7rem;
  }
}
@media (max-width: 991px) {
  .top-kv__banner-box {
    width: 28.5rem;
    padding: 1rem 0 1rem 1.6rem;
    margin-top: 1.4rem;
  }
}
@media (max-width: 574px) {
  .top-kv__banner-box {
    left: auto;
    width: 24rem;
    padding: 0.8rem 0 0.8rem 1.6rem;
    margin-top: 1rem;
    margin-right: 1.2rem;
    margin-left: auto;
    border-radius: 0.8rem;
  }
}
.top-kv__banner-inner {
  display: flex;
  flex-direction: row;
  gap: 1.6rem;
  align-items: center;
  width: 26.8rem;
  height: auto;
}
@media (min-width: 1441px) {
  .top-kv__banner-inner {
    gap: 1.1111111111vw;
    width: 18.6111111111vw;
  }
}
@media (max-width: 1232px) {
  .top-kv__banner-inner {
    gap: 1.2rem;
    width: 23.2rem;
  }
}
@media (max-width: 991px) {
  .top-kv__banner-inner {
    gap: 0.8rem;
    width: 19.4rem;
  }
}
@media (max-width: 574px) {
  .top-kv__banner-inner {
    gap: 1.2rem;
    width: 16.2rem;
  }
}
.top-kv__banner-text {
  display: flex;
  align-items: center;
  width: 21.6rem;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 2.4rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
  color: var(--wp--preset--color--secondary);
  word-break: break-all;
  transition: color 0.3s ease;
}
@media (min-width: 1441px) {
  .top-kv__banner-text {
    width: 15vw;
    font-size: 1.6666666667vw;
  }
}
@media (max-width: 1232px) {
  .top-kv__banner-text {
    width: 18.6rem;
    font-size: 2rem;
  }
}
@media (max-width: 991px) {
  .top-kv__banner-text {
    width: 15.6rem;
    font-size: 1.6rem;
  }
}
@media (max-width: 574px) {
  .top-kv__banner-text {
    width: 12.7rem;
    font-size: 1.4rem;
  }
}
.top-kv__banner .c-btn__arrow-wrap {
  flex-shrink: 0;
}
@media (max-width: 574px) {
  .top-kv__banner .c-btn__arrow-wrap {
    width: 2.4rem;
    height: 2rem;
  }
}
.top-kv__banner-ph {
  position: absolute;
  top: 0;
  right: 0;
  width: 11.4rem;
  height: 11.4rem;
  overflow: hidden;
  border: 0.2rem solid var(--wp--preset--color--white);
  border-radius: 2rem;
  transition: border 0.3s ease;
}
@media (min-width: 1441px) {
  .top-kv__banner-ph {
    top: 0;
    right: 0;
    width: 7.9166666667vw;
    height: 7.9166666667vw;
  }
}
@media (max-width: 1232px) {
  .top-kv__banner-ph {
    width: 9.8rem;
    height: 9.8rem;
  }
}
@media (max-width: 991px) {
  .top-kv__banner-ph {
    width: 8.4rem;
    height: 8.4rem;
  }
}
@media (max-width: 574px) {
  .top-kv__banner-ph {
    width: 6.4rem;
    height: 6.4rem;
    border-radius: 1rem;
  }
}
.top-kv__banner-ph img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@keyframes dotDrop {
  0% {
    opacity: 0;
    transform: translateY(var(--scroll-start, -7.2rem));
  }
  20% {
    opacity: 1;
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(var(--scroll-end, -0.8rem));
  }
}
@keyframes drawLine {
  0% {
    stroke-dashoffset: 101;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.top-about {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  height: auto;
  min-height: 78rem;
  padding: 12rem 0;
  overflow: hidden;
  background: var(--wp--preset--color--bg-primary);
  isolation: isolate;
}
@media (max-width: 1328px) {
  .top-about {
    height: auto;
    padding: 10rem 0;
  }
}
@media (max-width: 1232px) {
  .top-about {
    padding: 8rem 0;
  }
}
@media (max-width: 991px) {
  .top-about {
    padding: 6rem 0;
  }
}
@media (max-width: 768px) {
  .top-about {
    flex-direction: column;
    gap: 5.6rem;
    align-items: center;
    height: auto;
    padding: 6.4rem 3rem;
  }
}
.top-about__bg-circle {
  position: absolute;
  top: 6rem;
  left: calc(50% - 40rem);
  z-index: 0;
  width: 80rem;
  height: 80rem;
  background: linear-gradient(350deg, var(--wp--preset--color--bg-primary) 20%, color-mix(in srgb, var(--wp--preset--color--beige-light) 70%, transparent) 88.68%);
  filter: blur(2rem);
  border-radius: 99.9rem;
}
@media (max-width: 1232px) {
  .top-about__bg-circle {
    left: calc(50% - 35rem);
    width: 70rem;
    height: 70rem;
  }
}
@media (max-width: 991px) {
  .top-about__bg-circle {
    left: calc(50% - 30rem);
    width: 60rem;
    height: 60rem;
  }
}
@media (max-width: 768px) {
  .top-about__bg-circle {
    top: 22rem;
    left: calc(50% - 27rem + 0.05rem);
    width: 54rem;
    height: 54rem;
    border-radius: 35rem;
  }
}
.top-about__decor-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top-about__decor-svg--pc {
  visibility: visible;
  opacity: 1;
}
@media (max-width: 768px) {
  .top-about__decor-svg--pc {
    visibility: hidden;
    opacity: 0;
  }
}
.top-about__decor-svg--md {
  visibility: hidden;
  opacity: 0;
}
@media (max-width: 768px) {
  .top-about__decor-svg--md {
    visibility: visible;
    opacity: 1;
  }
}
.top-about__decor-svg svg {
  display: block;
  width: 100%;
  height: 100%;
}
.top-about__decor-svg svg path {
  stroke-dasharray: 100;
  stroke-dashoffset: 101;
  will-change: stroke-dashoffset;
}
.top-about__line-decor {
  position: absolute;
  top: 10rem;
  left: 0;
  z-index: 1;
  width: auto;
  height: 68.2rem;
  max-height: 85%;
  aspect-ratio: 269/682;
}
@media (max-width: 1439px) {
  .top-about__line-decor {
    top: min(9.7222222222vw, 15.5%);
  }
}
@media (max-width: 768px) {
  .top-about__line-decor {
    top: 11rem;
    width: 16.2rem;
    height: 39rem;
  }
}
.top-about__line-decor.is-active .top-about__decor-svg svg path {
  animation: drawAboutLine 4s ease-in-out forwards;
}
.top-about__leaf-decor {
  position: absolute;
  top: 56rem;
  right: 0;
  z-index: 5;
  width: 21.2rem;
  height: 22.4rem;
  pointer-events: none;
}
@media (max-width: 1439px) {
  .top-about__leaf-decor {
    top: auto;
    bottom: 8.95rem;
  }
}
@media (max-width: 768px) {
  .top-about__leaf-decor {
    right: 0;
    bottom: 9.831rem;
    width: 8.4rem;
    height: 8.9rem;
  }
}
.top-about__leaf-decor.is-active .top-about__leaf--large svg path, .top-about__line-decor.is-active ~ .top-about__leaf-decor .top-about__leaf--large svg path {
  animation: drawAboutLineReverse 4s ease-in-out forwards;
}
.top-about__leaf-decor.is-active .top-about__leaf--small svg path, .top-about__line-decor.is-active ~ .top-about__leaf-decor .top-about__leaf--small svg path {
  animation: drawAboutLine 3.5s ease-in-out 0.5s forwards;
}
.top-about__leaf {
  position: absolute;
}
.top-about__leaf svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.top-about__leaf svg path {
  stroke-dasharray: 100 200;
  stroke-dashoffset: 100;
  will-change: stroke-dashoffset;
}
.top-about__leaf-svg {
  display: contents;
}
.top-about__leaf-svg--md {
  display: none;
}
@media (max-width: 768px) {
  .top-about__leaf-svg--pc {
    display: none;
  }
  .top-about__leaf-svg--md {
    display: contents;
  }
}
.top-about__leaf--large {
  top: 0;
  right: 0;
  width: 20.6rem;
  height: 22.4rem;
}
@media (max-width: 768px) {
  .top-about__leaf--large {
    width: 8rem;
    height: 8.9rem;
  }
}
.top-about__leaf--large svg path {
  stroke-dashoffset: -100;
}
.top-about__leaf--small {
  top: 14rem;
  right: 8.547rem;
  width: 12.8rem;
  height: 7.2rem;
}
@media (max-width: 768px) {
  .top-about__leaf--small {
    top: 6rem;
    right: 2.8rem;
    width: 5.6rem;
    height: 2.86rem;
  }
}
.top-about__text-box {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 9.6rem;
  align-items: center;
  width: 40%;
  margin: 0 auto;
}
@media (max-width: 1232px) {
  .top-about__text-box {
    gap: 8rem;
    height: auto;
  }
}
@media (max-width: 991px) {
  .top-about__text-box {
    gap: 6.4rem;
  }
}
@media (max-width: 768px) {
  .top-about__text-box {
    gap: 5.6rem;
    order: 3;
    width: 100%;
    margin: 0 auto;
  }
}
.top-about__catch {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  align-items: center;
}
@media (max-width: 1232px) {
  .top-about__catch {
    gap: 3.6rem;
  }
}
@media (max-width: 768px) {
  .top-about__catch {
    gap: 2.4rem;
  }
}
.top-about__subtitle {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  align-items: center;
}
@media (max-width: 1232px) {
  .top-about__subtitle {
    width: auto;
  }
}
@media (max-width: 768px) {
  .top-about__subtitle {
    gap: 0.8rem;
  }
}
.top-about__subtitle-en {
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2rem;
  font-weight: 300;
  line-height: 100%;
  text-align: center;
  text-transform: uppercase;
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 22.22%, var(--wp--preset--color--green) 76.59%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .top-about__subtitle-en {
    height: auto;
    font-size: 1.6rem;
  }
}
.top-about__subtitle-line {
  box-sizing: border-box;
  width: 4.6rem;
  height: 0.2rem;
  background-color: var(--wp--preset--color--secondary);
  border-radius: 999rem;
}
@media (max-width: 768px) {
  .top-about__subtitle-line {
    width: 3rem;
  }
}
.top-about__subtitle-jp {
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 150%;
  color: var(--wp--preset--color--primary);
  text-align: center;
}
@media (max-width: 768px) {
  .top-about__subtitle-jp {
    width: auto;
    line-height: 180%;
  }
}
.top-about__heading {
  box-sizing: border-box;
  padding-top: 1rem;
  padding-bottom: 0.5rem;
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 150%;
  color: var(--wp--preset--color--primary);
  text-align: center;
  transform: matrix(1, -0.03, -0.12, 0.99, 0, 0);
}
@media (max-width: 1232px) {
  .top-about__heading {
    font-size: 2.8rem;
  }
}
@media (max-width: 768px) {
  .top-about__heading {
    padding-top: 0.2rem;
    font-size: 2.4rem;
  }
}
.top-about__desc {
  max-width: 50rem;
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 220%;
  color: var(--wp--preset--color--primary);
  text-align: center;
}
@media (max-width: 1232px) {
  .top-about__desc {
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .top-about__desc {
    align-self: stretch;
    font-size: 1.6rem;
  }
}
@media (max-width: 768px) {
  .top-about__desc .u-only-pc {
    display: none;
  }
}
.top-about__photo-wrapper {
  position: absolute;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 2rem;
  box-shadow: 0 0 2.4rem var(--wp--preset--color--beige-light);
}
@media (max-width: 768px) {
  .top-about__photo-wrapper {
    border-radius: 1rem;
    box-shadow: 0 0.8rem 2.4rem var(--wp--preset--color--beige-light);
  }
}
.top-about__photo-wrapper .top-about__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-about__photo-wrapper--right {
  top: 14rem;
  left: calc(50% + 32rem);
  z-index: 3;
  width: 32rem;
  height: 24rem;
}
@media (max-width: 1439px) {
  .top-about__photo-wrapper--right {
    right: 8rem;
    left: auto;
  }
}
@media (max-width: 1328px) {
  .top-about__photo-wrapper--right {
    top: 10rem;
    right: 6rem;
    width: 30rem;
    height: 22rem;
  }
}
@media (max-width: 1232px) {
  .top-about__photo-wrapper--right {
    top: 8rem;
    width: clamp(24rem, 7.56rem + 16.6vw, 28rem);
    height: clamp(18rem, 9.78rem + 8.3vw, 20rem);
  }
}
@media (max-width: 1150px) {
  .top-about__photo-wrapper--right {
    top: 6rem;
    right: 2rem;
    width: clamp(18rem, 26.9vw - 2.65rem, 24rem);
    height: clamp(16rem, 20vw, 20rem);
  }
}
@media (max-width: 768px) {
  .top-about__photo-wrapper--right {
    position: relative;
    top: 0;
    right: 0;
    order: 2;
    width: 18rem;
    height: 13.5rem;
    margin: 0 auto;
  }
}
@media (max-width: 574px) {
  .top-about__photo-wrapper--right {
    margin-right: 0;
    margin-left: auto;
  }
}
.top-about__photo-wrapper--left-top {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 28rem;
  height: 21rem;
}
@media (max-width: 1328px) {
  .top-about__photo-wrapper--left-top {
    width: 26.35rem;
    height: 19.69rem;
  }
}
@media (max-width: 1232px) {
  .top-about__photo-wrapper--left-top {
    width: 24.7rem;
    height: 18.38rem;
  }
}
@media (max-width: 1150px) {
  .top-about__photo-wrapper--left-top {
    width: clamp(19.41rem, 12.52rem + 8.97vw, 21.41rem);
    height: clamp(13.75rem, 6.86rem + 8.97vw, 15.75rem);
  }
}
@media (max-width: 768px) {
  .top-about__photo-wrapper--left-top {
    top: 0;
    left: calc(50% - 15.75rem);
    width: 16rem;
    height: 12rem;
  }
}
.top-about__photo-wrapper--left-bottom {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: 18rem;
  height: 13.5rem;
}
@media (max-width: 1328px) {
  .top-about__photo-wrapper--left-bottom {
    width: 16.94rem;
    height: 12.66rem;
  }
}
@media (max-width: 1232px) {
  .top-about__photo-wrapper--left-bottom {
    width: 15.88rem;
    height: 11.81rem;
  }
}
@media (max-width: 1150px) {
  .top-about__photo-wrapper--left-bottom {
    width: 13.76rem;
    height: 10.13rem;
  }
}
@media (max-width: 768px) {
  .top-about__photo-wrapper--left-bottom {
    top: 10.6rem;
    left: calc(50% - 4.35rem);
    width: 10rem;
    height: 7.5rem;
    border-radius: 1rem;
  }
}
.top-about__ph-box {
  position: absolute;
  right: calc(50% + 30rem);
  bottom: 8.25rem;
  z-index: 4;
  width: 34rem;
  height: 32rem;
}
@media (max-width: 1328px) {
  .top-about__ph-box {
    right: auto;
    bottom: 6.5rem;
    left: 6rem;
    width: 32rem;
    height: 30rem;
  }
}
@media (max-width: 1232px) {
  .top-about__ph-box {
    bottom: 4.25rem;
    left: 4rem;
    width: 30rem;
    height: 28rem;
  }
}
@media (max-width: 1150px) {
  .top-about__ph-box {
    bottom: 2.25rem;
    left: 2rem;
    width: clamp(24rem, 17.11rem + 8.97vw, 26rem);
    height: clamp(22rem, 15.11rem + 8.97vw, 24rem);
  }
}
@media (max-width: 768px) {
  .top-about__ph-box {
    position: relative;
    bottom: 0;
    left: 0;
    order: 4;
    width: 31.5rem;
    height: 18.1rem;
    margin: 0 auto;
  }
}

@keyframes drawAboutLine {
  0% {
    stroke-dashoffset: 100;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes drawAboutLineReverse {
  0% {
    stroke-dashoffset: -100;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes sweepLeaf {
  0% {
    clip-path: polygon(100% 100%, 100% 100%, 100% 100%);
  }
  100% {
    clip-path: polygon(100% -200%, 100% 100%, -200% 100%);
  }
}
.top-service {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  height: 87.9rem;
  padding: 12rem 0;
  overflow: hidden;
  background: var(--wp--preset--color--bg-primary);
}
@media (max-width: 1232px) {
  .top-service {
    height: auto;
    padding: 10rem 0;
  }
}
@media (max-width: 991px) {
  .top-service {
    padding: 8rem 0;
  }
}
@media (max-width: 768px) {
  .top-service {
    flex-direction: column;
    gap: 5.6rem;
    align-items: flex-start;
    height: auto;
    padding: 6.4rem 0;
  }
}
.top-service__container {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  gap: 8rem;
  width: 100%;
  margin: 0 auto;
}
@media (max-width: 1232px) {
  .top-service__container {
    gap: 4rem;
  }
}
@media (max-width: 768px) {
  .top-service__container {
    flex-direction: column;
    gap: 5.6rem;
    align-items: flex-start;
  }
}
.top-service__container .container {
  position: relative;
  display: flex;
  flex-direction: row;
  gap: 8rem;
  align-items: flex-start;
  padding: 0;
}
@media (min-width: 1441px) {
  .top-service__container .container {
    max-width: 126rem;
  }
}
@media (max-width: 1232px) {
  .top-service__container .container {
    gap: 4rem;
    padding-right: 3rem;
    padding-left: 3rem;
  }
}
@media (max-width: 768px) {
  .top-service__container .container {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
  }
}
.top-service__decor-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top-service__decor-svg svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.top-service__decor-svg svg path {
  stroke-dasharray: 100;
  stroke-dashoffset: 101;
  will-change: stroke-dashoffset;
}
.top-service__line-decor {
  position: absolute;
  top: 20.7rem;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 57.8rem;
  pointer-events: none;
}
@media (min-width: 1441px) {
  .top-service__line-decor {
    top: 2.6317708333vw;
    height: 40.15625vw;
  }
}
@media (max-width: 1232px) {
  .top-service__line-decor {
    left: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 1440/578;
  }
}
@media (max-width: 768px) {
  .top-service__line-decor {
    top: 3rem;
    left: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 375/128;
  }
}
.top-service__line-decor.is-active .top-service__decor-svg svg path {
  animation: drawServiceLine 6s ease-in-out forwards;
}
@media (max-width: 768px) {
  .top-service__line-decor.is-active .top-service__decor-svg svg path {
    animation: drawServiceLine 4s ease-in-out forwards;
  }
}
.top-service__line-decor .top-service__decor-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.top-service__text-box {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 9.6rem;
  align-items: flex-start;
  width: 50rem;
}
@media (max-width: 1232px) {
  .top-service__text-box {
    gap: 6rem;
    width: calc(45% - 2rem);
  }
}
@media (max-width: 768px) {
  .top-service__text-box {
    gap: 5.6rem;
    align-items: flex-start;
    order: 2;
    width: 100%;
  }
}
.top-service__catch {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
}
@media (max-width: 768px) {
  .top-service__catch {
    gap: 2.4rem;
    align-items: flex-start;
    margin-top: 5.6rem;
  }
}
.top-service__subtitle {
  display: flex;
  flex-direction: row;
  gap: 1.2rem;
  align-items: center;
}
.top-service__subtitle-en-wrap {
  display: flex;
  flex-direction: row;
  gap: 0.8rem;
  align-items: center;
}
.top-service__subtitle-line-h {
  width: 4.6rem;
  height: 0.2rem;
  background-color: var(--wp--preset--color--secondary);
  border-radius: 999rem;
}
@media (max-width: 768px) {
  .top-service__subtitle-line-h {
    width: 3rem;
  }
}
.top-service__subtitle-en {
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 22.22%, var(--wp--preset--color--green) 76.59%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .top-service__subtitle-en {
    font-size: 1.6rem;
    text-align: left;
  }
}
.top-service__subtitle-line-v {
  width: 0.1rem;
  height: 2rem;
  background-color: var(--wp--preset--color--primary);
}
@media (max-width: 768px) {
  .top-service__subtitle-line-v {
    width: 0.1rem;
  }
}
.top-service__subtitle-jp {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.813;
  color: var(--wp--preset--color--primary);
}
.top-service__heading {
  margin: 0;
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 1232px) {
  .top-service__heading {
    font-size: 2.8rem;
  }
}
@media (max-width: 768px) {
  .top-service__heading {
    font-size: 2.4rem;
    text-align: left;
  }
}
.top-service__desc {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 220%;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 1232px) {
  .top-service__desc {
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .top-service__desc {
    font-size: 1.6rem;
    text-align: left;
  }
}
@media (max-width: 768px) {
  .top-service .c-btn__container {
    gap: 0.4rem;
    align-self: center;
    justify-content: space-between;
  }
}
.top-service__slider {
  position: relative;
  top: 0;
  right: auto;
  flex-shrink: 0;
  width: 68rem;
  height: 63.9rem;
  touch-action: pan-y;
  user-select: none;
}
@media (max-width: 1232px) {
  .top-service__slider {
    width: calc(55% - 2rem);
    height: 50rem;
  }
}
@media (max-width: 768px) {
  .top-service__slider {
    position: relative;
    top: auto;
    right: auto;
    order: 1;
    width: 100%;
    height: 39.5rem;
    margin: 0;
  }
}
@media (max-width: 574px) {
  .top-service__slider {
    height: 36.2rem;
  }
}
.top-service__slider-inner {
  position: relative;
  width: 100%;
  height: 100%;
}
.top-service__slide {
  position: absolute;
  width: 28rem;
  height: 42rem;
  overflow: hidden;
  border-radius: 2rem;
  transition: all 0.5s ease;
}
@media (max-width: 1232px) {
  .top-service__slide {
    width: 20rem;
    height: 30rem;
  }
}
@media (max-width: 768px) {
  .top-service__slide {
    border-radius: 1rem;
  }
}
.top-service__slide .top-service__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-service__slide--1 {
  bottom: 1.5rem;
  left: 0;
  z-index: 4;
}
@media (max-width: 768px) {
  .top-service__slide--1 {
    top: 12.2rem;
    bottom: auto;
    left: 0;
    width: 16rem;
    height: 24rem;
  }
}
@media (max-width: 574px) {
  .top-service__slide--1 {
    width: 14rem;
    height: 21rem;
  }
}
.top-service__slide--2 {
  bottom: 15.3rem;
  left: 30.4rem;
  z-index: 3;
}
@media (max-width: 1232px) {
  .top-service__slide--2 {
    bottom: 8rem;
    left: 22rem;
  }
}
@media (max-width: 768px) {
  .top-service__slide--2 {
    top: 6.4rem;
    bottom: auto;
    left: 18.3rem;
    width: 16rem;
    height: 24rem;
  }
}
@media (max-width: 574px) {
  .top-service__slide--2 {
    left: 15.6rem;
    width: 14rem;
    height: 21rem;
  }
}
.top-service__slide--3 {
  bottom: 5.1rem;
  left: 60.8rem;
  z-index: 2;
}
@media (max-width: 1232px) {
  .top-service__slide--3 {
    bottom: 2.6rem;
    left: 44rem;
  }
}
@media (max-width: 768px) {
  .top-service__slide--3 {
    top: 11.2rem;
    bottom: auto;
    left: 36.6rem;
    width: 16rem;
    height: 24rem;
  }
}
@media (max-width: 574px) {
  .top-service__slide--3 {
    left: 31.2rem;
    width: 14rem;
    height: 21rem;
  }
}
.top-service__slide--4 {
  bottom: 13.9rem;
  left: 91.2rem;
  z-index: 1;
  transition: none;
}
@media (max-width: 1232px) {
  .top-service__slide--4 {
    bottom: 7.2rem;
    left: 66rem;
    transition: none;
  }
}
@media (max-width: 768px) {
  .top-service__slide--4 {
    top: 7.4rem;
    bottom: auto;
    left: 54.9rem;
    width: 16rem;
    height: 24rem;
    transition: none;
  }
}
@media (max-width: 574px) {
  .top-service__slide--4 {
    left: 46.8rem;
    width: 14rem;
    height: 21rem;
    transition: none;
  }
}
.top-service__slide.is-exiting-left {
  bottom: 13.9rem !important;
  left: -30.4rem !important;
  z-index: 4;
  opacity: 0;
  transition: all 0.5s ease !important;
}
@media (max-width: 1232px) {
  .top-service__slide.is-exiting-left {
    bottom: 7.2rem !important;
    left: -22rem !important;
  }
}
@media (max-width: 768px) {
  .top-service__slide.is-exiting-left {
    top: 7.4rem !important;
    bottom: auto !important;
    left: -18rem !important;
  }
}
.top-service__slide.is-exiting-right {
  left: 100% !important;
  z-index: 1;
  opacity: 0;
  transition: all 0.5s ease !important;
}
.top-service__slide.is-entering-left {
  bottom: 13.9rem !important;
  left: -30.4rem !important;
  z-index: 4;
  opacity: 0;
  transition: none !important;
}
@media (max-width: 1232px) {
  .top-service__slide.is-entering-left {
    bottom: 7.2rem !important;
    left: -22rem !important;
  }
}
@media (max-width: 768px) {
  .top-service__slide.is-entering-left {
    top: 7.4rem !important;
    bottom: auto !important;
    left: -18rem !important;
  }
}
.top-service__slide-nav {
  position: absolute;
  bottom: 59.453rem;
  left: 49.6rem;
  z-index: 10;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  gap: 1.6rem;
  align-items: center;
  justify-content: center;
  width: 9rem;
  height: 4rem;
  padding: 0.8rem 1.6rem;
  background: var(--wp--preset--color--white);
  border-radius: 1rem;
  box-shadow: 0 0 2rem var(--wp--preset--color--beige-light);
}
@media (max-width: 1232px) {
  .top-service__slide-nav {
    right: 3.2rem;
    bottom: auto;
    left: auto;
  }
}
@media (max-width: 768px) {
  .top-service__slide-nav {
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    gap: 2rem;
    width: 10.6rem;
    padding: 0.4rem 2rem;
    border-radius: 0.6rem;
  }
}
.top-service__nav-arrow {
  position: relative;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.2rem;
  height: 1.2rem;
  cursor: pointer;
}
.top-service__nav-arrow::after {
  position: absolute;
  top: -2rem;
  bottom: -2rem;
  width: 4rem;
  content: "";
}
.top-service__nav-arrow img {
  display: block;
  width: 1.2rem;
  height: auto;
  object-fit: contain;
}
.top-service__nav-arrow--prev::after {
  right: -1.6rem;
}
.top-service__nav-arrow--next img {
  transform: scaleX(-1);
}
.top-service__nav-arrow--next::after {
  left: -1.6rem;
}
.top-service__nav-line {
  display: block;
  width: 0.2rem;
  height: 2.4rem;
  background-color: var(--wp--preset--color--beige-light);
  border-radius: 999rem;
}
.top-service__dots {
  position: absolute;
  right: 9.6rem;
  bottom: 0.1rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  gap: 0.4rem;
  align-items: flex-start;
  width: 6rem;
  height: 0.6rem;
  padding: 0 1.2rem;
}
@media (max-width: 1232px) {
  .top-service__dots {
    right: 3.2rem;
    bottom: -1rem;
    left: auto;
    transform: none;
  }
}
@media (max-width: 768px) {
  .top-service__dots {
    top: 38.6rem;
    right: 0;
    bottom: auto;
    left: auto;
    width: 5.2rem;
    padding: 0 0.8rem;
    transform: none;
  }
}
@media (max-width: 574px) {
  .top-service__dots {
    top: 35.569rem;
  }
}
.top-service__dot {
  width: 0.6rem;
  height: 0.6rem;
  cursor: pointer;
  background: var(--wp--preset--color--silver);
  border-radius: 50%;
}
.top-service__dot--active {
  background: var(--wp--preset--color--secondary);
}

@keyframes drawServiceLine {
  0% {
    stroke-dashoffset: 101;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.top-environment {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  height: auto;
  padding: 4.8rem 0;
  margin: 0 auto;
  overflow-x: hidden;
  background: var(--wp--preset--color--bg-primary);
  isolation: isolate;
}
@media (max-width: 768px) {
  .top-environment {
    padding: 3.2rem 0;
  }
}
.top-environment__decor-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: auto;
}
.top-environment__decor-svg--pc {
  visibility: visible;
  opacity: 1;
}
@media (max-width: 768px) {
  .top-environment__decor-svg--pc {
    visibility: hidden;
    opacity: 0;
  }
}
.top-environment__decor-svg--md {
  visibility: hidden;
  opacity: 0;
}
@media (max-width: 768px) {
  .top-environment__decor-svg--md {
    visibility: visible;
    opacity: 1;
  }
}
.top-environment__decor-svg svg {
  display: block;
  width: 100%;
  height: 100%;
}
.top-environment__decor-svg svg path {
  stroke-dasharray: var(--length);
  stroke-dashoffset: var(--length);
  will-change: stroke-dashoffset;
}
.top-environment__decor-line {
  position: absolute;
  top: 42rem;
  right: 0;
  z-index: 1;
  width: 54.1666666667vw;
  aspect-ratio: 780/240;
}
@media (min-width: 1441px) {
  .top-environment__decor-line {
    width: 40.625vw;
  }
}
@media (max-width: 768px) {
  .top-environment__decor-line {
    top: auto;
    bottom: 12.8rem;
    width: 100%;
    aspect-ratio: 375/74;
  }
}
.top-environment__decor-line.is-active .top-environment__decor-svg svg path {
  animation: drawEnvLine 4s ease-in-out forwards;
}
.top-environment__decor-line-img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.top-environment__decor-leaf {
  position: absolute;
  top: 62.8rem;
  left: 0;
  z-index: 2;
  width: 23.6rem;
  height: 17.4rem;
}
@media (max-width: 1439px) {
  .top-environment__decor-leaf {
    top: 43.6111111111vw;
    width: 16.3888888889vw;
    height: 12.0833333333vw;
  }
}
@media (max-width: 768px) {
  .top-environment__decor-leaf {
    top: auto;
    bottom: 50%;
    left: 0;
    width: 6.7rem;
    height: 6rem;
  }
}
@media (max-width: 574px) {
  .top-environment__decor-leaf {
    top: auto;
    bottom: 64rem;
    left: 0;
    width: 6.7rem;
    height: 6rem;
  }
}
.top-environment__decor-leaf .top-environment__decor-svg svg path {
  stroke-dashoffset: var(--length);
}
.top-environment__decor-leaf.is-active .top-environment__decor-svg svg path {
  animation: drawTopEnvLeaf 4s ease-in-out forwards;
}
.top-environment__decor-leaf img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.top-environment__inner {
  box-sizing: border-box;
  width: 100%;
  padding: 12rem 0 9.6rem;
  background: linear-gradient(273.87deg, var(--wp--preset--color--bg-primary) 3.17%, color-mix(in srgb, var(--wp--preset--color--beige-light) 50%, transparent) 98.35%);
}
@media (max-width: 1232px) {
  .top-environment__inner {
    padding: 10rem 6rem 8rem;
  }
}
@media (max-width: 991px) {
  .top-environment__inner {
    padding: 8rem 4rem 6.4rem;
  }
}
@media (max-width: 768px) {
  .top-environment__inner {
    height: auto;
    padding: 6.4rem 0 5.6rem;
  }
}
.top-environment__container {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 0;
}
@media (max-width: 768px) {
  .top-environment__container {
    flex-direction: column;
    padding: 0 3rem;
  }
}
.top-environment__photo-container {
  position: absolute;
  width: 50rem;
  height: 50rem;
}
@media (max-width: 1232px) {
  .top-environment__photo-container {
    width: 40rem;
    height: 40rem;
  }
}
@media (max-width: 991px) {
  .top-environment__photo-container {
    width: clamp(28rem, 0.45rem + 35.87vw, 36rem);
    height: clamp(28rem, 0.45rem + 35.87vw, 36rem);
  }
}
@media (max-width: 768px) {
  .top-environment__photo-container {
    position: relative;
    top: auto;
    left: auto;
    z-index: 1;
    order: 2;
    width: 28rem;
    height: 28rem;
    margin: 0;
  }
}
.top-environment__photo-blur {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  width: 54.8rem;
  height: 54.8rem;
  pointer-events: none;
  border: 1px solid var(--wp--preset--color--beige-light);
  transform: translate(-50%, -50%);
  object-fit: cover;
  mask-image: linear-gradient(to right, transparent 0, black 4.8rem, black 50rem, transparent 54.8rem), linear-gradient(to bottom, transparent 0, black 4.8rem, black 50rem, transparent 54.8rem);
  mask-composite: intersect;
}
@media (max-width: 1232px) {
  .top-environment__photo-blur {
    width: 44rem;
    height: 44rem;
    mask-image: linear-gradient(to right, transparent 0, black 4rem, black 40rem, transparent 44rem), linear-gradient(to bottom, transparent 0, black 4rem, black 40rem, transparent 44rem);
  }
}
@media (max-width: 991px) {
  .top-environment__photo-blur {
    width: clamp(30.688rem, -1.38rem + 41.75vw, 40rem);
    height: clamp(30.688rem, -1.38rem + 41.75vw, 40rem);
    mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%), linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%);
  }
}
@media (max-width: 768px) {
  .top-environment__photo-blur {
    width: 30.688rem;
    height: 30.688rem;
  }
}
.top-environment__content {
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 8rem;
  align-items: flex-end;
  width: 100%;
  min-width: 48rem;
  max-width: 64rem;
  height: 100%;
  padding: 0;
  margin-left: auto;
}
@media (max-width: 1232px) {
  .top-environment__content {
    gap: 6.4rem;
    max-width: 100%;
  }
}
@media (max-width: 991px) {
  .top-environment__content {
    gap: 5rem;
    max-width: 56rem;
  }
}
@media (max-width: 768px) {
  .top-environment__content {
    display: contents;
  }
}
.top-environment__catch {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  align-items: flex-start;
  width: 100%;
  max-width: 50rem;
  height: auto;
  padding: 0;
}
@media (max-width: 1232px) {
  .top-environment__catch {
    max-width: clamp(40rem, 23.45rem + 21.55vw, 50rem);
  }
}
@media (max-width: 991px) {
  .top-environment__catch {
    gap: 2.4rem;
  }
}
@media (max-width: 768px) {
  .top-environment__catch {
    position: relative;
    z-index: 2;
    gap: 2.4rem;
    order: 1;
    width: 100%;
    min-width: 31.5rem;
    max-width: none;
    height: auto;
    margin-bottom: 5.6rem;
  }
}
.top-environment__subtitle {
  display: flex;
  flex-direction: row;
  gap: 1.2rem;
  align-items: center;
  width: 100%;
  height: 2.9rem;
  padding: 0;
}
@media (max-width: 768px) {
  .top-environment__subtitle {
    gap: 1.2rem;
    width: 100%;
    height: 2.9rem;
  }
}
.top-environment__en-wrap {
  display: flex;
  flex-direction: row;
  gap: 0.8rem;
  align-items: center;
  padding: 0;
}
@media (max-width: 768px) {
  .top-environment__en-wrap {
    gap: 0.8rem;
  }
}
.top-environment__line-vector {
  width: 4.6rem;
  height: 0.2rem;
  background-color: var(--wp--preset--color--secondary);
  border-radius: 999rem;
}
@media (max-width: 768px) {
  .top-environment__line-vector {
    width: 8vw;
  }
}
.top-environment__en-text {
  display: block;
  align-items: flex-start;
  width: auto;
  height: 2rem;
  padding: 0;
  margin: 0;
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2rem;
  font-weight: 300;
  line-height: 100%;
  text-align: center;
  text-transform: uppercase;
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 22.22%, var(--wp--preset--color--green) 76.59%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 991px) {
  .top-environment__en-text {
    height: 1.6rem;
    font-size: 1.6rem;
  }
}
@media (max-width: 768px) {
  .top-environment__en-text {
    height: 1.6rem;
    font-size: 1.6rem;
  }
}
.top-environment__separator-vector {
  width: 0;
  height: 2rem;
  border-left: 0.1rem solid var(--wp--preset--color--primary);
}
@media (max-width: 991px) {
  .top-environment__separator-vector {
    height: 1.6rem;
  }
}
@media (max-width: 768px) {
  .top-environment__separator-vector {
    height: 2rem;
    border-left-width: 0.1rem;
  }
}
.top-environment__jp-text {
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 180%;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 991px) {
  .top-environment__jp-text {
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .top-environment__jp-text {
    font-size: 1.6rem;
  }
}
.top-environment__title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  max-width: 50rem;
  height: auto;
  padding: 0;
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 3.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--primary);
  word-break: break-word;
  overflow-wrap: break-word;
}
@media (max-width: 1232px) {
  .top-environment__title {
    font-size: 2.8rem;
  }
}
@media (max-width: 768px) {
  .top-environment__title {
    max-width: 100%;
    font-size: 2.4rem;
  }
}
.top-environment__desc {
  width: 100%;
  max-width: 50rem;
  height: auto;
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 180%;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 991px) {
  .top-environment__desc {
    height: auto;
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .top-environment__desc {
    max-width: 100%;
    height: auto;
    font-size: 1.6rem;
  }
}
.top-environment__merit-box {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 2.3rem;
  align-items: flex-start;
  width: 100%;
  max-width: 64rem;
  height: auto;
  padding: 3.2rem 4rem;
  background: var(--wp--preset--color--white);
  border-radius: 1.6rem;
  box-shadow: 0 0 2rem var(--wp--preset--color--beige-light);
}
@media (max-width: 991px) {
  .top-environment__merit-box {
    gap: 1.6rem;
    padding: 2.4rem 3.2rem;
  }
}
@media (max-width: 768px) {
  .top-environment__merit-box {
    z-index: 3;
    gap: 2.3rem;
    align-self: flex-end;
    order: 3;
    width: calc(100% - 1.5rem);
    padding: 3.2rem 2.4rem;
    margin-top: -6.3rem;
    border-radius: 1.6rem;
    box-shadow: 0 0 2rem var(--wp--preset--color--beige-light);
  }
}
.top-environment__cassette {
  width: 100%;
  max-width: 56rem;
  background: transparent;
  transition: background-color 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .top-environment__cassette:hover .c-btn__line {
    transform: translateX(0.2rem) translateY(-50%);
  }
}
@media (max-width: 991px) {
  .top-environment__cassette {
    max-width: 100%;
    height: auto;
  }
}
@media (max-width: 768px) {
  .top-environment__cassette {
    gap: 1.6rem;
    max-width: 100%;
    height: auto;
  }
}
.top-environment__cassette-link {
  display: flex;
  flex-direction: row;
  gap: 1.6rem;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
@media (max-width: 768px) {
  .top-environment__cassette-link {
    flex-wrap: wrap;
    gap: 1.6rem;
    align-items: flex-start;
  }
}
.top-environment__cassette-txt {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  padding: 0;
}
@media (max-width: 768px) {
  .top-environment__cassette-txt {
    display: contents;
    gap: 0.4rem;
  }
}
.top-environment__cassette-title {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 2rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--secondary);
}
@media (max-width: 991px) {
  .top-environment__cassette-title {
    font-size: 1.6rem;
  }
}
@media (max-width: 768px) {
  .top-environment__cassette-title {
    flex: 1;
    order: 1;
    font-size: 1.6rem;
  }
}
.top-environment__cassette-desc {
  width: 100%;
  margin: 0.4rem 0 -0.4rem;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 300;
  line-height: 1.8;
  color: var(--wp--preset--color--primary);
  word-break: break-all;
}
@media (max-width: 991px) {
  .top-environment__cassette-desc {
    font-size: 1.2rem;
  }
}
@media (max-width: 768px) {
  .top-environment__cassette-desc {
    order: 3;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1.4rem;
    line-height: 1.79;
  }
}
.top-environment .c-btn__arrow-wrap {
  position: relative;
  flex-shrink: 0;
  width: 3.6rem;
  height: 3rem;
}
@media (max-width: 991px) {
  .top-environment .c-btn__arrow-wrap {
    width: 3rem;
    height: 2.4rem;
  }
}
@media (max-width: 768px) {
  .top-environment .c-btn__arrow-wrap {
    order: 2;
    width: 3rem;
    height: 2.4rem;
  }
}
.top-environment__divider {
  display: block;
  width: 100%;
  max-width: 56rem;
  height: 0.2rem;
  background-color: var(--wp--preset--color--beige-light);
  border-radius: 999rem;
}
@media (max-width: 991px) {
  .top-environment__divider {
    max-width: 100%;
  }
}

@keyframes drawEnvLine {
  0% {
    stroke-dashoffset: var(--length);
  }
  100% {
    stroke-dashoffset: calc(var(--length) * 2);
  }
}
@keyframes drawTopEnvLeaf {
  0% {
    stroke-dashoffset: var(--length);
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.about-concept {
  position: relative;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 64.5rem;
  padding: 16rem 0;
  overflow: hidden;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  color: var(--wp--preset--color--primary);
  background: var(--wp--preset--color--bg-primary);
  isolation: isolate;
}
@media (max-width: 768px) {
  .about-concept {
    padding: 10.4rem 0 9.6rem;
  }
}
.about-concept__bg {
  position: absolute;
  top: calc(50% - 21rem + 0.75rem);
  left: calc(50% - 72rem + 18rem);
  z-index: 0;
  width: 64.9rem;
  height: 42rem;
  pointer-events: none;
}
@media (max-width: 768px) {
  .about-concept__bg {
    top: 6.5rem;
    left: 2.6rem;
    width: 32.4rem;
    height: 24.8rem;
  }
}
.about-concept__bg-circle1 {
  position: absolute;
  top: 8rem;
  left: 30.9rem;
  width: 34rem;
  height: 34rem;
  background: linear-gradient(309.31deg, color-mix(in srgb, var(--wp--preset--color--beige-light) 50%, transparent) 15.61%, var(--wp--preset--color--bg-primary) 88.68%);
  filter: blur(1rem);
  border-radius: 50%;
}
@media (max-width: 768px) {
  .about-concept__bg-circle1 {
    top: 6.8rem;
    left: 15.4rem;
    width: 18rem;
    height: 18rem;
    filter: blur(0.6rem);
  }
}
.about-concept__bg-circle2 {
  position: absolute;
  top: calc(50% - 20rem - 1rem);
  left: 0;
  box-sizing: border-box;
  width: 40rem;
  height: 40rem;
  background-image: linear-gradient(var(--wp--preset--color--bg-primary), var(--wp--preset--color--bg-primary)), radial-gradient(ellipse at 0% 0%, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--green) 40%, var(--wp--preset--color--bg-primary) 80%);
  filter: blur(4rem);
  background-clip: padding-box, border-box;
  background-origin: padding-box, border-box;
  border: 1.8rem solid transparent;
  border-radius: 50%;
}
@media (max-width: 768px) {
  .about-concept__bg-circle2 {
    top: -0.9rem;
    left: 0;
    width: 22rem;
    height: 22rem;
    filter: blur(2rem);
    border: 1rem solid transparent;
  }
}
.about-concept__line {
  position: absolute;
  top: calc(50% - 28.55rem - 2.1rem);
  left: calc(50% - 72rem);
  z-index: 1;
  width: 144rem;
  height: 57.1rem;
  pointer-events: none;
}
@media (min-width: 1441px) {
  .about-concept__line {
    left: 50%;
    width: 100vw;
    height: 29.7395833333vw;
    transform: translateX(-50%);
  }
}
@media (max-width: 768px) {
  .about-concept__line {
    top: auto;
    bottom: 5.492rem;
    left: 0;
    width: 100%;
    height: 15.6rem;
    transform: none;
  }
}
.about-concept__line--xl {
  display: none;
  width: 100%;
  height: 100%;
}
@media (min-width: 1441px) {
  .about-concept__line--xl {
    display: block;
  }
}
.about-concept__line--pc {
  display: block;
  width: 100%;
  height: 100%;
}
@media (min-width: 1441px) {
  .about-concept__line--pc {
    display: none;
  }
}
@media (max-width: 768px) {
  .about-concept__line--pc {
    display: none;
  }
}
.about-concept__line--md {
  display: none;
}
@media (max-width: 768px) {
  .about-concept__line--md {
    display: block;
    width: 100%;
    height: 100%;
  }
}
.about-concept__line svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.about-concept__line svg path {
  stroke-dasharray: 100;
  stroke-dashoffset: 101;
  will-change: stroke-dashoffset;
}
.about-concept__line.is-active svg path {
  animation: drawConceptLine 4s ease-in-out forwards;
}
.about-concept__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9.6rem;
  align-items: center;
  width: 100%;
  max-width: 108rem;
  padding: 0 3rem !important;
}
@media (max-width: 991px) {
  .about-concept__inner {
    gap: 5rem;
  }
}
@media (max-width: 768px) {
  .about-concept__inner {
    grid-template-columns: 1fr;
    gap: 5.6rem;
    padding: 0 3.2rem;
  }
}
.about-concept__heading {
  z-index: 2;
  display: flex;
  flex: none;
  align-items: center;
  width: 100%;
  height: 14.4rem;
  padding-left: 1rem;
}
@media (max-width: 768px) {
  .about-concept__heading {
    width: 100%;
    height: auto;
    padding: 0 0.8rem;
    transform: translateY(-0.5rem);
  }
}
.about-concept__heading-main {
  margin: 0;
  font-size: 4.8rem;
  font-weight: 400;
  line-height: 1.5;
  transform: matrix(1, -0.03, -0.11, 0.99, 0, 0);
}
@media (max-width: 991px) {
  .about-concept__heading-main {
    font-size: 4.2rem;
  }
}
@media (max-width: 843px) {
  .about-concept__heading-main {
    font-size: 3.9rem;
  }
}
@media (max-width: 768px) {
  .about-concept__heading-main {
    margin-left: 0.5rem;
    font-size: 3.6rem;
  }
}
.about-concept__content {
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  align-items: flex-start;
  width: 100%;
  min-height: 32.5rem;
  padding-left: 0.6rem;
}
@media (max-width: 768px) {
  .about-concept__content {
    gap: 4rem;
    width: 100%;
    height: auto;
    min-height: auto;
    padding-left: 0;
  }
}
.about-concept__subtitle {
  display: flex;
  flex-direction: row;
  gap: 1.2rem;
  align-items: center;
  height: 2.9rem;
}
@media (max-width: 768px) {
  .about-concept__subtitle {
    gap: 1.6rem;
  }
}
.about-concept__subtitle-en-wrap {
  display: flex;
  flex-direction: row;
  gap: 0.8rem;
  align-items: center;
  height: 100%;
  letter-spacing: 0.08em;
}
.about-concept__subtitle-line {
  width: 4.6rem;
  height: 0.2rem;
  line-height: 3rem;
  background-color: var(--wp--preset--color--secondary);
  border-radius: 0.2rem;
}
@media (max-width: 768px) {
  .about-concept__subtitle-line {
    width: 3rem;
  }
}
.about-concept__subtitle-en {
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  color: transparent;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0;
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 22.22%, var(--wp--preset--color--green) 76.59%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .about-concept__subtitle-en {
    font-size: 1.6rem;
  }
}
.about-concept__subtitle-separator {
  width: 0.1rem;
  height: 2.1rem;
  background-color: currentcolor;
}
@media (max-width: 768px) {
  .about-concept__subtitle-separator {
    width: 0.1rem;
    height: 2rem;
  }
}
.about-concept__subtitle-jp {
  height: 3rem;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 180%;
}
.about-concept__text {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 2.9rem;
}
@media (max-width: 768px) {
  .about-concept__text {
    text-align: left;
  }
}

@keyframes drawConceptLine {
  0% {
    stroke-dashoffset: 101;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.about-culture {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 4.8rem 0;
  margin: 0 auto;
  overflow: hidden;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  color: var(--wp--preset--color--primary);
  background: var(--wp--preset--color--bg-primary);
  isolation: isolate;
}
@media (max-width: 768px) {
  .about-culture {
    height: auto;
    padding: 4rem 0 3.2rem;
  }
}
.about-culture__wrapper {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 130.4rem;
  padding: 0 3.2rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .about-culture__wrapper {
    padding: 0 1.95rem;
  }
}
.about-culture__inner {
  position: relative;
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  padding: 0;
  overflow: hidden;
  background: transparent;
  isolation: isolate;
  border-radius: 2rem;
}
@media (max-width: 1232px) {
  .about-culture__inner {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 768px) {
  .about-culture__inner {
    display: block;
    width: 100%;
    height: auto;
    padding: 3.2rem 1.85rem;
    margin: 0;
    overflow: visible;
    background: transparent;
    border-radius: 2rem;
  }
}
.about-culture__bg-ellipse {
  position: absolute;
  top: calc(50% - 90rem);
  left: calc(50% - 90rem);
  z-index: 0;
  width: 180rem;
  height: 180rem;
  pointer-events: none;
  background: conic-gradient(from 48.66deg at 53.85% 53.42%, var(--wp--preset--color--green) 0deg, var(--wp--preset--color--green) 109.04deg, var(--wp--preset--color--secondary) 111.6deg, var(--wp--preset--color--secondary) 285.54deg, var(--wp--preset--color--beige-light) 288deg, var(--wp--preset--color--beige-light) 360deg);
  filter: blur(30rem);
  border-radius: 2rem;
  opacity: 0.15;
}
@media (max-width: 768px) {
  .about-culture__bg-ellipse {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: var(--wp--preset--color--bg-primary);
    filter: none;
    border-radius: 2rem;
    transform: translateZ(0);
    mask-image: radial-gradient(white, black);
  }
  .about-culture__bg-ellipse::before {
    position: absolute;
    top: calc(50% - 50.9rem + 0.92rem);
    left: calc(50% - 60rem + 34.86rem);
    width: 120rem;
    height: 101.8rem;
    content: "";
    background: conic-gradient(from 48.66deg at 53.85% 53.42%, var(--wp--preset--color--green) 0deg, var(--wp--preset--color--green) 109.04deg, var(--wp--preset--color--secondary) 111.6deg, var(--wp--preset--color--secondary) 285.54deg, var(--wp--preset--color--beige-light) 288deg, var(--wp--preset--color--beige-light) 360deg);
    filter: blur(30rem);
    border-radius: 2rem;
  }
}
.about-culture__container {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  display: grid;
  grid-template-areas: "image catchphrase subtitle" "text catchphrase subtitle";
  grid-template-columns: minmax(0, 74.1rem) max-content max-content;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  height: auto;
  padding: 10rem 12rem;
}
@media (max-width: 1232px) {
  .about-culture__container {
    grid-template-columns: minmax(0, 1fr) max-content max-content;
    padding: 6rem 4rem;
  }
}
@media (max-width: 768px) {
  .about-culture__container {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    justify-content: flex-start;
    width: 100%;
    min-width: 25.4rem;
    padding: 0;
    margin: 0;
  }
}
.about-culture__image {
  position: relative;
  z-index: 10;
  grid-area: image;
  width: 100%;
  height: auto;
  overflow: hidden;
  background: transparent;
}
@media (max-width: 768px) {
  .about-culture__image {
    z-index: 2;
    padding: 0 4.4rem 0 0;
    margin-bottom: 0;
    box-shadow: none;
  }
}
.about-culture__image picture {
  display: block;
  width: 100%;
  height: 100%;
}
.about-culture__image img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  border-radius: 2rem;
  object-fit: cover;
}
@media (max-width: 768px) {
  .about-culture__image img {
    aspect-ratio: 254/200;
    border-radius: 1rem;
  }
}
.about-culture__catchphrase {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  grid-area: catchphrase;
  margin-top: 0.5rem;
  margin-left: 8rem;
  letter-spacing: 0.45em;
  writing-mode: vertical-rl;
}
@media (max-width: 1232px) {
  .about-culture__catchphrase {
    margin-left: 4rem;
  }
}
@media (max-width: 768px) {
  .about-culture__catchphrase {
    gap: 0;
    padding: 0 0.8rem;
    margin-top: 0;
    margin-left: 0;
    letter-spacing: normal;
    writing-mode: horizontal-tb;
  }
}
.about-culture__catchphrase-line1, .about-culture__catchphrase-line2 {
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 4.3rem;
  white-space: nowrap;
}
@media (max-width: 991px) {
  .about-culture__catchphrase-line1, .about-culture__catchphrase-line2 {
    font-size: 2.8rem;
    line-height: 3.4rem;
  }
}
@media (max-width: 768px) {
  .about-culture__catchphrase-line1, .about-culture__catchphrase-line2 {
    font-size: 2.4rem;
    font-feature-settings: normal;
    line-height: 1.5;
    text-align: left;
    white-space: normal;
  }
}
.about-culture__catchphrase-line2 {
  margin-top: 5em;
}
@media (max-width: 768px) {
  .about-culture__catchphrase-line2 {
    margin-top: 0;
  }
}
.about-culture__text {
  position: relative;
  z-index: 11;
  grid-area: text;
  padding: 0 4rem;
  margin-top: 4.8rem;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
  background: transparent;
}
@media (max-width: 768px) {
  .about-culture__text {
    width: 100%;
    padding: 0 0.8rem;
    margin-top: 0;
    margin-left: 0;
  }
}
.about-culture__subtitle {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  grid-area: subtitle;
  gap: 1.2rem;
  align-items: center;
  margin-left: 4rem;
}
@media (max-width: 1232px) {
  .about-culture__subtitle {
    margin-left: 2.4rem;
  }
}
@media (max-width: 768px) {
  .about-culture__subtitle {
    position: absolute;
    top: -4.3rem;
    right: 0;
    z-index: 15;
    gap: 0.8rem;
    margin-left: 0;
  }
}
.about-culture__subtitle-en-wrap {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 0.8rem;
  align-items: center;
}
@media (max-width: 768px) {
  .about-culture__subtitle-en-wrap {
    gap: 0.8rem;
  }
}
.about-culture__subtitle-line {
  flex-shrink: 0;
  width: 0.2rem;
  height: 4.6rem;
  background-color: var(--wp--preset--color--secondary);
  border-radius: 999rem;
}
@media (max-width: 768px) {
  .about-culture__subtitle-line {
    height: 3rem;
    transform: none;
  }
}
.about-culture__subtitle-en {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 9.5rem;
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  color: transparent;
  text-align: center;
  text-transform: uppercase;
  background: linear-gradient(var(--wp--preset--color--secondary) 22.22%, var(--wp--preset--color--green) 76.59%);
  background-clip: text;
  writing-mode: vertical-rl;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .about-culture__subtitle-en {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 7.6rem;
    font-size: 1.6rem;
    line-height: 1;
    writing-mode: vertical-rl;
    transform: none;
  }
}
.about-culture__subtitle-separator {
  flex-shrink: 0;
  width: 2rem;
  height: 0.1rem;
  background-color: currentcolor;
}
@media (max-width: 768px) {
  .about-culture__subtitle-separator {
    width: 2rem;
    height: 0.1rem;
    transform: none;
  }
}
.about-culture__subtitle-jp {
  flex-shrink: 0;
  width: 1.7rem;
  height: 3.8rem;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.9rem;
  letter-spacing: 0.2em;
  white-space: nowrap;
  writing-mode: vertical-rl;
}
@media (max-width: 768px) {
  .about-culture__subtitle-jp {
    display: block;
    width: 1.7rem;
    height: 3.8rem;
    font-size: 1.6rem;
    line-height: 1.2;
    text-align: center;
    letter-spacing: 0;
    word-break: break-all;
  }
}

.about-message {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 75.9rem;
  padding: 12rem 0;
  overflow: hidden;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  color: var(--wp--preset--color--primary);
  background: var(--wp--preset--color--bg-primary);
  isolation: isolate;
}
@media (max-width: 991px) {
  .about-message {
    padding: 8rem 0;
  }
}
@media (max-width: 768px) {
  .about-message {
    padding: 6.4rem 0;
  }
}
.about-message__bg-accent {
  position: absolute;
  top: 10rem;
  right: 0;
  z-index: 0;
  width: 52rem;
  height: 42rem;
  pointer-events: none;
  background: linear-gradient(270deg, color-mix(in srgb, var(--wp--preset--color--beige-light) 50%, transparent) 0%, var(--wp--preset--color--bg-primary) 100%);
  border-radius: 0;
}
@media (max-width: 991px) {
  .about-message__bg-accent {
    top: 8rem;
    width: 40rem;
    height: 35rem;
  }
}
@media (max-width: 768px) {
  .about-message__bg-accent {
    top: auto;
    bottom: 10.2rem;
    width: 100%;
    height: 24rem;
  }
}
.about-message__line {
  position: absolute;
  top: auto;
  bottom: 0;
  left: 50%;
  z-index: 5;
  width: 100%;
  max-width: 1440px;
  height: auto;
  aspect-ratio: 1440/759;
  pointer-events: none;
  transform: translateX(-50%);
}
@media (max-width: 768px) {
  .about-message__line {
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: auto;
    aspect-ratio: 375/167;
    transform: none;
  }
}
.about-message__line--pc {
  display: block;
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .about-message__line--pc {
    display: none;
  }
}
.about-message__line--md {
  display: none;
}
@media (max-width: 768px) {
  .about-message__line--md {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
  }
}
.about-message__line svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.about-message__line svg path {
  stroke-dasharray: var(--length);
  stroke-dashoffset: var(--length);
  will-change: stroke-dashoffset;
  transform: translateZ(0);
}
.about-message__line.is-active svg path {
  animation: drawMessageLine 4.5s ease-in-out forwards;
}
.about-message__inner {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  align-items: flex-start;
  width: 100%;
  max-width: 111rem;
  padding: 0 2.5rem 0 3rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .about-message__inner {
    gap: 2.4rem;
    padding: 0 3rem;
  }
}
.about-message__subtitle {
  display: flex;
  flex-direction: row;
  gap: 1.2rem;
  align-items: center;
  height: 2.9rem;
  margin-left: 1rem;
}
@media (max-width: 768px) {
  .about-message__subtitle {
    gap: 1.6rem;
    margin-left: 0;
  }
}
.about-message__subtitle-en-wrap {
  display: flex;
  flex-direction: row;
  gap: 0.8rem;
  align-items: center;
  height: 100%;
}
.about-message__subtitle-line {
  box-sizing: border-box;
  width: 4.6rem;
  height: 0.2rem;
  background-color: var(--wp--preset--color--secondary);
  border-radius: 999rem;
}
@media (max-width: 768px) {
  .about-message__subtitle-line {
    width: 3rem;
  }
}
.about-message__subtitle-en {
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  color: transparent;
  text-align: center;
  text-transform: uppercase;
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 22.22%, var(--wp--preset--color--green) 76.59%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .about-message__subtitle-en {
    font-size: 1.6rem;
    letter-spacing: 0;
  }
}
.about-message__subtitle-separator {
  width: 0.1rem;
  height: 2rem;
  background-color: currentcolor;
}
@media (max-width: 768px) {
  .about-message__subtitle-separator {
    width: 0.1rem;
  }
}
.about-message__subtitle-jp {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 2.9rem;
}
.about-message__contents {
  display: flex;
  flex-direction: row;
  gap: 9.6rem;
  align-items: stretch;
  width: 100%;
  margin-left: 1rem;
}
@media (max-width: 991px) {
  .about-message__contents {
    gap: 5rem;
  }
}
@media (max-width: 768px) {
  .about-message__contents {
    flex-direction: column;
    gap: 5.6rem;
    margin-left: 0;
  }
}
.about-message__txt-box {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 4rem;
  align-items: flex-start;
  width: 50rem;
}
@media (max-width: 991px) {
  .about-message__txt-box {
    flex-shrink: 1;
    width: 50%;
  }
}
@media (max-width: 768px) {
  .about-message__txt-box {
    gap: 2.4rem;
    width: 100%;
  }
}
.about-message__headline {
  margin: 0;
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 991px) {
  .about-message__headline {
    font-size: 3rem;
  }
}
@media (max-width: 768px) {
  .about-message__headline {
    font-size: 2.4rem;
    line-height: 1.5;
    text-align: left;
  }
}
.about-message__txt {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: 4rem;
  align-items: flex-start;
  width: 100%;
}
@media (max-width: 768px) {
  .about-message__txt {
    gap: 2.4rem;
  }
}
.about-message__desc {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 2.9rem;
}
.about-message__signature {
  display: flex;
  flex-direction: row;
  gap: 1.6rem;
  align-items: baseline;
  justify-content: flex-end;
  width: 100%;
  margin-top: auto;
}
.about-message__signature-name {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .about-message__signature-name {
    font-size: 1.6rem;
  }
}
.about-message__signature-name span {
  position: relative;
  left: 0.4rem;
  font-size: 1.6rem;
  font-weight: 300;
}
@media (max-width: 768px) {
  .about-message__signature-name span {
    left: 0;
  }
}
.about-message__ph {
  position: relative;
  flex-shrink: 0;
  width: 45rem;
  height: 45rem;
}
@media (max-width: 1232px) {
  .about-message__ph {
    flex-shrink: 1;
    width: 40rem;
    height: auto;
    aspect-ratio: 1/1;
  }
}
@media (max-width: 768px) {
  .about-message__ph {
    width: 24rem;
    height: 24rem;
    aspect-ratio: 1/1;
    margin: 0 auto;
  }
}
.about-message__ph-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 2rem;
  box-shadow: 0 0 2rem 0.6rem var(--wp--preset--color--beige-light);
}
@media (max-width: 768px) {
  .about-message__ph-img {
    top: 0.3rem;
    border-radius: 1rem;
  }
}
.about-message__ph-img picture {
  display: block;
  width: 100%;
  height: 100%;
}
.about-message__ph-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@keyframes drawMessageLine {
  0% {
    stroke-dashoffset: var(--length);
  }
  100% {
    stroke-dashoffset: calc(var(--length) * 2);
  }
}
.about-swiper-head__inner {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 6.4rem 0;
  gap: 4rem;
  background: var(--wp--preset--color--bg-primary);
}
@media (max-width: 768px) {
  .about-swiper-head__inner {
    padding: 4rem 0;
    gap: 2rem;
  }
}
.about-swiper-head .about-gallery-swiper {
  overflow: hidden;
  width: 100%;
}
.about-swiper-head .about-gallery-swiper .swiper-wrapper {
  height: 34rem;
  align-items: flex-start;
  transition-timing-function: linear !important;
}
@media (max-width: 768px) {
  .about-swiper-head .about-gallery-swiper .swiper-wrapper {
    height: 20.5rem;
  }
}
.about-swiper-head .about-gallery-swiper .swiper-slide {
  width: 40rem;
  height: 30rem;
  border-radius: 2rem;
  flex-shrink: 0;
  overflow: hidden;
}
.about-swiper-head .about-gallery-swiper .swiper-slide.is-down {
  margin-top: 4rem;
}
@media (max-width: 768px) {
  .about-swiper-head .about-gallery-swiper .swiper-slide.is-down {
    margin-top: 2rem;
  }
}
@media (max-width: 768px) {
  .about-swiper-head .about-gallery-swiper .swiper-slide {
    width: 24rem;
    height: 18rem;
    border-radius: 1rem;
  }
}
.about-swiper-head .about-gallery-swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.3s ease;
}

.c-service-works {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 9.6rem 0 12rem;
  overflow: hidden;
  background: var(--wp--preset--color--bg-primary);
  isolation: isolate;
}
@media (max-width: 768px) {
  .c-service-works {
    padding: 5.6rem 0 6.4rem;
  }
}
.c-service-works__line-top {
  position: absolute;
  top: 9.6rem;
  left: 0;
  z-index: 0;
  width: 100%;
  height: auto;
  pointer-events: none;
}
@media (max-width: 768px) {
  .c-service-works__line-top {
    top: 7.7rem;
    height: auto;
  }
}
.c-service-works__line-top svg path {
  stroke-dasharray: 100;
  stroke-dashoffset: 101;
  will-change: stroke-dashoffset;
}
.c-service-works__line-top.is-active svg path {
  animation: drawLine 4s ease-in-out forwards;
  animation-delay: 0.5s;
}
.c-service-works__line-top--xl {
  display: none;
  width: 100%;
  height: auto;
  aspect-ratio: 1920/268;
}
@media (min-width: 1441px) {
  .c-service-works__line-top--xl {
    display: block;
  }
}
.c-service-works__line-top--xl svg {
  display: block;
  width: 100%;
  height: 100%;
}
.c-service-works__line-top--pc {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1440/291;
}
@media (min-width: 1441px) {
  .c-service-works__line-top--pc {
    display: none;
  }
}
@media (max-width: 768px) {
  .c-service-works__line-top--pc {
    display: none;
  }
}
.c-service-works__line-top--pc svg {
  display: block;
  width: 100%;
  height: 100%;
}
.c-service-works__line-top--md {
  display: none;
}
@media (max-width: 768px) {
  .c-service-works__line-top--md {
    position: relative;
    top: 4rem;
    display: block;
    width: 100%;
    aspect-ratio: 375/87;
  }
}
.c-service-works__line-top--md svg {
  display: block;
  width: 100%;
  height: auto;
}
.c-service-works__line-bottom {
  position: absolute;
  bottom: 3.2rem;
  left: 0;
  z-index: 0;
  width: 100%;
  pointer-events: none;
}
.c-service-works__line-bottom svg path {
  stroke-dasharray: 100;
  stroke-dashoffset: 101;
  will-change: stroke-dashoffset;
}
.c-service-works__line-bottom.is-active svg path {
  animation: drawLine 4s ease-in-out forwards;
  animation-delay: 0.5s;
}
.c-service-works__line-bottom--xl {
  display: none;
  width: 100%;
  overflow: hidden;
}
@media (min-width: 1441px) {
  .c-service-works__line-bottom--xl {
    display: block;
  }
}
.c-service-works__line-bottom--xl svg {
  display: block;
  width: 100%;
  height: auto;
}
.c-service-works__line-bottom--pc {
  display: block;
  width: 100%;
  overflow: hidden;
}
@media (min-width: 1441px) {
  .c-service-works__line-bottom--pc {
    display: none;
  }
}
@media (max-width: 768px) {
  .c-service-works__line-bottom--pc {
    display: none;
  }
}
.c-service-works__line-bottom--pc svg {
  display: block;
  width: 100%;
  height: auto;
}
.c-service-works__line-bottom--md {
  display: none;
}
@media (max-width: 768px) {
  .c-service-works__line-bottom--md {
    display: block;
    width: 100%;
  }
}
.c-service-works__line-bottom--md svg {
  display: block;
  width: 100%;
  height: auto;
}
.c-service-works__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 389px) {
  .c-service-works__inner {
    width: min(31.5rem, 100%);
    padding-right: 0;
    padding-left: 0;
  }
}
.c-service-works__header {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  align-items: center;
  width: 100%;
}
@media (max-width: 768px) {
  .c-service-works__header {
    gap: 2.4rem;
  }
}
.c-service-works__subtitle {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  align-items: center;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .c-service-works__subtitle {
    gap: 0.8rem;
    margin-bottom: 2.3rem;
  }
}
.c-service-works__subtitle-en {
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 22.22%, var(--wp--preset--color--green) 76.59%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .c-service-works__subtitle-en {
    font-size: 1.6rem;
  }
}
.c-service-works__subtitle-line {
  display: block;
  width: 4.6rem;
  height: 0.2rem;
  background-color: var(--wp--preset--color--secondary);
  border-radius: 999rem;
}
@media (max-width: 768px) {
  .c-service-works__subtitle-line {
    width: 3rem;
  }
}
.c-service-works__subtitle-jp {
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--wp--preset--color--primary);
}
.c-service-works__catch {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  align-items: center;
  max-width: 80rem;
  text-align: center;
}
@media (max-width: 768px) {
  .c-service-works__catch {
    gap: 2.4rem;
  }
}
.c-service-works__headline {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 768px) {
  .c-service-works__headline {
    font-size: 2.4rem;
  }
}
.c-service-works__description {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--wp--preset--color--primary);
}
.c-service-works__hero {
  box-sizing: border-box;
  width: 100%;
  aspect-ratio: 27/10;
  margin-top: 6.4rem;
  overflow: hidden;
  border-radius: 2rem;
}
@media (max-width: 768px) {
  .c-service-works__hero {
    margin-top: 4rem;
    border-radius: 1rem;
  }
}
.c-service-works__hero img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
@media (max-width: 768px) {
  .c-service-works__hero img {
    aspect-ratio: 314/153;
  }
}
.c-service-works__item--second .c-service-works__media {
  position: relative;
  right: -0.4rem;
}
@media (max-width: 768px) {
  .c-service-works__item--second .c-service-works__media {
    right: 0;
  }
}
.c-service-works__items {
  position: relative;
  right: 0.3rem;
  display: flex;
  flex-direction: column;
  gap: 9.6rem;
  width: 100%;
  max-width: 96rem;
  margin-top: 9.6rem;
}
@media (max-width: 768px) {
  .c-service-works__items {
    right: 0;
    gap: 5.6rem;
    margin-top: 5.6rem;
  }
}
.c-service-works__item {
  display: flex;
  flex-direction: row;
  gap: 6.4rem;
  align-items: flex-start;
  width: 100%;
}
@media (max-width: 768px) {
  .c-service-works__item {
    flex-direction: column;
    gap: 4rem;
  }
}
.c-service-works__item--reverse {
  flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .c-service-works__item--reverse {
    flex-direction: column;
  }
  .c-service-works__item--reverse .c-service-works__media {
    align-self: flex-end;
  }
}
.c-service-works__media {
  flex: 0 0 auto;
  width: 40rem;
  height: auto;
  margin: 0;
  overflow: hidden;
  border-radius: 2rem;
  box-shadow: 0 0 2rem 0.6rem var(--wp--preset--color--beige-light);
}
@media (max-width: 991px) {
  .c-service-works__media {
    width: 40%;
    height: auto;
  }
}
@media (max-width: 768px) {
  .c-service-works__media {
    width: 100%;
    height: auto;
    border-radius: 1rem;
  }
}
.c-service-works__media img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 4/3;
  vertical-align: top;
  transition: transform 0.5s ease;
  object-fit: cover;
  object-position: center;
}
.c-service-works__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 4.1rem;
  min-width: 0;
}
@media (max-width: 768px) {
  .c-service-works__body {
    gap: 2.4rem;
  }
}
.c-service-works__heading-row {
  display: flex;
  flex-direction: row;
  gap: 1.6rem;
  align-items: center;
  width: 100%;
  min-height: 6.4rem;
}
@media (max-width: 768px) {
  .c-service-works__heading-row {
    gap: 1rem;
    min-height: 5.1rem;
  }
}
.c-service-works__border {
  display: block;
  flex-shrink: 0;
  align-self: stretch;
  width: 0.2rem;
  background-color: var(--wp--preset--color--secondary);
  border-radius: 999rem;
}
.c-service-works__txt {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.c-service-works__number {
  position: relative;
  right: 0.2rem;
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2.4rem;
  font-weight: 300;
  line-height: 1;
  background: linear-gradient(180deg, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--green) 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .c-service-works__number {
    right: 0.1rem;
    font-size: 2rem;
  }
}
.c-service-works__item-title {
  margin: 0 -0.2rem;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 768px) {
  .c-service-works__item-title {
    margin: 0;
    font-size: 1.8rem;
  }
}
.c-service-works__text {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 768px) {
  .c-service-works__text {
    line-height: 1.82;
  }
}
.c-service-works__br-sp {
  display: none;
}
@media (max-width: 768px) {
  .c-service-works__br-sp {
    display: inline;
  }
}

.c-service-satisfaction {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  align-items: center;
  width: 100%;
  padding: 12rem 0 4.8rem;
  overflow: hidden;
  background: var(--wp--preset--color--bg-primary);
  isolation: isolate;
}
@media (max-width: 768px) {
  .c-service-satisfaction {
    gap: 4rem;
    padding: 6.4rem 0 3.2rem;
  }
}
.c-service-satisfaction__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  align-items: center;
  width: 100%;
}
@media (max-width: 768px) {
  .c-service-satisfaction__inner {
    gap: 2rem;
  }
}
.c-service-satisfaction__catch {
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  align-items: center;
  width: 80rem;
  max-width: 100%;
}
@media (max-width: 768px) {
  .c-service-satisfaction__catch {
    gap: 4rem;
    width: 31.5rem;
  }
}
.c-service-satisfaction__subtitle {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  align-items: center;
}
@media (max-width: 768px) {
  .c-service-satisfaction__subtitle {
    gap: 0.7rem;
  }
}
.c-service-satisfaction__en {
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 22.22%, var(--wp--preset--color--green) 76.59%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .c-service-satisfaction__en {
    font-size: 1.6rem;
  }
}
.c-service-satisfaction__vector {
  width: 4.6rem;
  height: 0.2rem;
  background-color: var(--wp--preset--color--secondary);
  border-radius: 999rem;
}
@media (max-width: 768px) {
  .c-service-satisfaction__vector {
    width: 3rem;
  }
}
.c-service-satisfaction__jp {
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--wp--preset--color--primary);
  text-align: center;
}
@media (max-width: 768px) {
  .c-service-satisfaction__jp {
    font-size: 1.6rem;
  }
}
.c-service-satisfaction__title {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--primary);
  text-align: center;
}
@media (max-width: 768px) {
  .c-service-satisfaction__title {
    width: 100%;
    font-size: 2.4rem;
  }
}
.c-service-satisfaction__contents {
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 0 0 12rem;
  background: linear-gradient(180deg, var(--wp--preset--color--bg-primary) 0%, color-mix(in srgb, var(--wp--preset--color--beige-light) 50%, transparent) 100%);
}
@media (max-width: 768px) {
  .c-service-satisfaction__contents {
    padding: 0 0 6.4rem;
  }
}
.c-service-satisfaction__merit {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  row-gap: 3.2rem;
  column-gap: 3.2rem;
  align-items: stretch;
  justify-content: center;
  max-width: 100%;
  padding: 0 12rem;
}
.c-service-satisfaction__merit--count-4::before {
  display: block;
  order: 2;
  width: 100%;
  height: 0;
  margin-bottom: -3.2rem;
  content: "";
}
@media (max-width: 1027px) {
  .c-service-satisfaction__merit--count-4::before {
    display: none;
  }
}
.c-service-satisfaction__merit--count-4 .c-service-satisfaction__cassette:nth-child(1), .c-service-satisfaction__merit--count-4 .c-service-satisfaction__cassette:nth-child(2) {
  order: 1;
}
.c-service-satisfaction__merit--count-4 .c-service-satisfaction__cassette:nth-child(3), .c-service-satisfaction__merit--count-4 .c-service-satisfaction__cassette:nth-child(4) {
  order: 3;
}
@media (max-width: 768px) {
  .c-service-satisfaction__merit--count-4 {
    max-width: 100%;
  }
}
@media (max-width: 768px) {
  .c-service-satisfaction__merit {
    flex-wrap: nowrap;
    gap: 2rem;
    justify-content: flex-start;
    width: 100%;
    padding: 2rem calc(50% - 15rem) 4rem;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .c-service-satisfaction__merit::-webkit-scrollbar {
    display: none;
  }
  .c-service-satisfaction__merit--count-4 .c-service-satisfaction__cassette {
    order: unset;
  }
}
.c-service-satisfaction__pagination {
  display: none;
  gap: 0.4rem;
  align-items: center;
  justify-content: center;
  height: 0.6rem;
  padding: 0 1.2rem;
}
@media (max-width: 768px) {
  .c-service-satisfaction__pagination {
    position: absolute;
    bottom: 6.4rem;
    left: 50%;
    z-index: 5;
    display: flex;
    transform: translateX(-50%);
  }
}
.c-service-satisfaction__pagination-dot {
  width: 0.6rem;
  height: 0.6rem;
  cursor: pointer;
  background: var(--wp--preset--color--silver);
  border-radius: 50%;
  transition: background-color 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .c-service-satisfaction__pagination-dot:hover {
    background: var(--wp--preset--color--secondary);
  }
}
.c-service-satisfaction__pagination-dot.is-active {
  background: var(--wp--preset--color--secondary);
}
.c-service-satisfaction__cassette {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  align-items: center;
  width: 37.8rem;
  padding: 4rem 3.2rem;
  background: var(--wp--preset--color--white);
  border-radius: 1.6rem;
  box-shadow: 0 0 2rem var(--wp--preset--color--beige-light);
}
@media (max-width: 768px) {
  .c-service-satisfaction__cassette {
    flex-shrink: 0;
    gap: 2rem;
    width: 30rem;
    max-width: 100%;
    padding: 3.2rem 2.4rem;
    border-radius: 0.8rem;
    box-shadow: 0 0 2rem var(--wp--preset--color--beige-light);
    scroll-snap-align: center;
  }
}
@media (max-width: 768px) {
  .c-service-satisfaction__cassette:only-child {
    width: 100%;
  }
}
.c-service-satisfaction__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16rem;
  height: 16rem;
  background: color-mix(in srgb, var(--wp--preset--color--beige-light) 50%, transparent);
  border-radius: 50%;
}
@media (max-width: 768px) {
  .c-service-satisfaction__icon {
    width: 16rem;
    height: 16rem;
  }
}
.c-service-satisfaction__icon-img {
  width: 100%;
  height: auto;
  object-fit: contain;
  aspect-ratio: 1/1;
}
.c-service-satisfaction__txt {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  align-items: center;
  width: 100%;
}
@media (max-width: 768px) {
  .c-service-satisfaction__txt {
    gap: 1.6rem;
  }
}
.c-service-satisfaction__headline {
  position: relative;
  top: 0.2rem;
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--secondary);
  text-align: center;
}
@media (max-width: 768px) {
  .c-service-satisfaction__headline {
    top: 0;
    font-size: 1.8rem;
  }
}
.c-service-satisfaction__desc {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 768px) {
  .c-service-satisfaction__desc {
    font-size: 1.6rem;
  }
}
.c-service-satisfaction__decor-leaf {
  position: absolute;
  top: -1.1rem;
  left: 0;
  z-index: 2;
  width: 15.6rem;
}
@media (max-width: 768px) {
  .c-service-satisfaction__decor-leaf {
    top: -1.25rem;
    left: -0.75rem;
    width: 8.45rem;
  }
}
.c-service-satisfaction__decor-leaf--pc {
  display: block;
}
@media (max-width: 768px) {
  .c-service-satisfaction__decor-leaf--pc {
    display: none;
  }
}
.c-service-satisfaction__decor-leaf--md {
  display: none;
}
@media (max-width: 768px) {
  .c-service-satisfaction__decor-leaf--md {
    display: block;
  }
}
.c-service-satisfaction__decor-leaf svg {
  display: block;
  width: 100%;
  height: 100%;
}
.c-service-satisfaction__decor-leaf svg path {
  stroke-dasharray: 100;
  stroke-dashoffset: 101;
  will-change: stroke-dashoffset;
}
.c-service-satisfaction__decor-leaf.is-active svg path {
  animation: drawEnvLeaf 3s ease-in-out forwards;
}
.c-service-satisfaction__decor-line {
  position: absolute;
  top: 5.09%;
  left: 0;
  z-index: 0;
  width: 17.9rem;
  transform: rotate(71.09deg);
}
@media (max-width: 768px) {
  .c-service-satisfaction__decor-line {
    top: 16.26%;
    right: 2.88rem;
    width: 9.67rem;
  }
}
.c-service-satisfaction__decor-line img {
  width: 100%;
  height: auto;
}

@keyframes drawSatisfactionLeaf {
  0% {
    fill-opacity: 0;
    stroke-dashoffset: 101;
  }
  65% {
    fill-opacity: 0;
    stroke-dashoffset: 0;
  }
  100% {
    fill-opacity: 1;
    stroke-dashoffset: 0;
  }
}
@keyframes drawEnvLeaf {
  0% {
    stroke-dashoffset: 101;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.service-ideal-talent {
  position: relative;
  padding: 16rem 3.75rem;
  overflow: hidden;
  background: var(--wp--preset--color--bg-primary);
  isolation: isolate;
}
@media (max-width: 768px) {
  .service-ideal-talent {
    padding: 6.4rem 0;
  }
}
.service-ideal-talent__decor {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.service-ideal-talent__bg--1 {
  position: absolute;
  right: -9.2rem;
  bottom: -6.1rem;
  width: 60rem;
  height: 58rem;
  background-image: linear-gradient(var(--wp--preset--color--bg-primary), var(--wp--preset--color--bg-primary)), radial-gradient(ellipse at 0% 0%, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--green) 40%, var(--wp--preset--color--bg-primary) 80%);
  filter: blur(4rem);
  background-clip: padding-box, border-box;
  background-origin: padding-box, border-box;
  border: 1.8rem solid transparent;
  border-radius: 40rem;
  transform: rotate(-180deg);
}
@media (max-width: 768px) {
  .service-ideal-talent__bg--1 {
    top: 22%;
    left: 12.6rem;
    width: 20rem;
    height: 19.5rem;
    filter: blur(2rem);
    border: 1rem solid transparent;
    border-radius: 40rem;
    transform: translateY(-50%) translateY(9.55rem) rotate(-180deg);
  }
}
.service-ideal-talent__bg--2 {
  position: absolute;
  top: -8.4rem;
  left: -13.6rem;
  width: 48rem;
  height: 48rem;
  background: linear-gradient(309.31deg, color-mix(in srgb, var(--wp--preset--color--beige-light) 50%, transparent) 15.61%, var(--wp--preset--color--bg-primary) 88.68%);
  filter: blur(1rem);
  border-radius: 999px;
  transform: rotate(-180deg);
}
@media (max-width: 768px) {
  .service-ideal-talent__bg--2 {
    top: -3rem;
    left: -3rem;
    width: 18rem;
    height: 18rem;
    filter: blur(1rem);
  }
}
.service-ideal-talent__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row;
  gap: 9.5rem;
  align-items: flex-start;
  padding-top: 0.2rem;
  padding-right: 0;
  padding-left: 0;
}
@media (max-width: 768px) {
  .service-ideal-talent__inner {
    padding: 0 3.75rem;
  }
}
@media (max-width: 389px) {
  .service-ideal-talent__inner {
    position: relative;
    display: block;
    max-width: 30rem;
    padding: 0;
    margin: 0 auto;
  }
}
.service-ideal-talent__subtitle {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 1.1rem;
  align-items: center;
}
@media (max-width: 768px) {
  .service-ideal-talent__subtitle {
    position: absolute;
    top: 1.9rem;
    right: 3.75rem;
    gap: 0.9rem;
    width: 2rem;
    height: auto;
  }
}
@media (max-width: 389px) {
  .service-ideal-talent__subtitle {
    right: 0;
  }
}
.service-ideal-talent__en {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
}
@media (max-width: 768px) {
  .service-ideal-talent__en {
    gap: 1.8rem;
    width: 1.6rem;
    height: 100%;
  }
}
.service-ideal-talent__en-line {
  width: 0.2rem;
  height: 4.6rem;
  background-color: var(--wp--preset--color--secondary);
  border-radius: 999rem;
}
@media (max-width: 768px) {
  .service-ideal-talent__en-line {
    position: relative;
    bottom: 0.5rem;
    width: 3rem;
    height: 0.2rem;
    transform: rotate(90deg);
  }
}
.service-ideal-talent__en-text {
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  background: linear-gradient(180deg, var(--wp--preset--color--secondary) 22.22%, var(--wp--preset--color--green) 76.59%);
  background-clip: text;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .service-ideal-talent__en-text {
    width: auto;
    height: auto;
    font-size: 1.6rem;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
.service-ideal-talent__separator {
  width: 2rem;
  height: 0;
  border-top: 0.1rem solid var(--wp--preset--color--primary);
}
@media (max-width: 768px) {
  .service-ideal-talent__separator {
    transform: rotate(180deg);
  }
}
.service-ideal-talent__jp {
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1;
  color: var(--wp--preset--color--primary);
  letter-spacing: 0.35rem;
  writing-mode: vertical-rl;
  text-orientation: mixed;
}
@media (max-width: 768px) {
  .service-ideal-talent__jp {
    width: 1.7rem;
    height: 100%;
    font-size: 1.6rem;
    line-height: 1.2;
    letter-spacing: 0.35rem;
  }
}
.service-ideal-talent__contents {
  position: relative;
  display: flex;
  flex-direction: row;
  gap: 6.4rem;
  align-items: flex-start;
  width: 100%;
  max-width: 80rem;
  padding: 0;
}
@media (max-width: 768px) {
  .service-ideal-talent__contents {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    align-items: flex-start;
    width: 100%;
    height: auto;
  }
}
.service-ideal-talent__photo {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: 37.5%;
  aspect-ratio: 3/4;
  overflow: hidden;
  background: color-mix(in srgb, var(--wp--preset--color--black) 13.33%, var(--wp--preset--color--white));
  border-radius: 2rem;
}
@media (max-width: 768px) {
  .service-ideal-talent__photo {
    flex: none;
    width: 80%;
    aspect-ratio: 40/53;
    margin: 0 1.6rem 0 0;
    border-radius: 1rem;
  }
}
.service-ideal-talent__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.service-ideal-talent__txt {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: row;
  gap: 1.4rem;
  align-items: flex-start;
  width: 100%;
  padding: 0.2rem 0;
}
@media (max-width: 768px) {
  .service-ideal-talent__txt {
    display: flex;
    flex-direction: column;
    gap: 1.7rem;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    height: auto;
    padding: 0;
  }
}
.service-ideal-talent__casset {
  display: flex;
  flex-direction: column;
  gap: 3.9rem;
  width: 100%;
}
@media (max-width: 768px) {
  .service-ideal-talent__casset {
    gap: 2.4rem;
    width: 100%;
    height: auto;
  }
}
.service-ideal-talent__cassette {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  width: 100%;
}
.service-ideal-talent__cassette-title {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  width: 100%;
}
@media (max-width: 768px) {
  .service-ideal-talent__cassette-title {
    gap: 1.2rem;
  }
}
.service-ideal-talent__num {
  width: 6rem;
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 3.2rem;
  font-weight: 300;
  line-height: 1.3;
  background: linear-gradient(180deg, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--green) 100%);
  background-clip: text;
  transform: skewX(-8.5deg);
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .service-ideal-talent__num {
    width: 5rem;
    font-size: 3.2rem;
  }
}
.service-ideal-talent__headline {
  flex: 1;
  margin: 0;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 768px) {
  .service-ideal-talent__headline {
    font-size: 2.4rem;
    line-height: 1.5;
  }
}
.service-ideal-talent__desc {
  width: 100%;
  margin: 0 -0.2rem;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.83;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 768px) {
  .service-ideal-talent__desc {
    margin: 0;
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
.service-ideal-talent__divider {
  width: 100%;
  height: 0.2rem;
  background-color: color-mix(in srgb, var(--wp--preset--color--green) 20%, transparent);
  border-radius: 999rem;
}

.c-service-schedule {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12rem 0;
  overflow: hidden;
  background: var(--wp--preset--color--bg-primary);
  isolation: isolate;
}
@media (max-width: 574px) {
  .c-service-schedule {
    padding: 6.4rem 0;
  }
}
.c-service-schedule__leaf-decor {
  position: absolute;
  top: 0.8rem;
  right: 0;
  z-index: 0;
  width: 22.4rem;
  height: 14.5rem;
  pointer-events: none;
}
@media (max-width: 991px) {
  .c-service-schedule__leaf-decor {
    top: 2rem;
    width: 17rem;
    height: auto;
  }
}
@media (max-width: 768px) {
  .c-service-schedule__leaf-decor {
    top: 0.5rem;
    right: 0;
    width: 8.4rem;
    height: 5.2rem;
  }
}
.c-service-schedule__leaf-decor.is-active .c-service-schedule__leaf--large svg path {
  animation: drawScheduleLine 4s ease-in-out forwards;
}
.c-service-schedule__leaf-decor.is-active .c-service-schedule__leaf--small svg path {
  animation: drawScheduleLineReverse 3.5s ease-in-out 0.5s forwards;
}
.c-service-schedule__leaf {
  position: absolute;
}
.c-service-schedule__leaf svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.c-service-schedule__leaf svg path {
  stroke-dasharray: 100 200;
  stroke-dashoffset: 100;
  will-change: stroke-dashoffset;
}
.c-service-schedule__leaf-svg {
  display: contents;
}
.c-service-schedule__leaf-svg--md {
  display: none;
}
@media (max-width: 768px) {
  .c-service-schedule__leaf-svg--pc {
    display: none;
  }
  .c-service-schedule__leaf-svg--md {
    display: contents;
  }
}
.c-service-schedule__leaf--large {
  top: 0;
  right: 0;
  width: 22.4rem;
  height: 14.5rem;
}
@media (max-width: 991px) {
  .c-service-schedule__leaf--large {
    width: 17rem;
    height: auto;
  }
}
@media (max-width: 768px) {
  .c-service-schedule__leaf--large {
    width: 8.4rem;
    height: 5.2rem;
  }
}
.c-service-schedule__leaf--small {
  top: 4.2rem;
  right: 2rem;
  width: 8.3rem;
  height: 14rem;
}
@media (max-width: 991px) {
  .c-service-schedule__leaf--small {
    top: 3.2rem;
    right: 1.5rem;
    width: 6.3rem;
    height: auto;
  }
}
@media (max-width: 768px) {
  .c-service-schedule__leaf--small {
    top: 1.6rem;
    right: 0.8rem;
    width: 3.2rem;
    height: 5.3rem;
  }
}
.c-service-schedule__leaf--small svg path {
  stroke-dashoffset: -100;
}
.c-service-schedule__inner {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  align-items: center;
  width: 100%;
  max-width: 114.4rem;
  margin: 0 auto;
}
@media (max-width: 574px) {
  .c-service-schedule__inner {
    box-sizing: border-box;
    gap: 4rem;
    max-width: 100%;
    padding: 0 1.9rem;
  }
}
.c-service-schedule__head {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
}
@media (max-width: 574px) {
  .c-service-schedule__head {
    top: 0;
    padding-right: 3rem;
  }
}
.c-service-schedule__subtitle {
  display: flex;
  flex: none;
  flex-direction: row;
  flex-grow: 0;
  gap: 0.5rem;
  align-items: center;
  order: 0;
  height: 2.9rem;
}
@media (max-width: 574px) {
  .c-service-schedule__subtitle {
    position: relative;
    bottom: 0.1rem;
    left: 1rem;
    justify-content: flex-start;
    height: 2.9rem;
  }
}
.c-service-schedule__subtitle-en {
  position: relative;
  bottom: 0.1rem;
  display: flex;
  flex: none;
  flex-direction: row;
  flex-grow: 0;
  align-items: center;
  justify-content: center;
  order: 1;
  width: fit-content;
  height: 2rem;
  padding: 0 0.4rem;
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2rem;
  font-style: normal;
  font-weight: 300;
  line-height: 100%;
  color: transparent;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.03rem;
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 22.22%, var(--wp--preset--color--green) 76.59%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 574px) {
  .c-service-schedule__subtitle-en {
    bottom: -0.2rem;
    width: fit-content;
    height: 1.6rem;
    font-size: 1.6rem;
    line-height: 100%;
    letter-spacing: 0;
  }
}
.c-service-schedule__subtitle-line {
  flex: none;
  flex-grow: 0;
  order: 0;
  width: 4.6rem;
  height: 0.2rem;
  background-color: var(--wp--preset--color--secondary);
  border-radius: 999rem;
}
@media (max-width: 574px) {
  .c-service-schedule__subtitle-line {
    position: relative;
    bottom: -0.2rem;
    width: 3.1rem;
  }
}
.c-service-schedule__subtitle-jp {
  position: relative;
  flex: none;
  flex-grow: 0;
  order: 2;
  width: auto;
  height: auto;
  padding-left: 1.4rem;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 300;
  line-height: 180%;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 574px) {
  .c-service-schedule__subtitle-jp {
    position: relative;
    top: 0.1rem;
    width: auto;
    height: auto;
    padding-left: 1.6rem;
    font-size: 1.6rem;
  }
}
.c-service-schedule__subtitle-jp::before {
  position: absolute;
  top: calc(50% - 1rem);
  left: 0;
  width: 0.1rem;
  height: 2rem;
  content: "";
  background-color: var(--wp--preset--color--primary);
}
@media (max-width: 574px) {
  .c-service-schedule__subtitle-jp::before {
    left: 0.2rem;
  }
}
.c-service-schedule__anchor-box {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2.4rem 4rem;
  align-items: stretch;
  justify-content: center;
  width: 100%;
}
.c-service-schedule__anchor-box:has(> :last-child:nth-child(4)) {
  max-width: 64rem;
}
@media (max-width: 768px) {
  .c-service-schedule__anchor-box {
    flex-direction: row;
    gap: 1.6rem;
  }
}
.c-service-schedule__anchor {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  gap: 0;
  align-items: center;
  justify-content: space-between;
  width: 30rem;
  padding: 1.6rem 3.2rem;
  text-decoration: none;
  background: linear-gradient(90deg, var(--wp--preset--color--white) 0%, var(--wp--preset--color--bg-primary) 100%);
  border: 0.1rem solid var(--wp--preset--color--primary);
  border-radius: 999px;
  transition: opacity 0.3s ease;
  -webkit-tap-highlight-color: transparent;
}
@media (max-width: 768px) {
  .c-service-schedule__anchor {
    gap: 0.2rem;
    width: calc((100% - 2.4rem) / 2);
    padding: 0.8rem 1.6rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-service-schedule__anchor:hover {
    opacity: 0.8;
  }
}
.c-service-schedule__anchor-icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  color: var(--wp--preset--color--secondary);
}
.c-service-schedule__anchor-icon svg {
  width: 1.6rem;
  height: 1.9rem;
}
.c-service-schedule__anchor-text {
  position: relative;
  top: 0.1px;
  right: 0.5px;
  flex-grow: 1;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--primary);
  text-align: center;
}
@media (max-width: 768px) {
  .c-service-schedule__anchor-text {
    font-size: 1.4rem;
  }
}
@media (max-width: 574px) {
  .c-service-schedule__anchor-text {
    top: 0;
    right: 0.3rem;
  }
}
.c-service-schedule__accordions {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  width: 100%;
  padding-top: 2.5rem;
}
@media (max-width: 574px) {
  .c-service-schedule__accordions {
    gap: 2.4rem;
    padding-top: 0;
  }
}

.c-service-schedule-item {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.c-service-schedule-item[open] .c-service-schedule-item__icon-line--v, .c-service-schedule-item.is-active .c-service-schedule-item__icon-line--v {
  opacity: 0;
}
@media (hover: hover) and (pointer: fine) {
  .c-service-schedule-item[open] .c-service-schedule-item__title:hover, .c-service-schedule-item.is-active .c-service-schedule-item__title:hover {
    transform: scale(1);
  }
}
.c-service-schedule-item__title {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: row;
  gap: 2rem;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 2.3rem 3.2rem;
  list-style: none;
  cursor: pointer;
  background: color-mix(in srgb, var(--wp--preset--color--secondary) 20%, transparent);
  border: 0.1rem solid var(--wp--preset--color--secondary);
  border-radius: 1rem;
  transition: transform 0.5s ease;
  -webkit-tap-highlight-color: transparent;
}
@media (max-width: 574px) {
  .c-service-schedule-item__title {
    padding: 1.1rem 2rem;
  }
}
.c-service-schedule-item__title::-webkit-details-marker {
  display: none;
}
.c-service-schedule-item__title-text {
  position: relative;
  flex-grow: 1;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--primary);
  text-align: left;
}
@media (max-width: 574px) {
  .c-service-schedule-item__title-text {
    top: 0;
    font-size: 18px;
  }
}
.c-service-schedule-item__icon {
  position: relative;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  background: color-mix(in srgb, var(--wp--preset--color--primary) 60%, var(--wp--preset--color--white));
  border-radius: 50%;
}
.c-service-schedule-item__icon-line {
  position: absolute;
  background: var(--wp--preset--color--white);
  border-radius: 999rem;
}
.c-service-schedule-item__icon-line--h {
  width: 1rem;
  height: 0.2rem;
}
.c-service-schedule-item__icon-line--v {
  width: 0.2rem;
  height: 1rem;
  transition: opacity 0.3s ease;
}
.c-service-schedule-item__content {
  width: 100%;
  padding: 7rem 0 2.5rem;
  margin-top: 0.8rem;
  background: color-mix(in srgb, var(--wp--preset--color--beige-light) 50%, transparent);
  border-radius: 1rem;
}
@media (max-width: 574px) {
  .c-service-schedule-item__content {
    padding: 2.4rem 0;
    padding-top: 3rem;
    margin-top: 0;
    border-radius: 1rem;
  }
}
.c-service-schedule-item__timeline {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  width: 100%;
  max-width: 92rem;
  margin: 0 auto;
}
@media (max-width: 1150px) {
  .c-service-schedule-item__timeline {
    width: auto;
    margin: 0 8rem;
  }
}
@media (max-width: 991px) {
  .c-service-schedule-item__timeline {
    width: auto;
    margin: 0 3rem;
  }
}
@media (max-width: 768px) {
  .c-service-schedule-item__timeline {
    width: auto;
    margin: 0 2.8rem;
  }
}
@media (max-width: 574px) {
  .c-service-schedule-item__timeline {
    gap: 2.4rem;
    width: auto;
    padding: 0;
    margin: 0 1.3rem;
  }
}
.c-service-schedule-item__cassette {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 0;
  align-items: flex-start;
  width: 100%;
}
@media (max-width: 843px) {
  .c-service-schedule-item__cassette {
    align-items: stretch;
    width: 100%;
    height: auto;
  }
}
@media (max-width: 574px) {
  .c-service-schedule-item__cassette {
    align-items: stretch;
    width: 100%;
    height: auto;
  }
}
.c-service-schedule-item__cassette::before {
  position: absolute;
  top: 2.6rem;
  left: 1.8rem;
  z-index: 0;
  width: 0.2rem;
  height: calc(100% + 4rem);
  content: "";
  background: var(--wp--preset--color--secondary);
}
@media (max-width: 574px) {
  .c-service-schedule-item__cassette::before {
    top: 2.7rem;
    left: 1.2rem;
    width: 0.2rem;
    height: calc(100% + 2.4rem);
  }
}
.c-service-schedule-item__cassette:last-child::before {
  display: none;
}
.c-service-schedule-item__time {
  position: relative;
  top: 0.3rem;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: left;
  width: 15rem;
  min-width: 15rem;
  padding: 1.2rem 3.2rem;
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  color: var(--wp--preset--color--secondary);
  letter-spacing: 0.006em;
  background: color-mix(in srgb, var(--wp--preset--color--secondary) 20%, transparent);
  border-radius: 999px 0 0 999px;
}
@media (max-width: 991px) {
  .c-service-schedule-item__time {
    top: 1.4rem;
    width: fit-content;
    min-width: 0;
    height: 2.9rem;
  }
}
@media (max-width: 574px) {
  .c-service-schedule-item__time {
    position: relative;
    top: 1.4rem;
    width: 7rem;
    min-width: 7rem;
    height: 2.9rem;
    padding: 0.4rem 2rem;
    font-size: 1.4rem;
  }
}
.c-service-schedule-item__time::before {
  position: absolute;
  top: 50%;
  left: 1.5rem;
  width: 0.8rem;
  height: 0.8rem;
  content: "";
  background: var(--wp--preset--color--secondary);
  background-clip: padding-box;
  border-radius: 50%;
  transform: translateY(-50%);
}
@media (max-width: 574px) {
  .c-service-schedule-item__time::before {
    left: 1rem;
    width: 0.6rem;
    height: 0.6rem;
    outline: none;
  }
}
.c-service-schedule-item__card {
  display: flex;
  flex: 1;
  gap: 4rem;
  align-items: flex-start;
  width: 77rem;
  height: auto;
  padding: 3.2rem;
  background: var(--wp--preset--color--white);
  border-radius: 1.6rem;
  box-shadow: 0 0 2rem var(--wp--preset--color--beige-light);
  transform: translateY(-2.2rem);
}
@media (max-width: 991px) {
  .c-service-schedule-item__card {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: 100%;
    height: auto;
    padding: 1.6rem;
    border-radius: 1.2rem;
    transform: none;
  }
}
.c-service-schedule-item__card-text {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1.6rem;
  align-items: flex-start;
  justify-content: flex-start;
}
@media (max-width: 574px) {
  .c-service-schedule-item__card-text {
    position: relative;
    right: 0.2rem;
    flex: none;
    gap: 0.4rem;
    width: 100%;
    height: auto;
  }
}
.c-service-schedule-item__card-title {
  position: relative;
  left: 0.2rem;
  width: 100%;
  padding: 0 0 1.6rem;
  margin: 0;
  font-size: 2rem;
  font-weight: 400;
  line-height: 150%;
  color: var(--wp--preset--color--secondary);
  border-bottom: 0.2rem solid var(--wp--preset--color--beige-light);
}
@media (max-width: 574px) {
  .c-service-schedule-item__card-title {
    position: relative;
    width: 100%;
    padding-bottom: 1.2rem;
    font-size: 1.6rem;
  }
}
.c-service-schedule-item__card-desc {
  position: relative;
  left: 0.2rem;
  padding: 0;
  margin: 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 180%;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 574px) {
  .c-service-schedule-item__card-desc {
    width: 100%;
    height: auto;
    font-size: 1.4rem;
    line-height: 180%;
  }
}
.c-service-schedule-item__card-img {
  flex-shrink: 0;
  width: 24rem;
  height: auto;
}
@media (max-width: 991px) {
  .c-service-schedule-item__card-img {
    align-self: center;
    width: 100%;
    height: auto;
  }
}
.c-service-schedule-item__card-img img {
  width: 100%;
  height: auto;
  aspect-ratio: 8/5;
  vertical-align: top;
  border-radius: 1rem;
  object-fit: cover;
}
@media (max-width: 574px) {
  .c-service-schedule-item__card-img img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0.6rem;
    object-fit: cover;
  }
}

@keyframes drawScheduleLine {
  0% {
    stroke-dashoffset: 100;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes drawScheduleLineReverse {
  0% {
    stroke-dashoffset: -100;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.environment-flexibility {
  position: relative;
  padding: 4.8rem 0;
  overflow: hidden;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  color: var(--wp--preset--color--primary);
  background-color: var(--wp--preset--color--bg-primary);
}
@media (max-width: 768px) {
  .environment-flexibility {
    padding: 3.2rem 0;
  }
}
.environment-flexibility__bg-line {
  position: absolute;
  top: 6rem;
  right: 0;
  left: 0;
  z-index: 2;
  pointer-events: none;
}
@media (min-width: 1441px) {
  .environment-flexibility__bg-line {
    top: -4rem;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__bg-line {
    top: 20rem;
    bottom: auto;
    left: 50%;
    width: 100vw;
    height: 31.4rem;
    transform: translateX(-50%);
  }
}
.environment-flexibility__bg-line svg {
  display: block;
  width: 100%;
  height: auto;
}
.environment-flexibility__bg-line svg path {
  stroke-dasharray: var(--length);
  stroke-dashoffset: var(--length);
  will-change: stroke-dashoffset;
}
.environment-flexibility__bg-line.is-active svg path {
  animation: flexDrawLineReverse 4s ease-in-out forwards;
  animation-delay: 0.5s;
}
.environment-flexibility__bg-line--pc {
  visibility: visible;
  opacity: 1;
}
@media (max-width: 768px) {
  .environment-flexibility__bg-line--pc {
    display: none;
  }
}
.environment-flexibility__bg-line--md {
  visibility: hidden;
  opacity: 0;
}
@media (max-width: 768px) {
  .environment-flexibility__bg-line--md {
    visibility: visible;
    opacity: 1;
  }
}
.environment-flexibility__inner {
  position: relative;
  z-index: 2;
  padding: 12rem 0;
  background: linear-gradient(60.1deg, color-mix(in srgb, var(--wp--preset--color--beige-light) 50%, transparent) 0%, var(--wp--preset--color--bg-primary) 100%);
}
@media (max-width: 1328px) {
  .environment-flexibility__inner {
    padding: 10rem 0;
  }
}
@media (max-width: 991px) {
  .environment-flexibility__inner {
    padding: 8rem 0;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__inner {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    align-items: center;
    padding: 6.4rem 0;
  }
}
.environment-flexibility__container {
  padding-right: 0;
  padding-left: 0;
  margin: 0 auto;
}
@media (max-width: 1328px) {
  .environment-flexibility__container {
    padding: 0 3.2rem;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__container {
    padding: 0 3rem;
    /* Mobile padding */
  }
}
.environment-flexibility__contents {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  width: 100%;
  margin: 0 auto 6.4rem;
}
@media (max-width: 1328px) {
  .environment-flexibility__contents {
    height: auto;
  }
}
@media (max-width: 991px) {
  .environment-flexibility__contents {
    margin: 0 auto 3.2rem;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__contents {
    z-index: auto;
    flex-direction: column;
    gap: 4rem;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    min-height: auto;
    margin: 0;
    isolation: auto;
  }
}
.environment-flexibility__txt-wrapper {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 8rem;
  align-items: flex-start;
  width: 96rem;
  margin-right: -40rem;
}
@media (max-width: 1328px) {
  .environment-flexibility__txt-wrapper {
    gap: 6.4rem;
    width: 100%;
    height: auto;
    margin-right: -53rem;
  }
}
@media (max-width: 991px) {
  .environment-flexibility__txt-wrapper {
    gap: 3.2rem;
    margin-right: -35rem;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__txt-wrapper {
    display: contents;
  }
}
.environment-flexibility__header {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  align-items: flex-start;
  width: 48rem;
  height: auto;
}
@media (max-width: 1328px) {
  .environment-flexibility__header {
    width: 42%;
  }
}
@media (max-width: 991px) {
  .environment-flexibility__header {
    gap: 2.4rem;
    width: 45%;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__header {
    position: relative;
    z-index: 3;
    gap: 2.4rem;
    order: 1;
    width: 100%;
  }
}
.environment-flexibility__subtitle {
  display: flex;
  gap: 1.2rem;
  align-items: center;
}
.environment-flexibility__subtitle-en {
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
.environment-flexibility__subtitle-en-line {
  width: 4.6rem;
  height: 0.2rem;
  background-color: var(--wp--preset--color--secondary);
  border-radius: 999rem;
}
@media (max-width: 768px) {
  .environment-flexibility__subtitle-en-line {
    width: 3rem;
  }
}
.environment-flexibility__subtitle-en-txt {
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  color: transparent;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 22.22%, var(--wp--preset--color--green) 76.59%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 991px) {
  .environment-flexibility__subtitle-en-txt {
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__subtitle-en-txt {
    font-size: 1.6rem;
  }
}
.environment-flexibility__subtitle-jp {
  display: flex;
  gap: 1.2rem;
  align-items: center;
}
.environment-flexibility__subtitle-jp-line {
  width: 0.1rem;
  height: 2rem;
  background-color: var(--wp--preset--color--primary);
}
.environment-flexibility__subtitle-jp-txt {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
  white-space: nowrap;
}
@media (max-width: 991px) {
  .environment-flexibility__subtitle-jp-txt {
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__subtitle-jp-txt {
    font-size: 1.6rem;
  }
}
.environment-flexibility__title {
  margin: 0;
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 1328px) {
  .environment-flexibility__title {
    font-size: 3.2rem;
  }
}
@media (max-width: 991px) {
  .environment-flexibility__title {
    font-size: 2.4rem;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__title {
    font-size: 2.4rem;
  }
}
.environment-flexibility__desc {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
@media (max-width: 991px) {
  .environment-flexibility__desc {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__desc {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__desc.u-hidden-md {
    display: none;
  }
}
.environment-flexibility__desc.u-visible-md {
  display: none;
}
@media (max-width: 768px) {
  .environment-flexibility__desc.u-visible-md {
    position: relative;
    z-index: 3;
    display: block;
    order: 4;
    margin-bottom: 4rem;
    font-size: 1.6rem;
  }
}
.environment-flexibility__stats {
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 4.8rem;
  align-content: flex-start;
  align-items: center;
  height: auto;
  padding: 5rem 4.8rem;
  background: var(--wp--preset--color--white);
  border-radius: 2rem;
  box-shadow: 0 0 2rem var(--wp--preset--color--beige-light);
}
@media (max-width: 1328px) {
  .environment-flexibility__stats {
    gap: 3.2rem;
    width: fit-content;
    padding: 4rem;
  }
}
@media (max-width: 991px) {
  .environment-flexibility__stats {
    gap: 2.4rem;
    padding: 2.4rem 3.2rem;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__stats {
    position: relative;
    z-index: 3;
    gap: 3.2rem;
    align-self: flex-start;
    order: 3;
    width: 95.23%;
    min-width: 27.2rem;
    padding: 3.2rem 2.4rem;
    margin-top: -6.5rem;
    margin-right: auto;
    margin-left: auto;
  }
}
.environment-flexibility__stats-list {
  display: flex;
  gap: 4.7rem;
  justify-content: space-between;
  width: 100%;
}
.environment-flexibility__stats-list.is-multiline {
  flex-wrap: wrap;
}
.environment-flexibility__stats-list.is-multiline .environment-flexibility__stats-item {
  flex: 1 1 40%;
  max-width: calc(50% - 4.8rem);
}
@media (max-width: 1328px) {
  .environment-flexibility__stats-list.is-multiline .environment-flexibility__stats-item {
    max-width: calc(50% - 2.5rem);
  }
}
@media (max-width: 768px) {
  .environment-flexibility__stats-list.is-multiline .environment-flexibility__stats-item {
    max-width: none;
  }
}
.environment-flexibility__stats-list.is-multiline .environment-flexibility__stats-divider--horizontal {
  display: block;
  width: 100%;
  height: 0.2rem;
  background-color: var(--wp--preset--color--beige-light);
  border-radius: 999rem;
}
@media (max-width: 1328px) {
  .environment-flexibility__stats-list {
    gap: 2.4rem;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__stats-list {
    flex-direction: column;
    gap: 3.2rem;
    align-items: center;
  }
}
.environment-flexibility__stats-divider {
  width: 0.2rem;
  height: auto;
  background-color: var(--wp--preset--color--beige-light);
  border-radius: 999rem;
}
@media (max-width: 768px) {
  .environment-flexibility__stats-divider {
    display: block;
    width: 100%;
    height: 0.2rem;
  }
}
.environment-flexibility__stats-item {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 2.4rem;
  align-items: center;
  width: auto;
  min-width: 24.4rem;
  padding: 0.9rem 0 0;
  border-radius: 1.6rem;
}
.environment-flexibility__stats-item:only-child {
  max-width: 54.4rem;
}
@media (max-width: 768px) {
  .environment-flexibility__stats-item:only-child {
    max-width: none;
  }
}
@media (max-width: 1328px) {
  .environment-flexibility__stats-item {
    gap: 1.6rem;
    min-width: auto;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__stats-item {
    width: 100%;
    padding: 0;
  }
}
.environment-flexibility__stats-head {
  display: flex;
  gap: 1.2rem;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 8rem;
}
@media (max-width: 768px) {
  .environment-flexibility__stats-head {
    gap: 0.8rem;
    height: 7.3rem;
  }
}
.environment-flexibility__stats-icon {
  flex-shrink: 0;
  width: 7rem;
  height: 7rem;
}
@media (max-width: 768px) {
  .environment-flexibility__stats-icon {
    width: 5rem;
    height: 5rem;
  }
}
.environment-flexibility__stats-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.environment-flexibility__stats-info {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  align-items: flex-start;
  justify-content: center;
}
@media (max-width: 768px) {
  .environment-flexibility__stats-info {
    gap: 0;
  }
}
.environment-flexibility__stats-label {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--secondary);
}
@media (max-width: 991px) {
  .environment-flexibility__stats-label {
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__stats-label {
    font-size: 1.4rem;
  }
}
.environment-flexibility__stats-value-wrap {
  display: flex;
  align-items: baseline;
}
.environment-flexibility__stats-value {
  font-family: var(--wp--preset--font-family--autour-kiwi);
  font-size: 4.8rem;
  font-weight: 500;
  line-height: 1;
  color: var(--wp--preset--color--secondary);
  text-transform: uppercase;
  white-space: nowrap;
}
@media (max-width: 991px) {
  .environment-flexibility__stats-value {
    font-size: 3.6rem;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__stats-value {
    font-size: 4rem;
  }
}
.environment-flexibility__stats-unit {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--secondary);
  white-space: nowrap;
}
@media (max-width: 768px) {
  .environment-flexibility__stats-unit {
    font-size: 1.6rem;
  }
}
.environment-flexibility__stats-text {
  width: 100%;
  margin: 0;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.8;
}
@media (max-width: 768px) {
  .environment-flexibility__stats-text {
    text-align: left;
  }
}
.environment-flexibility__image {
  z-index: 1;
  box-sizing: border-box;
  flex-shrink: 0;
  width: 64rem;
  height: 48rem;
  overflow: hidden;
  background-color: color-mix(in srgb, var(--wp--preset--color--black) 13.33%, var(--wp--preset--color--white));
  border-radius: 2rem;
  box-shadow: none;
}
@media (max-width: 1328px) {
  .environment-flexibility__image {
    width: 54rem;
    height: 40rem;
  }
}
@media (max-width: 991px) {
  .environment-flexibility__image {
    width: 36rem;
    height: 27rem;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__image {
    position: relative;
    z-index: 1;
    align-self: flex-end;
    order: 2;
    width: 100%;
    min-width: 24rem;
    height: auto;
    aspect-ratio: 240/180;
    margin: 0;
    border-radius: 1rem;
  }
  .environment-flexibility__image picture {
    display: block;
    width: 100%;
    height: 100%;
  }
  .environment-flexibility__image img {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 1rem;
  }
}
.environment-flexibility__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.environment-flexibility__testimonials {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  align-items: center;
  width: 100%;
  max-width: 96rem;
  margin: 0 auto;
}
@media (max-width: 1328px) {
  .environment-flexibility__testimonials {
    max-width: 100%;
    padding: 0 3rem;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__testimonials {
    gap: 4rem;
    width: calc(100% + 6rem);
    max-width: none;
    padding: 0 1.95rem;
    margin-left: -3rem;
  }
}
.environment-flexibility__testimonial-slider-wrap {
  width: 100%;
}
.environment-flexibility__testimonial-slider {
  display: flex;
  gap: 9.6rem;
  align-items: flex-start;
  width: 100%;
}
@media (max-width: 768px) {
  .environment-flexibility__testimonial-slider {
    overflow: visible;
  }
}
.environment-flexibility__testimonial-item {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: flex-end;
  width: 100%;
  max-width: 96rem;
  height: auto;
  padding-top: 2.4rem;
  overflow: hidden;
  filter: drop-shadow(0 0 4rem var(--wp--preset--color--beige-light));
}
@media (max-width: 1328px) {
  .environment-flexibility__testimonial-item {
    max-width: 100%;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__testimonial-item {
    min-height: auto;
    background: none;
  }
}
.environment-flexibility__testimonial-content {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  height: auto;
  min-height: 26.3rem;
  padding: 4rem 6.4rem;
  background: var(--wp--preset--color--bg-primary);
  border-radius: 4rem;
}
@media (max-width: 1328px) {
  .environment-flexibility__testimonial-content {
    padding: 4rem;
  }
}
@media (max-width: 768px) {
  .environment-flexibility__testimonial-content {
    position: relative;
    gap: 2.4rem;
    min-width: 33.6rem;
    min-height: auto;
    padding: 3.2rem 4rem;
    border-radius: 2rem;
  }
  .environment-flexibility__testimonial-content::before {
    top: -3.4rem;
    left: 5.6rem;
  }
}
.environment-flexibility__testimonial-content::before {
  position: absolute;
  top: -3.4rem;
  left: 9.6rem;
  z-index: 0;
  width: 3.1rem;
  height: 3.5rem;
  clip-path: polygon(85% 0%, 60% 100%, 0% 100%);
  content: "";
  background: var(--wp--preset--color--bg-primary);
}
.environment-flexibility__testimonial-head {
  display: flex;
  gap: 2.4rem;
  align-items: center;
  width: 100%;
}
@media (max-width: 768px) {
  .environment-flexibility__testimonial-head {
    flex-direction: row;
    gap: 1.6rem;
  }
}
.environment-flexibility__testimonial-avatar {
  flex-shrink: 0;
  width: 8.6rem;
  height: 8.6rem;
  padding: 0.3rem;
  overflow: hidden;
  background: linear-gradient(180deg, color-mix(in srgb, var(--wp--preset--color--secondary) 30%, transparent) 0%, color-mix(in srgb, var(--wp--preset--color--green) 30%, transparent) 100%);
  border-radius: 99.9rem;
}
@media (max-width: 768px) {
  .environment-flexibility__testimonial-avatar {
    width: 6.8rem;
    height: 6.8rem;
    padding: 0.4rem;
  }
}
.environment-flexibility__testimonial-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 99.9rem;
  object-fit: cover;
}
.environment-flexibility__testimonial-title {
  flex: 1;
  margin: 0.6rem 0 0;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .environment-flexibility__testimonial-title {
    margin: 0;
    font-size: 1.6rem;
  }
  .environment-flexibility__testimonial-title .environment-flexibility__br-md {
    display: block;
  }
}
.environment-flexibility__testimonial-title .environment-flexibility__br-md {
  display: none;
}
.environment-flexibility__testimonial-text {
  width: 100%;
  margin: 0.3rem 0 0;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
@media (max-width: 768px) {
  .environment-flexibility__testimonial-text {
    margin: 0;
  }
}
.environment-flexibility__testimonial-nav {
  position: absolute;
  top: 15.55rem;
  left: 50%;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 101.8rem;
  pointer-events: none;
  transform: translate(-50%, -50%);
}
@media (max-width: 1328px) {
  .environment-flexibility__testimonial-nav {
    box-sizing: border-box;
    width: 100%;
    padding: 0 1rem;
  }
}
@media (max-width: 1024px) {
  .environment-flexibility__testimonial-nav {
    position: relative;
    top: auto;
    left: auto;
    z-index: 4;
    width: 84%;
    min-width: 31.5rem;
    padding: 0;
    margin: 0 auto;
    transform: none;
  }
}
.environment-flexibility__testimonial-prev, .environment-flexibility__testimonial-next {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  padding: 0;
  pointer-events: auto;
  cursor: pointer;
  background: var(--wp--preset--color--white);
  border: none;
  border-radius: 1rem;
  box-shadow: 0 0 2rem var(--wp--preset--color--beige-light);
  transition: opacity 0.3s ease;
}
@media (max-width: 768px) {
  .environment-flexibility__testimonial-prev, .environment-flexibility__testimonial-next {
    width: 8rem;
    height: 4.5rem;
    padding: 0.4rem 1.2rem;
    border-radius: 0.6rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .environment-flexibility__testimonial-prev:hover, .environment-flexibility__testimonial-next:hover {
    opacity: 0.8;
  }
}
.environment-flexibility__testimonial-prev img, .environment-flexibility__testimonial-next img {
  width: 1.2rem;
  height: auto;
  object-fit: contain;
}
@media (max-width: 768px) {
  .environment-flexibility__testimonial-prev img, .environment-flexibility__testimonial-next img {
    width: 1.2rem;
  }
}
.environment-flexibility__testimonial-next {
  transform: translateX(-0.5rem);
}
@media (max-width: 768px) {
  .environment-flexibility__testimonial-next {
    transform: none;
  }
}
.environment-flexibility__testimonial-next img {
  transform: scaleX(-1);
}
.environment-flexibility__testimonial-pagination {
  display: flex;
  gap: 0.4rem;
  align-items: center;
  justify-content: center;
  height: 0.6rem;
  padding: 0 1.2rem;
}
@media (max-width: 1024px) {
  .environment-flexibility__testimonial-pagination {
    position: absolute;
    bottom: 1.95rem;
    left: 50%;
    z-index: 5;
    transform: translateX(-50%);
  }
}
.environment-flexibility__testimonial-dot {
  width: 0.6rem;
  height: 0.6rem;
  cursor: pointer;
  background: var(--wp--preset--color--silver);
  border-radius: 50%;
  transition: background-color 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .environment-flexibility__testimonial-dot:hover {
    background: var(--wp--preset--color--secondary);
  }
}
.environment-flexibility__testimonial-dot.is-active {
  background: var(--wp--preset--color--secondary);
}

@keyframes flexDrawLineReverse {
  0% {
    stroke-dashoffset: var(--length);
  }
  100% {
    stroke-dashoffset: calc(var(--length) * 2);
  }
}
.environment-benefits {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  align-items: center;
  padding: 12rem 0;
  overflow: hidden;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  line-height: 1.8;
  color: var(--wp--preset--color--primary);
  text-align: center;
  background: var(--wp--preset--color--bg-primary);
  isolation: isolate;
}
@media (max-width: 1232px) {
  .environment-benefits {
    padding: 10rem 0;
  }
}
@media (max-width: 768px) {
  .environment-benefits {
    padding: 6.4rem 0;
  }
}
.environment-benefits__leaf-decor {
  position: absolute;
  top: 8rem;
  left: 0;
  z-index: 0;
  width: 19.3rem;
  height: 16.7rem;
  pointer-events: none;
}
@media (max-width: 991px) {
  .environment-benefits__leaf-decor {
    top: 6rem;
    width: 15rem;
    height: auto;
  }
}
@media (max-width: 768px) {
  .environment-benefits__leaf-decor {
    top: 1.6rem;
    left: 0;
    width: 10.5rem;
    height: 8.9rem;
  }
}
.environment-benefits__leaf-decor.is-active .environment-benefits__leaf--large svg path {
  animation: drawBenefitsLine 4s ease-in-out forwards;
}
.environment-benefits__leaf-decor.is-active .environment-benefits__leaf--small svg path {
  animation: drawBenefitsLineReverse 3.5s ease-in-out 0.5s forwards;
}
.environment-benefits__leaf {
  position: absolute;
}
.environment-benefits__leaf svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.environment-benefits__leaf svg path {
  stroke-dasharray: var(--length);
  stroke-dashoffset: var(--length);
  will-change: stroke-dashoffset;
}
.environment-benefits__leaf-svg {
  display: contents;
}
.environment-benefits__leaf-svg--md {
  display: none;
}
@media (max-width: 768px) {
  .environment-benefits__leaf-svg--pc {
    display: none;
  }
  .environment-benefits__leaf-svg--md {
    display: contents;
  }
}
.environment-benefits__leaf--large {
  top: 0;
  left: 0;
  width: 19.3rem;
  height: 14.6rem;
}
@media (max-width: 991px) {
  .environment-benefits__leaf--large {
    width: 15rem;
    height: auto;
  }
}
@media (max-width: 768px) {
  .environment-benefits__leaf--large {
    width: 10.5rem;
    height: 7.8rem;
  }
}
.environment-benefits__leaf--small {
  top: 5.5rem;
  left: 3.55rem;
  width: 6.6rem;
  height: 11rem;
}
@media (max-width: 991px) {
  .environment-benefits__leaf--small {
    top: 4.5rem;
    left: 1.2rem;
    width: 5rem;
    height: auto;
  }
}
@media (max-width: 768px) {
  .environment-benefits__leaf--small {
    top: 2.8rem;
    left: 0.8rem;
    width: 3.9rem;
    height: 6.5rem;
  }
}
.environment-benefits__container {
  display: flex;
  justify-content: center;
  padding-right: 0;
  padding-left: 0;
  margin: 0 auto;
}
@media (max-width: 1328px) {
  .environment-benefits__container {
    padding: 0 3.2rem;
  }
}
@media (max-width: 768px) {
  .environment-benefits__container {
    padding: 0 3rem;
  }
}
.environment-benefits__inner {
  /* Đã đẩy padding ra container nên ở đây clear đi */
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  align-items: center;
  /* CỐT LÕI: Ôm vừa khít nội dung, không bám theo 100% width của thẻ cha */
  width: max-content;
  max-width: 100%;
  /* Giữ an toàn để không tràn ngang trên mobile */
  padding: 0;
}
@media (max-width: 768px) {
  .environment-benefits__inner {
    gap: 4rem;
  }
}
.environment-benefits__catch {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  align-items: center;
  width: 80rem;
  max-width: 100%;
}
@media (max-width: 991px) {
  .environment-benefits__catch {
    gap: 2.4rem;
    width: 100%;
  }
}
@media (max-width: 768px) {
  .environment-benefits__catch {
    gap: 2.4rem;
  }
}
.environment-benefits__subtitle {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  align-items: center;
}
@media (max-width: 991px) {
  .environment-benefits__subtitle {
    gap: 0.8rem;
  }
}
@media (max-width: 768px) {
  .environment-benefits__subtitle {
    gap: 0.8rem;
  }
}
.environment-benefits__subtitle-en {
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  text-transform: uppercase;
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 22.22%, var(--wp--preset--color--green) 76.59%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 991px) {
  .environment-benefits__subtitle-en {
    font-size: 1.6rem;
  }
}
@media (max-width: 768px) {
  .environment-benefits__subtitle-en {
    font-size: 1.6rem;
  }
}
.environment-benefits__subtitle-line {
  display: block;
  width: 4.6rem;
  height: 0.2rem;
  background-color: var(--wp--preset--color--secondary);
  border-radius: 999rem;
}
@media (max-width: 991px) {
  .environment-benefits__subtitle-line {
    width: 3rem;
  }
}
@media (max-width: 768px) {
  .environment-benefits__subtitle-line {
    width: 3rem;
  }
}
.environment-benefits__subtitle-jp {
  font-weight: 400;
}
@media (max-width: 991px) {
  .environment-benefits__subtitle-jp {
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .environment-benefits__subtitle-jp {
    font-size: 1.6rem;
  }
}
.environment-benefits__title, .environment-benefits__desc, .environment-benefits__card-title, .environment-benefits__card-text {
  margin: 0;
  font-weight: 300;
}
.environment-benefits__txt {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: center;
  width: 100%;
}
@media (max-width: 991px) {
  .environment-benefits__txt {
    gap: 1.6rem;
  }
}
@media (max-width: 768px) {
  .environment-benefits__txt {
    gap: 2rem;
  }
}
.environment-benefits__title {
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 991px) {
  .environment-benefits__title {
    font-size: 2.4rem;
    line-height: 1.2;
  }
}
@media (max-width: 768px) {
  .environment-benefits__title {
    font-size: 2.4rem;
    line-height: 1.5;
  }
  .environment-benefits__title .environment-benefits__br-md {
    display: block;
  }
}
.environment-benefits__title .environment-benefits__br-md {
  display: none;
}
@media (max-width: 991px) {
  .environment-benefits__desc {
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .environment-benefits__desc {
    font-size: 1.6rem;
  }
}
.environment-benefits__cassette-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: center;
  width: 100%;
}
@media (max-width: 768px) {
  .environment-benefits__cassette-wrapper {
    gap: 12.9rem;
    width: 31.5rem;
  }
}
.environment-benefits__slide-track {
  display: contents;
}
@media (max-width: 768px) {
  .environment-benefits__slide-track {
    display: block;
    width: 30rem;
  }
}
.environment-benefits__cassette {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8rem 9.6rem;
  align-items: flex-start;
  justify-content: center;
  max-width: 100%;
}
@media (max-width: 991px) {
  .environment-benefits__cassette {
    gap: 4rem;
    width: 100%;
  }
}
@media (max-width: 768px) {
  .environment-benefits__cassette {
    flex-direction: column;
    gap: 4.8rem;
    align-items: center;
    width: 100%;
    overflow: visible;
  }
}
@media (min-width: 769px) {
  .environment-benefits__cassette:not(.environment-benefits__cassette--grid-4):not(.environment-benefits__cassette--grid-5) .environment-benefits__card:nth-child(2) {
    margin-top: 4.8rem;
  }
}
@media (min-width: 769px) {
  .environment-benefits__cassette--grid-4 {
    display: grid;
    grid-template-columns: repeat(2, 30rem);
    align-items: start;
    justify-content: center;
  }
}
@media (min-width: 769px) and (max-width: 1232px) {
  .environment-benefits__cassette--grid-4 {
    grid-template-columns: repeat(2, 24rem);
  }
}
@media (min-width: 769px) and (max-width: 991px) {
  .environment-benefits__cassette--grid-4 {
    grid-template-columns: repeat(2, 18rem);
  }
}
@media (min-width: 769px) {
  .environment-benefits__cassette--grid-4 .environment-benefits__card:nth-child(even) {
    margin-top: 4.8rem;
  }
}
@media (min-width: 769px) {
  .environment-benefits__cassette--grid-5 {
    max-width: 110rem;
  }
}
@media (max-width: 1232px) {
  .environment-benefits__cassette--grid-5 {
    max-width: 91.2rem;
  }
}
@media (max-width: 991px) {
  .environment-benefits__cassette--grid-5 {
    max-width: 62rem;
  }
}
@media (min-width: 769px) {
  .environment-benefits__cassette--grid-5 .environment-benefits__card:nth-child(2), .environment-benefits__cassette--grid-5 .environment-benefits__card:nth-child(5) {
    margin-top: 4.8rem;
  }
}
.environment-benefits__card {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 1.6rem;
  align-items: center;
  width: 30rem;
  isolation: isolate;
}
@media (max-width: 1232px) {
  .environment-benefits__card {
    gap: 1.2rem;
    width: 24rem;
  }
}
@media (max-width: 991px) {
  .environment-benefits__card {
    width: 18rem;
  }
}
@media (max-width: 768px) {
  .environment-benefits__card {
    flex-shrink: 0;
    gap: 1.2rem;
    width: 30rem;
    max-width: 100%;
  }
}
.environment-benefits__card-img-wrap {
  position: relative;
  flex-shrink: 0;
  width: 30rem;
  height: 30rem;
}
@media (max-width: 1232px) {
  .environment-benefits__card-img-wrap {
    width: 24rem;
    height: 24rem;
  }
}
@media (max-width: 991px) {
  .environment-benefits__card-img-wrap {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
  }
}
@media (max-width: 768px) {
  .environment-benefits__card-img-wrap {
    width: 24rem;
    height: 24rem;
    aspect-ratio: auto;
  }
}
.environment-benefits__card-ellipse {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, color-mix(in srgb, var(--wp--preset--color--beige-light) 70%, transparent) 5%, var(--wp--preset--color--bg-primary) 100%);
  filter: blur(1rem);
  background-blend-mode: multiply;
  border-radius: 50%;
}
.environment-benefits__card-icon {
  --icon-scale: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(28rem * var(--icon-scale));
  height: calc(28rem * var(--icon-scale));
  overflow: hidden;
  border-radius: 99.9rem;
  transform: translate(-50%, -50%);
}
@media (max-width: 1232px) {
  .environment-benefits__card-icon {
    --icon-scale: .785;
  }
}
@media (max-width: 991px) {
  .environment-benefits__card-icon {
    --icon-scale: .64;
  }
}
@media (max-width: 768px) {
  .environment-benefits__card-icon {
    --icon-scale: 1;
    width: calc(24rem * var(--icon-scale));
    height: calc(24rem * var(--icon-scale));
    padding: 1rem;
  }
}
.environment-benefits__card-icon img {
  width: 100%;
  height: auto;
  object-fit: contain;
  aspect-ratio: 1/1;
}
.environment-benefits__card-num {
  position: absolute;
  top: 1.6rem;
  left: 2.4rem;
  z-index: 2;
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 4.8rem;
  font-weight: 300;
  line-height: 1;
  background: linear-gradient(180deg, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--green) 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 1232px) {
  .environment-benefits__card-num {
    top: 1.2rem;
    font-size: 3.2rem;
  }
}
@media (max-width: 768px) {
  .environment-benefits__card-num {
    top: 2rem;
    left: 0.5rem;
    font-size: 3.2rem;
  }
}
.environment-benefits__card-num--two {
  top: 1.4rem;
  left: 1.8rem;
}
.environment-benefits__card-num--three {
  top: 1.4rem;
  left: 1.6rem;
}
.environment-benefits__card-txt {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  align-items: center;
  width: 100%;
}
@media (max-width: 768px) {
  .environment-benefits__card-txt {
    gap: 1.2rem;
  }
}
.environment-benefits__card-title {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 991px) {
  .environment-benefits__card-title {
    font-size: 1.6rem;
    line-height: 1.4;
  }
}
@media (max-width: 768px) {
  .environment-benefits__card-title {
    font-size: 1.8rem;
    line-height: 1.5;
  }
}
@media (max-width: 991px) {
  .environment-benefits__card-text {
    font-size: 1.4rem;
    line-height: 1.4;
  }
}
@media (max-width: 768px) {
  .environment-benefits__card-text {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}

@keyframes drawBenefitsLine {
  0% {
    stroke-dashoffset: var(--length);
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes drawBenefitsLineReverse {
  0% {
    stroke-dashoffset: var(--length);
  }
  100% {
    stroke-dashoffset: calc(var(--length) * 2);
  }
}
@keyframes sweepLeaf {
  0% {
    clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
  }
  100% {
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
}
.environment-faq {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 12rem 0;
  overflow: hidden;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  line-height: 1.8;
  color: var(--wp--preset--color--primary);
  background: var(--wp--preset--color--bg-primary);
  isolation: isolate;
}
@media (max-width: 1232px) {
  .environment-faq {
    padding: 10rem 0;
  }
}
@media (max-width: 768px) {
  .environment-faq {
    gap: 3.2rem;
    align-items: flex-start;
    justify-content: center;
    padding: 6.4rem 0;
  }
}
.environment-faq__line {
  position: absolute;
  top: 4.8rem;
  left: 0;
  z-index: 0;
  width: 100%;
  height: auto;
  pointer-events: none;
}
@media (min-width: 1441px) {
  .environment-faq__line {
    top: 0;
  }
}
@media (max-width: 768px) {
  .environment-faq__line {
    top: 14.8rem;
    right: auto;
    bottom: auto;
    left: 0;
    width: 100%;
    min-width: 0;
    max-width: none;
    height: auto;
    transform: none;
  }
}
.environment-faq__line.is-active svg path {
  animation: drawFaqLine 3s ease-in-out forwards;
  animation-delay: 0.5s;
}
.environment-faq__line-svg svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.environment-faq__line-svg svg path {
  stroke-dasharray: 100;
  stroke-dashoffset: 101;
  will-change: stroke-dashoffset;
}
.environment-faq__line-svg--xl {
  display: none;
}
@media (min-width: 1441px) {
  .environment-faq__line-svg--xl {
    display: block;
  }
}
.environment-faq__line-svg--pc {
  display: block;
}
@media (min-width: 1441px) {
  .environment-faq__line-svg--pc {
    display: none;
  }
}
@media (max-width: 768px) {
  .environment-faq__line-svg--pc {
    display: none;
  }
}
.environment-faq__line-svg--md {
  display: none;
}
@media (max-width: 768px) {
  .environment-faq__line-svg--md {
    display: block;
  }
}
.environment-faq__container {
  display: flex;
  justify-content: center;
  padding-right: 0.2rem;
  padding-left: 0.2rem;
  margin: 0 auto;
}
@media (max-width: 1232px) {
  .environment-faq__container {
    padding: 0 4rem;
  }
}
@media (max-width: 768px) {
  .environment-faq__container {
    padding: 0 2.15rem;
  }
}
.environment-faq__inner {
  position: relative;
  display: flex;
  gap: 9.6rem;
  align-items: flex-start;
  width: 100%;
}
@media (max-width: 991px) {
  .environment-faq__inner {
    gap: 3.2rem;
  }
}
@media (max-width: 768px) {
  .environment-faq__inner {
    gap: 3.2rem;
    align-items: flex-start;
    width: auto;
    max-width: none;
  }
}
.environment-faq__cassette {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0;
  align-items: flex-start;
  width: 100%;
}
@media (max-width: 768px) {
  .environment-faq__cassette {
    gap: 0.8rem;
    width: 28rem;
  }
}
.environment-faq__row {
  display: flex;
  gap: 4rem;
  align-items: flex-start;
}
@media (max-width: 1232px) {
  .environment-faq__row {
    gap: 3.2rem;
  }
}
.environment-faq__row--12 {
  justify-content: center;
  width: 81.6%;
}
@media (max-width: 1232px) {
  .environment-faq__row--12 {
    width: 94%;
  }
}
@media (max-width: 768px) {
  .environment-faq__row--12 {
    flex-direction: column;
    gap: 0.8rem;
    width: 100%;
  }
}
.environment-faq__row--34 {
  align-self: stretch;
  justify-content: center;
  width: 100%;
}
@media (max-width: 768px) {
  .environment-faq__row--34 {
    flex-direction: column;
    gap: 0.8rem;
    width: 100%;
  }
}
.environment-faq__cassette-item {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}
@media (max-width: 768px) {
  .environment-faq__cassette-item {
    justify-content: flex-end;
    width: 28rem;
    padding-top: 0 !important;
    padding-left: 1.6rem;
  }
}
.environment-faq__cassette-item--1, .environment-faq__cassette-item--3 {
  padding-top: 4.8rem;
}
@media (max-width: 991px) {
  .environment-faq__cassette-item--1, .environment-faq__cassette-item--3 {
    padding-top: 2.4rem;
  }
}
@media (max-width: 768px) {
  .environment-faq__cassette-item--2, .environment-faq__cassette-item--4 {
    padding-right: 1.6rem;
    padding-left: 0;
  }
}
@media (max-width: 768px) {
  .environment-faq__cassette-item--3 {
    min-height: 9.6rem;
  }
}
@media (max-width: 768px) {
  .environment-faq__cassette-item--4 {
    min-height: 12rem;
  }
}
.environment-faq__comment {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 1.6rem;
  margin-right: -2.8rem;
  filter: drop-shadow(0 0 20px var(--wp--preset--color--beige-light));
  transition: filter 0.3s ease;
}
@media (max-width: 991px) {
  .environment-faq__comment {
    padding-top: 1rem;
  }
}
@media (max-width: 768px) {
  .environment-faq__comment {
    width: 25.4rem;
    padding-top: 1.2rem;
    margin-right: -2rem;
  }
}
.environment-faq__q {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 36rem;
  padding: 3.2rem 4rem 3.2rem 3.2rem;
  cursor: default;
  background: var(--wp--preset--color--white);
  border-radius: 1.6rem;
}
@media (max-width: 1232px) {
  .environment-faq__q {
    padding: 2.8rem 3.6rem 2.8rem 2.8rem;
  }
}
@media (max-width: 991px) {
  .environment-faq__q {
    width: 28rem;
    padding: 2.4rem 3.2rem 2.4rem 2.4rem;
  }
}
@media (max-width: 768px) {
  .environment-faq__q {
    width: 25.4rem;
    min-width: 24rem;
    max-width: 28rem;
    padding: 2rem 2.4rem 2rem 2rem;
    border-radius: 0.8rem;
  }
}
.environment-faq__q-row {
  display: flex;
  gap: 0.8rem;
  align-items: baseline;
  align-self: stretch;
  margin-bottom: 0;
  transition: margin-bottom 0.4s ease;
}
@media (max-width: 768px) {
  .environment-faq__q-row {
    gap: 0.4rem;
  }
}
.is-open .environment-faq__q-row {
  margin-bottom: 2.4rem;
}
.environment-faq__q-label {
  flex-shrink: 0;
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2.4rem;
  font-weight: 300;
  line-height: 1;
  color: var(--wp--preset--color--secondary);
  text-transform: uppercase;
}
@media (max-width: 991px) {
  .environment-faq__q-label {
    font-size: 2rem;
  }
}
@media (max-width: 768px) {
  .environment-faq__q-label {
    font-size: 2rem;
  }
}
.environment-faq__q-text {
  flex: 1;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--secondary);
}
@media (max-width: 991px) {
  .environment-faq__q-text {
    font-size: 1.6rem;
  }
}
@media (max-width: 768px) {
  .environment-faq__cassette-item--3 .environment-faq__q {
    min-height: 6.4rem;
  }
}
@media (max-width: 768px) {
  .environment-faq__cassette-item--4 .environment-faq__q {
    min-height: 8.8rem;
  }
}
.environment-faq__q-text, .environment-faq__a-text, .environment-faq__subtitle-jp {
  margin: 0;
}
@media (max-width: 768px) {
  .environment-faq__q-text br, .environment-faq__a-text br {
    display: none;
  }
}
.environment-faq__bubble-tail {
  position: relative;
  align-self: flex-start;
  width: 30rem;
  height: 2rem;
  margin-top: -0.1rem;
  margin-left: 3rem;
  pointer-events: none;
}
@media (max-width: 991px) {
  .environment-faq__bubble-tail {
    width: 25rem;
    margin-left: 3rem;
  }
}
@media (max-width: 768px) {
  .environment-faq__bubble-tail {
    left: 7vw;
    width: 70vw;
    height: 5.5vw;
  }
}
.environment-faq__cassette-item.is-open .environment-faq__bubble-tail, .environment-faq__cassette-item.is-hovered .environment-faq__bubble-tail {
  display: none !important;
}
.environment-faq__btn {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  align-self: flex-start;
  width: 4rem;
  height: 4rem;
  padding: 0;
  color: var(--wp--preset--color--white);
  cursor: pointer;
  background: none;
  border: none;
}
@media (max-width: 991px) {
  .environment-faq__btn {
    width: 3rem;
    height: 3rem;
  }
}
@media (max-width: 768px) {
  .environment-faq__btn {
    align-self: flex-start;
    margin-top: 0;
  }
}
.environment-faq__btn::before {
  position: absolute;
  inset: 0;
  content: "";
  background: var(--wp--preset--color--green);
  border-radius: 50%;
}
.environment-faq__btn-minus, .environment-faq__btn-plus {
  position: absolute;
  top: 1.2rem;
  left: 1.2rem;
  width: 1.4rem;
  height: 1.4rem;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transform-origin: center;
}
@media (max-width: 991px) {
  .environment-faq__btn-minus, .environment-faq__btn-plus {
    top: 0.7rem;
    left: 0.7rem;
    width: 1.2rem;
    height: 1.2rem;
  }
}
@media (max-width: 768px) {
  .environment-faq__btn-minus, .environment-faq__btn-plus {
    top: 0.7rem;
    left: 0.7rem;
    width: 1.4rem;
    height: 1.4rem;
  }
}
.environment-faq__btn-minus {
  opacity: 0;
  transform: rotate(-90deg);
}
.environment-faq__btn[aria-expanded=true] .environment-faq__btn-plus {
  opacity: 0;
  transform: rotate(90deg);
}
.environment-faq__btn[aria-expanded=true] .environment-faq__btn-minus {
  opacity: 1;
  transform: rotate(0);
}
.environment-faq__answer {
  display: grid;
  grid-template-rows: 0fr;
  align-self: stretch;
  overflow: hidden;
  transition: grid-template-rows 0.4s ease;
}
.is-open .environment-faq__answer {
  grid-template-rows: 1fr;
}
.environment-faq__answer-inner {
  display: flex;
  gap: 1.2rem;
  align-items: baseline;
  min-height: 0;
}
.environment-faq__a-label {
  flex-shrink: 0;
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  color: color-mix(in srgb, var(--wp--preset--color--primary) 60%, var(--wp--preset--color--white));
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .environment-faq__a-label {
    font-size: 1.6rem;
  }
}
.environment-faq__a-text {
  flex: 1;
  font-weight: 300;
}
@media (max-width: 768px) {
  .environment-faq__a-text {
    font-size: 1.4rem;
  }
}
.environment-faq__subtitle {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 1.2rem;
  align-items: center;
  width: 2rem;
}
@media (max-width: 768px) {
  .environment-faq__subtitle {
    gap: 0.8rem;
    width: 2rem;
    height: 20.5rem;
  }
}
.environment-faq__subtitle-en {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  align-items: center;
}
@media (max-width: 768px) {
  .environment-faq__subtitle-en {
    gap: 0.8rem;
  }
}
.environment-faq__subtitle-line {
  display: block;
  width: 0.2rem;
  height: 4.6rem;
  background-color: var(--wp--preset--color--secondary);
  border-radius: 999rem;
}
@media (max-width: 768px) {
  .environment-faq__subtitle-line {
    height: 3rem;
  }
}
.environment-faq__subtitle-en-text {
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  background: linear-gradient(var(--wp--preset--color--secondary) 22.22%, var(--wp--preset--color--green) 76.59%);
  background-clip: text;
  writing-mode: vertical-lr;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .environment-faq__subtitle-en-text {
    font-size: 1.6rem;
    writing-mode: vertical-lr;
  }
}
.environment-faq__subtitle-divider {
  display: block;
  width: 2rem;
  height: 0;
  border-top: 1px solid var(--wp--preset--color--primary);
}
.environment-faq__subtitle-jp {
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.2em;
  writing-mode: vertical-rl;
}
@media (max-width: 768px) {
  .environment-faq__subtitle-jp {
    height: 100%;
    font-size: 1.6rem;
    letter-spacing: 0.28rem;
    writing-mode: vertical-rl;
  }
}
.environment-faq__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
  visibility: hidden;
  background-color: color-mix(in srgb, var(--wp--preset--color--beige-light) 60%, transparent);
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.environment-faq__cassette-item {
  position: relative;
  z-index: 1;
  transition: z-index 0.3s ease;
}
.environment-faq__cassette-item.is-hovered, .environment-faq__cassette-item.is-open {
  z-index: 10 !important;
}
.environment-faq__cassette-item.is-hovered .environment-faq__comment {
  filter: none !important;
  transition: filter 0s !important;
}

.environment-faq-global-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  visibility: hidden;
  background-color: color-mix(in srgb, var(--wp--preset--color--beige-light) 60%, transparent);
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

body.has-faq-overlay .environment-faq-global-overlay {
  visibility: visible;
  opacity: 1;
}
body.has-faq-overlay .environment-faq {
  position: relative;
  z-index: 10000 !important;
}
body.has-faq-overlay .environment-faq .environment-faq__overlay {
  visibility: visible;
  opacity: 1;
}

.environment-faq.is-animating-exit {
  position: relative;
  z-index: 10000 !important;
}
.environment-faq.is-animating-exit .environment-faq__overlay {
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

@keyframes drawFaqLine {
  0% {
    stroke-dashoffset: 101;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.environment-requirement {
  position: relative;
  padding: 12rem 0;
  overflow: hidden;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  color: var(--wp--preset--color--primary);
  background-color: var(--wp--preset--color--bg-primary);
}
@media (max-width: 768px) {
  .environment-requirement {
    padding: 0;
  }
}
.environment-requirement__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  align-items: center;
  max-width: 126.4rem;
}
@media (max-width: 768px) {
  .environment-requirement__inner {
    gap: 4rem;
    padding: 6rem 1.95rem;
  }
}
.environment-requirement__card {
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  width: 100%;
  padding: 9.6rem 12rem;
  background: var(--wp--preset--color--white);
  border-radius: 1.6rem;
  box-shadow: 0 0 20px color-mix(in srgb, var(--wp--preset--color--black) 10%, var(--wp--preset--color--white));
}
@media (max-width: 1232px) {
  .environment-requirement__card {
    gap: 3.2rem;
    padding: 6rem 3.2rem;
  }
}
@media (max-width: 768px) {
  .environment-requirement__card {
    gap: 4rem;
    padding: 4.8rem 2.8rem;
    border-radius: 0.8rem;
  }
}
.environment-requirement__title {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 1232px) {
  .environment-requirement__title {
    font-size: clamp(2rem, 2.1103896104vw, 2.6rem);
  }
}
@media (max-width: 768px) {
  .environment-requirement__title {
    margin-left: -0.4rem;
    font-size: 1.8rem;
  }
}
.environment-requirement__list {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.environment-requirement__item {
  box-sizing: border-box;
  padding-top: 4rem;
  transition: padding-bottom 0.3s ease;
}
.environment-requirement__item.is-active {
  padding-bottom: 2.4rem;
  border-bottom: none;
}
@media (max-width: 768px) {
  .environment-requirement__item.is-active {
    padding-bottom: 0;
  }
}
.environment-requirement__item.is-active + .environment-requirement__item {
  padding-top: 0;
  border-top: none;
}
.environment-requirement__item:not(:first-child) {
  border-top: 1px solid var(--wp--preset--color--silver);
}
.environment-requirement__item:first-child {
  padding-top: 0;
}
.environment-requirement__item:last-child.is-active {
  padding-bottom: 0;
}
.environment-requirement__item:last-child.is-active .environment-requirement__a-btn {
  margin-bottom: 0;
}
.environment-requirement__q {
  position: relative;
  display: flex;
  gap: 4rem;
  align-items: flex-start;
  padding-bottom: 4rem;
  cursor: pointer;
}
@media (max-width: 768px) {
  .environment-requirement__q {
    gap: 3.2rem;
    width: 100%;
    padding-bottom: 3.6rem;
  }
}
.environment-requirement__q.is-active::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(100% - 3.2rem);
  height: 1px;
  content: "";
  background: var(--wp--preset--color--silver);
}
@media (max-width: 768px) {
  .environment-requirement__q.is-active::after {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (max-width: 768px) {
  .environment-requirement__q {
    gap: 3.2rem;
    width: 100%;
    padding-bottom: 4rem;
  }
}
.environment-requirement__q-left {
  display: flex;
  gap: 4rem;
  align-items: flex-start;
}
@media (max-width: 991px) {
  .environment-requirement__q-left {
    gap: 2rem;
  }
}
@media (max-width: 768px) {
  .environment-requirement__q-left {
    flex-direction: column;
    gap: 3.2rem;
    width: 100%;
  }
}
.environment-requirement__q-name {
  position: relative;
  display: block;
  width: 28rem;
  padding-left: 2.3rem;
  margin-left: 0.4rem;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
}
.environment-requirement__q-name::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 0.3rem;
  height: 100%;
  content: "";
  background-color: var(--wp--preset--color--secondary);
  border-radius: 999rem;
}
@media (max-width: 768px) {
  .environment-requirement__q-name {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: auto;
    max-width: none;
    height: auto;
    min-height: 2.4rem;
    padding-right: 4rem;
    padding-left: 1.4rem;
    font-size: 1.6rem;
    line-height: 1.5;
    border-left-width: 0.3rem;
  }
}
.environment-requirement__q-tags {
  display: flex;
  flex: 1;
  flex-wrap: wrap;
  gap: 1.2rem;
  max-width: 60rem;
}
@media (max-width: 768px) {
  .environment-requirement__q-tags {
    gap: 0.8rem;
    padding-left: 1.6rem;
  }
}
.environment-requirement__q-tag {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: calc(0.45rem - 1px) calc(1.6rem - 1px);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  border: 1px solid var(--wp--preset--color--secondary);
  border-radius: 0.6rem;
}
@media (max-width: 1232px) {
  .environment-requirement__q-tag {
    font-size: clamp(1.2rem, 1.1363636364vw, 1.4rem);
  }
}
@media (max-width: 768px) {
  .environment-requirement__q-tag {
    min-height: 3rem;
    padding: calc(0.45rem - 1px) calc(1.2rem - 1px);
    font-size: 1.4rem;
    line-height: 1.5;
    border-radius: 0.6rem;
  }
}
.environment-requirement__q-btn {
  position: relative;
  flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
  margin-left: auto;
}
@media (max-width: 768px) {
  .environment-requirement__q-btn {
    position: absolute;
    top: 0;
    right: 0;
    width: 2rem;
    height: 2rem;
  }
  .environment-requirement__q-btn::before {
    top: 1.2rem;
    left: 0.3rem;
    width: 2rem;
    height: 0.2rem;
  }
  .environment-requirement__q-btn::after {
    top: 0.3rem;
    left: 1.2rem;
    width: 0.2rem;
    height: 2rem;
  }
}
.environment-requirement__q-btn::before, .environment-requirement__q-btn::after {
  position: absolute;
  content: "";
  background: var(--wp--preset--color--green);
  border-radius: 999rem;
  transition: all 0.3s ease;
}
.environment-requirement__q-btn::before {
  top: 1.05rem;
  left: 0;
  width: 2.4rem;
  height: 0.3rem;
}
.environment-requirement__q-btn::after {
  top: 0;
  left: 1.05rem;
  width: 0.3rem;
  height: 2.4rem;
}
@media (max-width: 768px) {
  .environment-requirement__q-btn {
    position: absolute;
    top: 0.1rem;
    right: 0.3rem;
    width: 2.4rem;
    height: 2.4rem;
  }
  .environment-requirement__q-btn::before {
    top: 0.9rem;
    left: 0;
    width: 2rem;
    height: 0.2rem;
  }
  .environment-requirement__q-btn::after {
    top: 0;
    left: 0.9rem;
    width: 0.2rem;
    height: 2rem;
  }
}
.environment-requirement__q.is-active .environment-requirement__q-btn::after {
  opacity: 0;
  transform: rotate(90deg);
}
.environment-requirement__a {
  display: none;
  padding-top: 4rem;
}
@media (max-width: 768px) {
  .environment-requirement__a {
    padding-top: 0;
  }
}
.environment-requirement__a-table {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media (max-width: 768px) {
  .environment-requirement__a-table {
    gap: 0;
  }
}
.environment-requirement__a-row {
  position: relative;
  display: flex;
  gap: 4rem;
  align-items: flex-start;
  padding: 0 8rem 4rem 4rem;
}
.environment-requirement__a-row::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(100% - 3.2rem);
  height: 1px;
  content: "";
  background: var(--wp--preset--color--silver);
}
@media (max-width: 991px) {
  .environment-requirement__a-row {
    gap: 2rem;
    padding-right: 6rem;
  }
}
@media (max-width: 768px) {
  .environment-requirement__a-row {
    flex-direction: column;
    gap: 2.4rem;
    padding: 4rem 2rem;
  }
  .environment-requirement__a-row:nth-child(-n+2) {
    padding-bottom: 4rem;
  }
  .environment-requirement__a-row::after {
    left: 1.6rem;
    width: calc(100% - 3.2rem);
  }
}
.environment-requirement__a-label {
  flex-shrink: 0;
  width: 24.4rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .environment-requirement__a-label {
    width: 100%;
    font-size: 1.6rem;
  }
}
.environment-requirement__a-content {
  flex: 1;
  max-width: 54rem;
  margin: 0;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
@media (max-width: 1232px) {
  .environment-requirement__a-content {
    font-size: clamp(1.5rem, 1.2987012987vw, 1.6rem);
  }
}
@media (max-width: 768px) {
  .environment-requirement__a-content {
    font-size: 1.6rem;
    line-height: 1.8;
    text-align: justify;
  }
}
.environment-requirement__a-list {
  padding: 0;
  margin: 0;
  list-style: none;
}
.environment-requirement__a-item {
  position: relative;
  padding-left: 0;
}
.environment-requirement__a-btn {
  display: flex;
  justify-content: center;
  margin: 6.4rem 0 9.6rem;
}
@media (max-width: 768px) {
  .environment-requirement__a-btn {
    margin: 4rem 0 5.6rem;
  }
}
.environment-requirement__a-btn .environment-requirement__a-entry-btn {
  box-sizing: border-box;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: center;
  width: 28rem;
  height: 8rem;
  padding: 1.6rem 3.2rem;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--white);
  text-decoration: none;
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--green) 100%);
  border-radius: 1rem;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.environment-requirement__a-btn .environment-requirement__a-entry-btn:hover {
  opacity: 0.8;
  transform: translateY(-2px);
}
.environment-requirement__a-btn .environment-requirement__a-entry-btn-icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 2rem;
}
.environment-requirement__a-btn .environment-requirement__a-entry-btn-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media (max-width: 768px) {
  .environment-requirement__a-btn .environment-requirement__a-entry-btn {
    gap: 0.4rem;
    width: 100%;
    max-width: 24rem;
    height: 6rem;
    padding: 1.2rem 2rem;
    font-size: 1.6rem;
    border-radius: 0.6rem;
  }
}

.recruit-flow {
  position: relative;
  padding: 8rem 1.85rem;
  overflow: hidden;
  font-family: var(--wp--preset--font-family--autour-one);
  background-color: var(--wp--preset--color--bg-primary);
  isolation: isolate;
}
@media (max-width: 991px) {
  .recruit-flow {
    padding: 6.4rem 1.85rem 0;
  }
}
.recruit-flow__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  padding: 4rem 0 3.8rem;
}
@media (max-width: 991px) {
  .recruit-flow__inner {
    gap: 4rem;
    padding: 0;
  }
}
.recruit-flow__steps {
  position: relative;
  display: flex;
  flex-direction: row;
  gap: 1.2rem;
  align-items: stretch;
  justify-content: center;
  width: 100%;
}
@media (max-width: 991px) {
  .recruit-flow__steps {
    flex-direction: column;
    gap: 0.8rem;
    align-items: center;
  }
}
.recruit-flow__steps--grid {
  max-width: 120rem;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .recruit-flow__steps--grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.2rem 1.2rem;
  }
  .recruit-flow__steps--grid:has(> .recruit-flow__item:nth-child(5):last-child) {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 89.7rem;
  }
  .recruit-flow__steps--grid:has(> .recruit-flow__item:nth-child(5):last-child) .recruit-flow__item {
    width: calc((100% - 2.4rem) / 3);
  }
  .recruit-flow__steps--grid:has(> .recruit-flow__item:nth-child(5):last-child) .recruit-flow__item:nth-child(3)::before, .recruit-flow__steps--grid:has(> .recruit-flow__item:nth-child(5):last-child) .recruit-flow__item:nth-child(3)::after {
    display: none;
  }
  .recruit-flow__steps--grid:has(> .recruit-flow__item:nth-child(5):last-child) .recruit-flow__item:nth-child(4)::before, .recruit-flow__steps--grid:has(> .recruit-flow__item:nth-child(5):last-child) .recruit-flow__item:nth-child(4)::after {
    display: block;
  }
}
@media (min-width: 769px) and (max-width: 1232px) {
  .recruit-flow__steps--grid:has(> .recruit-flow__item:nth-child(5):last-child) .recruit-flow__item-inner {
    width: 100%;
  }
}
@media (min-width: 769px) {
  .recruit-flow__steps--grid:has(> .recruit-flow__item:nth-child(6):last-child), .recruit-flow__steps--grid:has(> .recruit-flow__item:nth-child(7):last-child) {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .recruit-flow__steps--grid:has(> .recruit-flow__item:nth-child(6):last-child) .recruit-flow__item, .recruit-flow__steps--grid:has(> .recruit-flow__item:nth-child(7):last-child) .recruit-flow__item {
    width: calc((100% - 3.6rem) / 4);
  }
}
@media (min-width: 769px) and (max-width: 1232px) {
  .recruit-flow__steps--grid:has(> .recruit-flow__item:nth-child(6):last-child) .recruit-flow__item-inner, .recruit-flow__steps--grid:has(> .recruit-flow__item:nth-child(7):last-child) .recruit-flow__item-inner {
    width: 100%;
  }
}
@media (min-width: 769px) {
  .recruit-flow__steps--grid .recruit-flow__item:nth-child(4n)::before, .recruit-flow__steps--grid .recruit-flow__item:nth-child(4n)::after {
    display: none;
  }
}
.recruit-flow__item {
  position: relative;
  display: flex;
  flex-direction: column;
}
@media (max-width: 991px) {
  .recruit-flow__item {
    width: 100%;
    margin: 0 auto;
  }
}
.recruit-flow__item-inner {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  align-items: center;
  width: 100%;
  max-width: 29.1rem;
  height: 100%;
  padding: 8rem 4.8rem;
  text-align: center;
  background-color: color-mix(in srgb, var(--wp--preset--color--beige-light) 70%, var(--wp--preset--color--white));
  border-radius: 999px;
}
@media (max-width: 1232px) {
  .recruit-flow__item-inner {
    padding: 6rem 3rem;
  }
}
@media (max-width: 1080px) {
  .recruit-flow__item-inner {
    min-height: 36rem;
    padding: 6rem 3.6rem;
  }
}
@media (max-width: 991px) {
  .recruit-flow__item-inner {
    flex-direction: row;
    gap: 3.2rem;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    max-width: none;
    height: 19.6rem;
    min-height: auto;
    padding: 3.2rem 4.8rem;
    text-align: left;
    border-radius: 99.9rem;
  }
}
.recruit-flow__item::before, .recruit-flow__item::after {
  position: absolute;
  top: 50%;
  right: -2.2rem;
  width: 3.6rem;
  height: 4.6rem;
  pointer-events: none;
  content: "";
  transform: translateY(-50%);
}
@media (max-width: 991px) {
  .recruit-flow__item::before, .recruit-flow__item::after {
    top: auto;
    right: auto;
    bottom: -2.6rem;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
  }
}
.recruit-flow__item::before {
  z-index: 1;
  background-color: color-mix(in srgb, var(--wp--preset--color--beige-light) 70%, var(--wp--preset--color--white));
  mask: url('data:image/svg+xml;utf8,<svg width="36" height="46" viewBox="0 0 36 46" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18 0.194458C18.005 0.794121 18.172 3.50508 21.1221 5.82434C29.8619 12.6953 29.9994 22.0145 30 22.7374V22.7814C29.9999 22.7997 29.9993 22.8199 29.999 22.8419C29.9984 22.8859 29.9978 22.9371 29.9961 22.9952C29.9927 23.1115 29.9871 23.256 29.9766 23.4259C29.9555 23.7652 29.9159 24.2094 29.8428 24.7394C29.6971 25.7954 29.4132 27.2178 28.8584 28.84C27.7414 32.1058 25.5073 36.2147 21.1221 39.6622C18.172 41.9815 18.005 44.6925 18 45.2921L6 45.2433V0.243286L18 0.194458Z" fill="black"/></svg>') no-repeat center/contain;
}
.recruit-flow__item::after {
  z-index: 2;
  background-color: var(--wp--preset--color--bg-primary);
  mask: url('data:image/svg+xml;utf8,<svg width="36" height="46" viewBox="0 0 36 46" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18 0.194458C18.005 0.794121 18.172 3.50508 21.1221 5.82434C29.8619 12.6953 29.9994 22.0145 30 22.7374V22.7814C29.9999 22.7997 29.9993 22.8199 29.999 22.8419C29.9984 22.8859 29.9978 22.9371 29.9961 22.9952C29.9927 23.1115 29.9871 23.256 29.9766 23.4259C29.9555 23.7652 29.9159 24.2094 29.8428 24.7394C29.6971 25.7954 29.4132 27.2178 28.8584 28.84C27.7414 32.1058 25.5073 36.2147 21.1221 39.6622C18.172 41.9815 18.005 44.6925 18 45.2921L6 45.2433V0.243286L18 0.194458Z" fill="none" stroke="black" stroke-width="12"/></svg>') no-repeat center/contain;
}
.recruit-flow__item:last-child .recruit-flow__item-inner {
  background: linear-gradient(180deg, color-mix(in srgb, var(--wp--preset--color--secondary) 30%, transparent) 0%, color-mix(in srgb, var(--wp--preset--color--green) 30%, transparent) 100%);
}
.recruit-flow__item:last-child::before, .recruit-flow__item:last-child::after {
  display: none;
}
.recruit-flow__item-number {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  align-items: center;
}
@media (max-width: 991px) {
  .recruit-flow__item-number {
    flex-shrink: 0;
    gap: 0.4rem;
    width: 4.1rem;
  }
}
.recruit-flow__item-number-prefix {
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  color: var(--wp--preset--color--secondary);
  text-transform: uppercase;
}
.recruit-flow__item-number-value {
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 4.8rem;
  font-weight: 300;
  line-height: 100%;
  text-align: center;
  background: linear-gradient(180deg, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--green) 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
}
@media (max-width: 1080px) {
  .recruit-flow__item-number-value {
    font-size: 3.6rem;
  }
}
.recruit-flow__item-content {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media (max-width: 991px) {
  .recruit-flow__item-content {
    flex-grow: 1;
    gap: 0.8rem;
  }
}
.recruit-flow__item-title {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--secondary);
}
@media (max-width: 991px) {
  .recruit-flow__item-title {
    font-size: 2rem;
  }
}
@media (max-width: 991px) {
  .recruit-flow__item-title {
    text-align: left;
  }
}
.recruit-flow__item-text {
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 991px) {
  .recruit-flow__item-text {
    margin-top: 0;
    font-size: 1.4rem;
    text-align: left;
  }
}
.recruit-flow__item--step-1 {
  z-index: 8;
}
.recruit-flow__item--step-2 {
  z-index: 7;
}
.recruit-flow__item--step-3 {
  z-index: 6;
}
.recruit-flow__item--step-4 {
  z-index: 5;
}
.recruit-flow__item--step-5 {
  z-index: 4;
}
.recruit-flow__item--step-6 {
  z-index: 3;
}
.recruit-flow__item--step-7 {
  z-index: 2;
}
.recruit-flow__item--step-8 {
  z-index: 1;
}
.recruit-flow__women {
  position: absolute;
  top: -13.7rem;
  left: -0.9rem;
  z-index: 3;
}
@media (max-width: 991px) {
  .recruit-flow__women {
    top: auto;
    right: 0.65rem;
    bottom: -4.8rem;
    left: auto;
    width: 6rem;
    height: 10.1rem;
  }
  .recruit-flow__women img {
    display: block;
    width: 100%;
    height: auto;
  }
}

@keyframes drawFlowLine {
  0% {
    stroke-dashoffset: 101;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.recruit-form-heading {
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  min-height: 90rem;
  padding: 16rem 12rem 8rem;
  overflow: hidden;
  background: var(--wp--preset--color--bg-primary);
  isolation: isolate;
}
@media (max-width: 991px) {
  .recruit-form-heading {
    padding: 13.6rem 3rem 6.4rem;
  }
}
.recruit-form-heading__bg {
  position: absolute;
  top: 8rem;
  left: calc(50% - 720px);
  z-index: -1;
  width: 1440px;
  height: 2318px;
  pointer-events: none;
  background: linear-gradient(309.31deg, var(--wp--preset--color--bg-primary) 15.61%, color-mix(in srgb, var(--wp--preset--color--beige-light) 50%, transparent) 88.68%);
  filter: blur(30px);
  border-radius: 999px;
}
@media (max-width: 768px) {
  .recruit-form-heading__bg {
    top: 7.2rem;
    left: calc(50% - 384px);
    width: 768px;
    height: 2299px;
    filter: blur(20px);
  }
}
.recruit-form-heading__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 120rem;
  padding: 0;
}
@media (max-width: 768px) {
  .recruit-form-heading__inner {
    max-width: 100%;
  }
}
.recruit-form-heading__icon {
  position: absolute;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  border-radius: 2rem;
  box-shadow: 0 0 2rem var(--wp--preset--color--beige-light);
  object-fit: cover;
}
@media (max-width: 768px) {
  .recruit-form-heading__icon {
    border-radius: 1rem;
  }
}
.recruit-form-heading__icon--1 {
  top: 12rem;
  left: 0;
  width: 19rem;
  height: 14.3rem;
}
@media (max-width: 1150px) {
  .recruit-form-heading__icon--1 {
    top: 6rem;
    left: 2rem;
    width: 15rem;
    height: auto;
  }
}
@media (max-width: 574px) {
  .recruit-form-heading__icon--1 {
    top: 5rem;
    left: 0.75rem;
    width: 12.8rem;
    height: 9.6rem;
  }
}
.recruit-form-heading__icon--2 {
  top: 0;
  right: 12rem;
  width: 16rem;
  height: 12rem;
}
@media (max-width: 1150px) {
  .recruit-form-heading__icon--2 {
    width: 13rem;
    height: auto;
  }
}
@media (max-width: 574px) {
  .recruit-form-heading__icon--2 {
    right: 6.75rem;
    width: 8rem;
    height: 6rem;
  }
}
.recruit-form-heading__icon--3 {
  top: 16rem;
  right: 0;
  width: 18rem;
  height: 13.5rem;
}
@media (max-width: 1150px) {
  .recruit-form-heading__icon--3 {
    width: 14rem;
    height: auto;
  }
}
@media (max-width: 574px) {
  .recruit-form-heading__icon--3 {
    top: 8.5rem;
    right: 0.75rem;
    width: 10rem;
    height: 7.5rem;
  }
}
.recruit-form-heading__txt {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
@media (max-width: 768px) {
  .recruit-form-heading__txt {
    min-height: auto;
    padding: 0;
  }
}
.recruit-form-heading__main-box {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  align-items: center;
  width: 60%;
  max-width: 80rem;
  padding: 14.8rem 2.4rem 1.197rem;
}
@media (max-width: 768px) {
  .recruit-form-heading__main-box {
    gap: 1.6rem;
    width: 100%;
    height: auto;
    padding: 0;
    margin-top: 15.9rem;
  }
}
.recruit-form-heading__en {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--primary);
  text-align: center;
  text-transform: uppercase;
  transform: matrix(1, 0, -0.19, 0.98, 0, 0);
}
@media (max-width: 768px) {
  .recruit-form-heading__en {
    width: 60%;
    margin: 0 auto;
    margin-top: 4rem;
    font-size: 2.4rem;
    font-weight: 500;
    text-align: center;
    white-space: normal;
  }
}
@media (max-width: 574px) {
  .recruit-form-heading__en {
    width: 100%;
  }
}
.recruit-form-heading__ja {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  text-align: center;
}
.recruit-form-heading__sub {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 56rem;
  height: auto;
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  text-align: center;
  white-space: normal;
}
@media (max-width: 768px) {
  .recruit-form-heading__sub {
    margin: 0 auto;
    text-align: center;
    word-break: break-word;
    white-space: normal;
  }
}
.recruit-form-heading__badges {
  z-index: 2;
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 5.203rem 0 0;
}
@media (max-width: 768px) {
  .recruit-form-heading__badges {
    padding: 0 0.4rem;
    margin-top: 4rem;
  }
}
.recruit-form-heading__badges-list {
  display: flex;
  flex-wrap: nowrap;
  gap: 1.6rem;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
@media (max-width: 574px) {
  .recruit-form-heading__badges-list {
    display: grid;
    grid-template-columns: repeat(2, max-content);
    gap: 1.6rem 0.8rem;
    justify-content: center;
    width: 100%;
    font-size: 1.4rem;
  }
  .recruit-form-heading__badges-list > .recruit-form-heading__badge:nth-child(2) {
    grid-row: 1;
    grid-column: 1/-1;
    justify-self: center;
  }
  .recruit-form-heading__badges-list > .recruit-form-heading__badge:nth-child(1) {
    grid-row: 2;
    grid-column: 1;
    justify-self: end;
  }
  .recruit-form-heading__badges-list > .recruit-form-heading__badge:nth-child(3) {
    grid-row: 2;
    grid-column: 2;
    justify-self: start;
  }
}
.recruit-form-heading__badge {
  position: relative;
  display: inline-flex;
  flex-direction: row;
  gap: 0.4rem;
  align-items: center;
  justify-content: center;
  padding: 1.1rem 2.4rem;
  white-space: nowrap;
  background: linear-gradient(180deg, color-mix(in srgb, var(--wp--preset--color--secondary) 30%, transparent) 0%, color-mix(in srgb, var(--wp--preset--color--green) 30%, transparent) 100%);
  border-radius: 99.999rem;
}
.recruit-form-heading__badge::before {
  position: absolute;
  inset: 0;
  padding: 0.1rem;
  content: "";
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--green) 100%);
  border-radius: inherit;
  mask: linear-gradient(var(--wp--preset--color--white) 0 0) content-box, linear-gradient(var(--wp--preset--color--white) 0 0);
  mask-composite: exclude;
}
@media (max-width: 768px) {
  .recruit-form-heading__badge {
    padding: 0.8rem 1.2rem;
  }
  .recruit-form-heading__badge-text {
    font-size: 1.4rem;
  }
  .recruit-form-heading__badge::after {
    bottom: -0.8rem;
    width: 0.8rem;
    height: 0.8rem;
  }
}
.recruit-form-heading__badge-icon {
  display: block;
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  overflow: visible;
  color: var(--wp--preset--color--secondary);
}
.recruit-form-heading__badge-text {
  display: inline-block;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--wp--preset--color--secondary);
  text-align: center;
}
.recruit-form-heading__badge::after {
  position: absolute;
  bottom: -0.8rem;
  left: 50%;
  width: 0.8rem;
  height: 0.8rem;
  pointer-events: none;
  content: "";
  background-color: var(--wp--preset--color--secondary);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='9' viewBox='0 0 9 9' fill='none'%3E%3Cpath d='M8.5 0.5C5.37581 3.62419 3.62419 5.37581 0.5 8.5' stroke='black' stroke-linecap='round'/%3E%3C/svg%3E") center center/contain no-repeat;
  transform: translateX(-50%);
}
.recruit-form-heading__decor-line {
  position: absolute;
  bottom: 5rem;
  left: 0;
  z-index: -1;
  width: 100%;
  height: auto;
  pointer-events: none;
}
.recruit-form-heading__decor-line--pc {
  display: block;
}
@media (max-width: 768px) {
  .recruit-form-heading__decor-line--pc {
    display: none;
  }
}
.recruit-form-heading__decor-line--md {
  display: none;
}
@media (max-width: 768px) {
  .recruit-form-heading__decor-line--md {
    display: block;
  }
}
.recruit-form-heading__decor-line svg {
  display: block;
  width: 100%;
  height: auto;
}
.recruit-form-heading__decor-line svg path {
  stroke-dasharray: var(--length);
  stroke-dashoffset: var(--length);
  will-change: stroke-dashoffset;
}
.recruit-form-heading__decor-line.is-active svg path {
  animation: drawFormLine 3s ease-in-out forwards;
  animation-delay: 0.5s;
}
.recruit-form-heading .container-lg {
  margin-top: 7.2rem;
}
@media (max-width: 768px) {
  .recruit-form-heading .container-lg {
    padding-right: 0;
    padding-left: 0;
    margin-top: 4.8rem;
  }
}

@keyframes drawFormLine {
  0% {
    stroke-dashoffset: var(--length);
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.recruit-form {
  position: relative;
  z-index: 10;
  padding-bottom: 12rem;
  margin-top: -18rem;
}
@media (max-width: 768px) {
  .recruit-form {
    padding-bottom: 6rem;
    margin-top: -6rem;
  }
}
.recruit-form__inner {
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  align-items: center;
  width: 100%;
  max-width: 96rem;
  padding: 6.4rem 0;
  margin: 0 auto;
  background: var(--wp--preset--color--white);
  border-radius: 0.8rem;
  box-shadow: 0.6rem 0.6rem 2rem 0.2rem color-mix(in srgb, var(--wp--preset--color--black) 10%, transparent);
}
@media (max-width: 768px) {
  .recruit-form__inner {
    gap: 3.2rem;
    padding: 3.2rem 0;
  }
}
.recruit-form__title {
  display: flex;
  align-items: center;
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.33;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 1439px) {
  .recruit-form__title {
    font-size: 2.2rem;
  }
}
@media (max-width: 991px) {
  .recruit-form__title {
    font-size: 2rem;
  }
}
@media (max-width: 768px) {
  .recruit-form__title {
    font-size: 2.4rem;
  }
}
.recruit-form__iframe-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 50rem;
  overflow: hidden;
  background: color-mix(in srgb, var(--wp--preset--color--black) 80%, var(--wp--preset--color--white));
  border-radius: 0.8rem;
}
.recruit-form__iframe-wrap iframe {
  width: 100%;
  height: 100%;
  border: none;
}
.recruit-form__iframe-placeholder {
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  color: color-mix(in srgb, var(--wp--preset--color--black) 13.33%, var(--wp--preset--color--white));
  text-align: center;
}
@media (max-width: 1439px) {
  .recruit-form__iframe-placeholder {
    font-size: 1.5rem;
  }
}
@media (max-width: 991px) {
  .recruit-form__iframe-placeholder {
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .recruit-form__iframe-placeholder {
    font-size: 1.3rem;
  }
}

.c-cta-bnr {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 70rem;
  padding: 23.7rem 2rem;
  overflow: hidden;
}
@media (max-width: 768px) {
  .c-cta-bnr {
    height: auto;
    padding: 14.4rem 2rem 6.4rem;
  }
}
.c-cta-bnr__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}
.c-cta-bnr__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
.c-cta-bnr__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  align-items: center;
  width: 100%;
  max-width: 96rem;
}
@media (max-width: 768px) {
  .c-cta-bnr__inner {
    gap: 1.6rem;
  }
}
.c-cta-bnr__txt {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.c-cta-bnr__en {
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.22;
  color: var(--wp--preset--color--white);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .c-cta-bnr__en {
    font-size: 1.4rem;
  }
}
.c-cta-bnr__ja {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 9rem;
  font-weight: 900;
  line-height: 1.2;
  color: var(--wp--preset--color--white);
  text-align: center;
}
@media (max-width: 768px) {
  .c-cta-bnr__ja {
    font-size: 3.6rem;
  }
}
.c-cta-bnr__btn {
  display: flex;
  flex-direction: row;
  gap: 3.2rem;
  align-items: center;
  justify-content: center;
}
@media (max-width: 768px) {
  .c-cta-bnr__btn {
    flex-direction: column;
    gap: 1.6rem;
    width: 100%;
  }
}

.c-error-404 {
  padding: 4rem 0 12rem;
  background-color: var(--wp--preset--color--bg-primary);
  isolation: isolate;
}
@media (max-width: 768px) {
  .c-error-404 {
    padding: 4rem 0 6rem;
  }
}
.c-error-404__row {
  display: flex;
  gap: 8rem;
  align-items: center;
  justify-content: center;
}
@media (max-width: 768px) {
  .c-error-404__row {
    flex-direction: column;
    gap: 4rem;
  }
}
.c-error-404__content {
  max-width: 50rem;
  text-align: center;
}
@media (max-width: 768px) {
  .c-error-404__content {
    padding: 0 3.2rem;
    text-align: center;
  }
}
.c-error-404__txt {
  margin-bottom: 6.4rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
}
@media (max-width: 768px) {
  .c-error-404__txt {
    margin-top: 0;
    margin-bottom: 4rem;
  }
}
.c-error-404__btn-wrap {
  display: flex;
  justify-content: center;
}

@keyframes float {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-20px) rotate(2deg);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
@keyframes twinkle {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
.p-post-list {
  padding: 6rem 0;
}
@media (max-width: 768px) {
  .p-post-list {
    padding: 6rem 0;
  }
}
.p-post-list__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6rem 4rem;
}
@media (max-width: 768px) {
  .p-post-list__grid {
    grid-template-columns: 1fr;
    gap: 4rem;
  }
}
.p-post-list__item {
  color: inherit;
  text-decoration: none;
  transition: transform 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .p-post-list__item:hover {
    transform: translateY(-0.5rem);
  }
  .p-post-list__item:hover .p-post-list__img img {
    transform: scale(1.05);
  }
}
.p-post-list__img {
  aspect-ratio: 16/10;
  margin-bottom: 2rem;
  overflow: hidden;
  background: color-mix(in srgb, var(--wp--preset--color--black) 13.33%, var(--wp--preset--color--white));
  border-radius: 1rem;
}
.p-post-list__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.p-post-list__meta {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  margin-bottom: 1rem;
}
.p-post-list__date {
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 1.4rem;
  color: color-mix(in srgb, var(--wp--preset--color--black) 13.33%, var(--wp--preset--color--white));
}
.p-post-list__cat {
  padding: 0.2rem 1rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--wp--preset--color--primary);
  background: color-mix(in srgb, var(--wp--preset--color--black) 13.33%, var(--wp--preset--color--white));
  border-radius: 2rem;
}
.p-post-list__title {
  display: box;
  margin-bottom: 0;
  overflow: hidden;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.p-post-list--list .p-post-list__grid {
  display: block;
}
.p-post-list--list .p-post-list__item {
  display: grid;
  grid-template-columns: 32rem 1fr;
  gap: 4rem;
  align-items: center;
  padding: 1.5rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--black) 13.33%, var(--wp--preset--color--white));
}
@media (max-width: 768px) {
  .p-post-list--list .p-post-list__item {
    grid-template-columns: 10rem 1fr;
    gap: 2rem;
    padding: 2rem 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-post-list--list .p-post-list__item:hover {
    transform: none;
  }
  .p-post-list--list .p-post-list__item:hover .p-post-list__title {
    color: var(--wp--preset--color--secondary);
  }
}
.p-post-list--list .p-post-list__item:first-child {
  border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--black) 13.33%, var(--wp--preset--color--white));
}
.p-post-list--list .p-post-list__img {
  position: relative;
  margin-bottom: 0;
}
.p-post-list--list .p-post-list__img::before {
  display: block;
  padding-top: 62.5%;
  content: "";
}
.p-post-list--list .p-post-list__img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-post-list--list .p-post-list__title {
  font-size: 2.4rem;
}
@media (max-width: 768px) {
  .p-post-list--list .p-post-list__title {
    font-size: 1.6rem;
  }
}

.p-search-query {
  margin-bottom: 4rem;
  font-size: 2rem;
  font-weight: 700;
  color: var(--wp--preset--color--primary);
}
.p-search-query span {
  margin-left: 1rem;
  color: var(--wp--preset--color--secondary);
}

.p-page, .p-single {
  padding: 6.4rem 3.2rem 12rem;
}
@media (max-width: 768px) {
  .p-page, .p-single {
    padding: 4rem 2.4rem 6.4rem;
  }
}

.p-pagination {
  display: flex;
  justify-content: center;
  margin-top: 8rem;
}
@media (max-width: 768px) {
  .p-pagination {
    margin-top: 5rem;
  }
}
.p-pagination .wp-block-query-pagination {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.p-pagination .wp-block-query-pagination a, .p-pagination .wp-block-query-pagination span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  font-size: 1.4rem;
  color: inherit;
  text-decoration: none;
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--black) 13.33%, var(--wp--preset--color--white));
  border-radius: 50%;
  transition: all 0.3s ease;
}
.p-pagination .wp-block-query-pagination .current {
  color: var(--wp--preset--color--white);
  background: var(--wp--preset--color--primary);
  border-color: var(--wp--preset--color--primary);
}
@media (hover: hover) and (pointer: fine) {
  .p-pagination .wp-block-query-pagination a:hover {
    background: color-mix(in srgb, var(--wp--preset--color--black) 13.33%, var(--wp--preset--color--white));
  }
}

.special-kv {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  overflow: hidden;
  background: var(--wp--preset--color--bg-primary);
}
.special-kv__decor-svg {
  position: absolute;
  inset: 0;
  top: calc(4.6527777778vw + 9rem);
  z-index: 3;
  width: 100%;
  height: auto;
  max-height: calc(100% - 5.2083333333vw - 9rem);
  pointer-events: none;
}
.special-kv__decor-svg--pc {
  visibility: visible;
  opacity: 1;
}
@media (max-width: 768px) {
  .special-kv__decor-svg--pc {
    visibility: hidden;
    opacity: 0;
  }
}
.special-kv__decor-svg--md {
  visibility: hidden;
  opacity: 0;
}
@media (max-width: 768px) {
  .special-kv__decor-svg--md {
    top: calc(50% - 10.3rem + 3rem);
    z-index: 2;
    max-height: 39.6rem;
    visibility: visible;
    opacity: 1;
  }
}
.special-kv__decor-svg svg {
  display: block;
  width: 100%;
  height: 100%;
}
.special-kv__decor-svg svg path {
  fill: none;
  stroke-dasharray: 100;
  stroke-dashoffset: 101;
  will-change: stroke-dashoffset;
}
.special-kv__decor-svg.is-active svg path {
  animation: drawKvLine 3s ease-out forwards;
}
.special-kv__inner {
  width: 100%;
  height: 100%;
  padding: 12rem 0 3rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .special-kv__inner {
    z-index: auto;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    align-items: flex-end;
    padding: 6.8rem 0 3.2rem;
  }
}
.special-kv__photo {
  position: relative;
  z-index: 1;
  width: 81.9444444444%;
  height: auto;
  aspect-ratio: 1180/660;
  margin-left: auto;
  overflow: hidden;
  border-radius: 2rem 0 0 2rem;
}
@media (max-width: 768px) {
  .special-kv__photo {
    width: calc(100% - 3.2rem);
    aspect-ratio: 343/180;
    border-radius: 1rem 0 0 1rem;
  }
}
.special-kv__photo::after {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
  content: "";
  background: linear-gradient(90deg, color-mix(in srgb, var(--wp--preset--color--white) 30%, transparent) -6.48%, color-mix(in srgb, var(--wp--preset--color--white) 0%, transparent) 73.56%);
}
.special-kv__photo-img {
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 0 0;
}
.special-kv__content {
  position: absolute;
  bottom: 8.4rem;
  left: 6.25vw;
  z-index: 4;
  display: flex;
  flex-direction: column;
  gap: 4.1rem;
  justify-content: center;
  width: 74rem;
}
@media (max-width: 1232px) {
  .special-kv__content {
    gap: 3rem;
    width: 54rem;
  }
}
@media (max-width: 991px) {
  .special-kv__content {
    top: 17rem;
    gap: 2rem;
    width: 44rem;
  }
}
@media (max-width: 768px) {
  .special-kv__content {
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    z-index: 3;
    gap: 2.1rem;
    width: 100%;
    padding: 0 2.8rem 0 3.2rem;
  }
}
.special-kv__title {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 7.2rem;
  font-weight: 300;
  line-height: 1.3;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 1232px) {
  .special-kv__title {
    font-size: 5.2rem;
  }
}
@media (max-width: 991px) {
  .special-kv__title {
    font-size: 4rem;
  }
}
@media (max-width: 768px) {
  .special-kv__title {
    font-size: 3.2rem;
  }
}
.special-kv__profile {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  align-items: flex-start;
  width: 41.6rem;
  padding: 3.2rem 4rem 4rem;
  background: var(--wp--preset--color--white);
  border-radius: 1.6rem;
  box-shadow: 0 0 2rem var(--wp--preset--color--beige-light);
}
@media (max-width: 1232px) {
  .special-kv__profile {
    width: 36rem;
    padding: 2.4rem 3.2rem 3.2rem;
    border-radius: 1.2rem;
  }
}
@media (max-width: 991px) {
  .special-kv__profile {
    gap: 0.8rem;
    width: 28rem;
    padding: 2rem;
  }
}
@media (max-width: 768px) {
  .special-kv__profile {
    gap: 1.3rem;
    width: 100%;
    max-width: 31.5rem;
    padding: 1.6rem 2.4rem 2rem;
    border-radius: 0.8rem;
  }
}
.special-kv__profile-info {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  width: 100%;
}
@media (max-width: 991px) {
  .special-kv__profile-info {
    gap: 0.2rem;
  }
}
@media (max-width: 768px) {
  .special-kv__profile-info {
    gap: 0.4rem;
  }
}
.special-kv__profile-name-wrap {
  display: flex;
  flex-direction: row;
  gap: 1.6rem;
  align-items: baseline;
}
@media (max-width: 1232px) {
  .special-kv__profile-name-wrap {
    gap: 1.4rem;
  }
}
@media (max-width: 991px) {
  .special-kv__profile-name-wrap {
    gap: 0.8rem;
  }
}
@media (max-width: 768px) {
  .special-kv__profile-name-wrap {
    gap: 1.2rem;
  }
}
.special-kv__profile-name {
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 1232px) {
  .special-kv__profile-name {
    font-size: 2rem;
  }
}
@media (max-width: 768px) {
  .special-kv__profile-name {
    font-size: 1.8rem;
  }
}
.special-kv__profile-name-en {
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1;
  color: var(--wp--preset--color--silver);
}
.special-kv__profile-role {
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 1232px) {
  .special-kv__profile-role {
    font-size: 1.3rem;
  }
}
@media (max-width: 768px) {
  .special-kv__profile-role {
    font-size: 1.2rem;
  }
}
.special-kv__profile-divider {
  width: 100%;
  height: 1px;
  margin: 0;
  background: var(--wp--preset--color--green);
  border: none;
}
.special-kv__profile-desc {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 1232px) {
  .special-kv__profile-desc {
    font-size: 1.3rem;
  }
}
@media (max-width: 768px) {
  .special-kv__profile-desc {
    font-size: 1.2rem;
  }
}

@keyframes drawKvLine {
  0% {
    stroke-dashoffset: 101;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.special-section1 {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 12rem 0;
  overflow: hidden;
  background: var(--wp--preset--color--bg-primary);
}
@media (max-width: 768px) {
  .special-section1 {
    padding: 6.4rem 0;
  }
}
.special-section1__decor-svg {
  position: absolute;
  top: -10.2rem;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.special-section1__decor-svg--pc {
  visibility: visible;
  opacity: 1;
}
@media (max-width: 768px) {
  .special-section1__decor-svg--pc {
    visibility: hidden;
    opacity: 0;
  }
}
.special-section1__decor-svg--md {
  visibility: hidden;
  opacity: 0;
}
@media (max-width: 768px) {
  .special-section1__decor-svg--md {
    top: auto;
    bottom: 33.6rem;
    visibility: visible;
    opacity: 1;
  }
}
.special-section1__decor-svg svg {
  display: block;
  width: 100%;
  height: 100%;
}
.special-section1__decor-svg svg path {
  fill: none;
  stroke-dasharray: 100;
  stroke-dashoffset: 101;
  will-change: stroke-dashoffset;
}
.special-section1__decor-svg.is-active svg path {
  animation: drawSectionLine 3s ease-out forwards;
}
.special-section1__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 9.6rem;
  width: 100%;
  margin: 0 auto;
}
@media (max-width: 1232px) {
  .special-section1__inner {
    gap: 7.2rem;
  }
}
@media (max-width: 768px) {
  .special-section1__inner {
    gap: 5.6rem;
    align-items: center;
  }
}
.special-section1__inner.container {
  padding: 0;
}
@media (max-width: 1232px) {
  .special-section1__inner.container {
    max-width: none !important;
    padding: 0 6.4rem;
  }
}
@media (max-width: 768px) {
  .special-section1__inner.container {
    padding: 0 3rem;
  }
}
.special-section1__cassette {
  display: flex;
  flex-direction: row;
  gap: 8rem;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
}
@media (max-width: 1232px) {
  .special-section1__cassette {
    gap: 4rem;
  }
}
@media (max-width: 768px) {
  .special-section1__cassette {
    flex-direction: column;
    gap: 3.4rem;
    align-items: center;
    width: 100%;
  }
}
.special-section1__photo {
  flex-shrink: 0;
  width: 45%;
  max-width: 48rem;
  height: auto;
  max-height: 46rem;
  aspect-ratio: 48/46;
  overflow: hidden;
  background: color-mix(in srgb, var(--wp--preset--color--black) 13.33%, var(--wp--preset--color--white)) -1;
  border-radius: 2rem;
  box-shadow: 0 0 2rem var(--wp--preset--color--beige-light);
}
@media (max-width: 1232px) {
  .special-section1__photo {
    max-width: none;
    max-height: none;
  }
}
@media (max-width: 768px) {
  .special-section1__photo {
    order: 1;
    width: 100%;
    aspect-ratio: 317/303;
    border-radius: 1rem;
  }
}
.special-section1__photo-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.special-section1__content {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 2.4rem;
  width: 52rem;
}
@media (max-width: 1232px) {
  .special-section1__content {
    flex-shrink: 1;
    width: auto;
  }
}
@media (max-width: 768px) {
  .special-section1__content {
    gap: 1.6rem;
    order: 0;
    width: 100%;
  }
}
.special-section1__title {
  display: flex;
  gap: 1.2rem;
  align-items: stretch;
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 1232px) {
  .special-section1__title {
    font-size: 2.2rem;
  }
}
@media (max-width: 768px) {
  .special-section1__title {
    gap: 1.2rem;
    font-size: 2rem;
  }
}
.special-section1__title::before {
  display: block;
  flex-shrink: 0;
  width: 0.4rem;
  content: "";
  background: var(--wp--preset--color--secondary);
  border-radius: 9.9rem;
}
.special-section1__desc {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--wp--preset--color--primary);
  text-align: justify;
}

@keyframes drawSectionLine {
  0% {
    stroke-dashoffset: 101;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.special-section2 {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 12rem 0;
  overflow: hidden;
  background: linear-gradient(90deg, color-mix(in srgb, var(--wp--preset--color--beige-light) 50%, transparent) 0%, var(--wp--preset--color--bg-primary) 100%);
}
@media (max-width: 991px) {
  .special-section2 {
    padding: 6.4rem 0;
  }
}
.special-section2__decor-bottom, .special-section2__decor-top {
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
.special-section2__decor-bottom--pc, .special-section2__decor-top--pc {
  visibility: visible;
  opacity: 1;
}
@media (max-width: 768px) {
  .special-section2__decor-bottom--pc, .special-section2__decor-top--pc {
    visibility: hidden;
    opacity: 0;
  }
}
.special-section2__decor-bottom--md, .special-section2__decor-top--md {
  visibility: hidden;
  opacity: 0;
}
@media (max-width: 768px) {
  .special-section2__decor-bottom--md, .special-section2__decor-top--md {
    visibility: visible;
    opacity: 1;
  }
}
.special-section2__decor-bottom svg, .special-section2__decor-top svg {
  display: block;
  width: 100%;
  height: 100%;
}
.special-section2__decor-bottom svg path, .special-section2__decor-top svg path {
  fill: none;
  stroke-dasharray: 100;
  stroke-dashoffset: 101;
  will-change: stroke-dashoffset;
}
.special-section2__decor-bottom.is-active svg path, .special-section2__decor-top.is-active svg path {
  animation: drawSectionLine 3s ease-out forwards;
}
.special-section2__decor-bottom {
  bottom: 11rem;
  left: 0;
  width: 100%;
  height: auto;
}
@media (max-width: 768px) {
  .special-section2__decor-bottom {
    bottom: 3.1rem;
  }
}
.special-section2__decor-top {
  left: 50%;
  width: 100%;
  height: auto;
  transform: translateX(-50%);
}
@media (max-width: 768px) {
  .special-section2__decor-top {
    top: 2rem;
    height: 147vw;
    max-height: 69rem;
  }
}
.special-section2__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  align-items: center;
  width: 100%;
}
@media (max-width: 768px) {
  .special-section2__inner {
    gap: 3.2rem;
  }
}
.special-section2__inner.container {
  padding: 0;
}
@media (max-width: 1232px) {
  .special-section2__inner.container {
    max-width: none !important;
    padding: 0 6.4rem;
  }
}
@media (max-width: 991px) {
  .special-section2__inner.container {
    padding: 0 4rem;
  }
}
@media (max-width: 768px) {
  .special-section2__inner.container {
    padding: 0 3rem;
  }
}
.special-section2__title-box {
  display: flex;
  flex-direction: column;
  gap: 9.6rem;
  align-items: center;
  width: 100%;
  max-width: 108rem;
}
@media (max-width: 991px) {
  .special-section2__title-box {
    gap: 5.6rem;
  }
}
@media (max-width: 768px) {
  .special-section2__title-box {
    gap: 4.8rem;
  }
}
.special-section2__main-title {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--primary);
  text-align: center;
}
@media (max-width: 991px) {
  .special-section2__main-title {
    font-size: 2.8rem;
  }
}
@media (max-width: 768px) {
  .special-section2__main-title {
    font-size: 2.4rem;
  }
}
.special-section2 .is_sp {
  display: none;
}
@media (max-width: 768px) {
  .special-section2 .is_sp {
    display: block;
  }
}
.special-section2__photos {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
  justify-content: center;
  width: 100%;
}
@media (max-width: 1232px) {
  .special-section2__photos {
    gap: 2rem;
  }
}
@media (max-width: 991px) {
  .special-section2__photos {
    gap: 1.6rem;
  }
}
@media (max-width: 768px) {
  .special-section2__photos {
    grid-template-columns: 1fr 1fr;
    gap: 1.6rem;
    max-width: 50rem;
  }
}
.special-section2__photo-item {
  z-index: 1;
  flex-shrink: 0;
  width: 100%;
  max-width: 34.4rem;
  height: auto;
  aspect-ratio: 344/258;
  overflow: hidden;
  background: color-mix(in srgb, var(--wp--preset--color--black) 13.33%, var(--wp--preset--color--white));
  border-radius: 2rem;
}
@media (max-width: 1232px) {
  .special-section2__photo-item {
    max-width: 32rem;
    aspect-ratio: 32/24;
    border-radius: 1.5rem;
  }
}
@media (max-width: 991px) {
  .special-section2__photo-item {
    max-width: 28rem;
    aspect-ratio: 28/20;
    border-radius: 1.2rem;
  }
}
@media (max-width: 768px) {
  .special-section2__photo-item {
    width: 100%;
    max-width: 24rem;
    height: auto;
    aspect-ratio: 149.5/112;
    border-radius: 1rem;
  }
  .special-section2__photo-item:first-child {
    grid-column: 1/-1;
    max-width: 50rem;
    aspect-ratio: 315/236;
  }
}
.special-section2__photo-img, .special-section2__end-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.special-section2__schedule {
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  align-items: center;
  width: 100%;
  max-width: 108rem;
  padding: 8rem 0 8.2rem;
  background: var(--wp--preset--color--bg-primary);
  border-radius: 4rem;
  box-shadow: 0 0 2rem var(--wp--preset--color--beige-light);
}
@media (max-width: 991px) {
  .special-section2__schedule {
    gap: 4.8rem;
    padding: 5.6rem 3.2rem;
    border-radius: 3.2rem;
  }
}
@media (max-width: 768px) {
  .special-section2__schedule {
    gap: 4rem;
    width: calc(100% + 6rem);
    padding: 4.9rem 0 4.5rem;
    margin-right: -3rem;
    margin-left: -3rem;
    border-radius: 2rem;
  }
}
.special-section2__schedule-title {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--secondary);
  text-align: center;
}
@media (max-width: 991px) {
  .special-section2__schedule-title {
    font-size: 2rem;
  }
}
@media (max-width: 768px) {
  .special-section2__schedule-title {
    font-size: 1.8rem;
  }
}
.special-section2__timeline {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  align-items: flex-start;
  width: 80rem;
}
@media (max-width: 991px) {
  .special-section2__timeline {
    gap: 4rem;
    width: 100%;
  }
}
@media (max-width: 768px) {
  .special-section2__timeline {
    gap: 4.8rem;
    padding: 0 3rem;
  }
}
.special-section2__cassette {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row;
  gap: 3.2rem;
  align-items: flex-start;
  width: 100%;
}
@media (max-width: 991px) {
  .special-section2__cassette {
    gap: 2.4rem;
  }
}
@media (max-width: 768px) {
  .special-section2__cassette {
    gap: 1.6rem;
  }
}
.special-section2__cassette::before {
  position: absolute;
  top: 1.8rem;
  left: 1rem;
  z-index: -1;
  width: 0.3rem;
  height: calc(100% + 4.8rem);
  content: "";
  background: var(--wp--preset--color--secondary);
  transform: translateX(-50%);
}
@media (max-width: 991px) {
  .special-section2__cassette::before {
    height: calc(100% + 4rem);
  }
}
@media (max-width: 768px) {
  .special-section2__cassette::before {
    top: 1.35rem;
    left: 0.8rem;
    height: calc(100% + 4.8rem);
  }
}
.special-section2__cassette:last-child::before {
  display: none;
}
.special-section2__time-box {
  display: flex;
  flex-direction: row;
  flex-shrink: 0;
  gap: 1.2rem;
  align-items: center;
  width: 12rem;
}
@media (max-width: 991px) {
  .special-section2__time-box {
    gap: 0.8rem;
    width: 10rem;
  }
}
@media (max-width: 768px) {
  .special-section2__time-box {
    width: 8rem;
  }
}
.special-section2__dot {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  background: var(--wp--preset--color--secondary);
  border-radius: 50%;
}
@media (max-width: 768px) {
  .special-section2__dot {
    width: 1.6rem;
    height: 1.6rem;
  }
}
.special-section2__time {
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--secondary);
}
@media (max-width: 991px) {
  .special-section2__time {
    font-size: 2rem;
  }
}
@media (max-width: 768px) {
  .special-section2__time {
    font-size: 1.8rem;
  }
}
.special-section2__text-box {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: 1.2rem;
}
@media (max-width: 768px) {
  .special-section2__text-box {
    gap: 0.8rem;
  }
}
.special-section2__heading {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 991px) {
  .special-section2__heading {
    font-size: 2rem;
  }
}
@media (max-width: 768px) {
  .special-section2__heading {
    font-size: 1.8rem;
  }
}
.special-section2__desc {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 768px) {
  .special-section2__desc {
    font-size: 1.4rem;
  }
}
.special-section2__end-photo {
  z-index: 3;
  width: 80rem;
  height: 40rem;
  overflow: hidden;
  background: color-mix(in srgb, var(--wp--preset--color--black) 13.33%, var(--wp--preset--color--white));
  border-radius: 2rem;
}
@media (max-width: 991px) {
  .special-section2__end-photo {
    width: 100%;
    height: 32rem;
  }
}
@media (max-width: 768px) {
  .special-section2__end-photo {
    max-width: 57.5rem;
    height: auto;
    aspect-ratio: 315/158;
    border-radius: 1rem;
  }
}

@keyframes drawSectionLine {
  0% {
    stroke-dashoffset: 101;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.special-section3 {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 12rem 0;
  overflow: hidden;
  background: var(--wp--preset--color--bg-primary);
}
@media (max-width: 768px) {
  .special-section3 {
    padding: 6.4rem 0;
  }
}
.special-section3__decor-leaf {
  position: absolute;
  top: 15.8rem;
  left: 0;
  z-index: 2;
  width: 18.4rem;
  height: 13.6rem;
  clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
  pointer-events: none;
}
@media (max-width: 768px) {
  .special-section3__decor-leaf {
    top: 11rem;
    width: 8.2rem;
    height: 6.4rem;
  }
}
.special-section3__decor-leaf--pc {
  display: block;
}
@media (max-width: 768px) {
  .special-section3__decor-leaf--pc {
    display: none;
  }
}
.special-section3__decor-leaf--md {
  display: none;
}
@media (max-width: 768px) {
  .special-section3__decor-leaf--md {
    display: block;
  }
}
.special-section3__decor-leaf svg {
  display: block;
  width: 100%;
  height: auto;
}
.special-section3__decor-leaf.is-active {
  animation: sweepLeaf 2.5s ease-in-out forwards;
}
.special-section3__leaf-decor {
  position: absolute;
  top: 15.8rem;
  left: 0;
  z-index: 3;
  width: 18.4rem;
  height: 13.6rem;
  pointer-events: none;
}
@media (max-width: 768px) {
  .special-section3__leaf-decor {
    top: 11rem;
    width: 8.2rem;
    height: 6.4rem;
  }
}
.special-section3__leaf-decor.is-active .special-section3__leaf--large svg path {
  animation: drawSection3Line 4s ease-in-out forwards;
}
.special-section3__leaf-decor.is-active .special-section3__leaf--small svg path {
  animation: drawSection3LineReverse 3.5s ease-in-out 0.7s forwards;
}
.special-section3__leaf {
  position: absolute;
}
.special-section3__leaf svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.special-section3__leaf svg path {
  stroke-dasharray: var(--length);
  stroke-dashoffset: var(--length);
  will-change: stroke-dashoffset;
}
.special-section3__leaf-svg {
  display: block;
  width: 100%;
  height: 100%;
}
.special-section3__leaf-svg--md {
  display: none;
}
@media (max-width: 768px) {
  .special-section3__leaf-svg--pc {
    display: none;
  }
  .special-section3__leaf-svg--md {
    display: block;
  }
}
.special-section3__leaf--large {
  top: 0;
  left: 0;
  width: 18.4rem;
  height: 8.8rem;
}
@media (max-width: 768px) {
  .special-section3__leaf--large {
    width: 8.2rem;
    height: 4.4rem;
  }
}
.special-section3__leaf--small {
  bottom: -0.6rem;
  left: 2.8rem;
  width: 8.9rem;
  height: 10rem;
}
@media (max-width: 768px) {
  .special-section3__leaf--small {
    bottom: -0.8rem;
    left: 1.4rem;
    width: 3.9rem;
    height: 5rem;
  }
}
.special-section3__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.special-section3__inner.container {
  padding: 0;
}
@media (max-width: 1232px) {
  .special-section3__inner.container {
    max-width: none !important;
    padding: 0 6.4rem;
  }
}
@media (max-width: 768px) {
  .special-section3__inner.container {
    padding: 0;
  }
}
.special-section3__main-title {
  margin: 0;
  margin-bottom: 9.6rem;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--primary);
  text-align: center;
}
@media (max-width: 768px) {
  .special-section3__main-title {
    margin-bottom: 4.8rem;
    font-size: 2.4rem;
  }
}
.special-section3__contents {
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  align-items: center;
  width: 100%;
  margin-bottom: 12.2rem;
}
@media (max-width: 768px) {
  .special-section3__contents {
    gap: 4.1rem;
    margin-bottom: 6.6rem;
  }
}
.special-section3__ph-box {
  display: flex;
  justify-content: flex-start;
  width: 91.6666666667vw;
  height: 48rem;
  margin: 0 auto;
  margin-left: calc(50% - 50vw);
}
@media (max-width: 1232px) {
  .special-section3__ph-box {
    height: auto;
    aspect-ratio: 1440/480;
  }
}
@media (max-width: 768px) {
  .special-section3__ph-box {
    width: 91.7333333333vw;
    height: 18rem;
    aspect-ratio: auto;
  }
}
.special-section3__ph-wrap {
  width: 100%;
  height: auto;
  margin-right: auto;
  overflow: hidden;
  border-radius: 0 2rem 2rem 0;
}
@media (max-width: 768px) {
  .special-section3__ph-wrap {
    height: 100%;
    border-radius: 0 1rem 1rem 0;
  }
}
.special-section3__ph-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
.special-section3__txt {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
@media (max-width: 768px) {
  .special-section3__txt {
    gap: 2rem;
    padding: 0 10vw;
  }
}
.special-section3__title {
  display: flex;
  gap: 1.2rem;
  align-items: stretch;
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 768px) {
  .special-section3__title {
    font-size: 2rem;
  }
}
@media (min-width: 1600px) {
  .special-section3__title {
    font-size: 3.2rem;
  }
}
.special-section3__title::before {
  display: block;
  flex-shrink: 0;
  width: 0.4rem;
  content: "";
  background: var(--wp--preset--color--secondary);
  border-radius: 9.9rem;
}
.special-section3 .is_sp {
  display: none;
}
@media (max-width: 768px) {
  .special-section3 .is_sp {
    display: block;
  }
}
.special-section3__desc {
  margin: 0;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--wp--preset--color--primary);
  text-align: justify;
}
@media (min-width: 1600px) {
  .special-section3__desc {
    font-size: 1.8rem;
  }
}

@keyframes sweepLeaf {
  0% {
    clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  }
  100% {
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
}
@keyframes drawSection3Line {
  0% {
    stroke-dashoffset: var(--length);
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes drawSection3LineReverse {
  0% {
    stroke-dashoffset: var(--length);
  }
  100% {
    stroke-dashoffset: calc(var(--length) * 2);
  }
}
.special-section4 {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 4rem 2rem 12rem;
}
@media (max-width: 768px) {
  .special-section4 {
    padding: 2.4rem 2rem 6.4rem;
  }
}
.special-section4__inner.container {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  padding: 0 2.4rem;
}
.special-section4__nav-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 62rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .special-section4__nav-wrap {
    max-width: 30rem;
  }
}
.special-section4__nav {
  display: flex;
  flex: 1;
}
.special-section4__nav--prev {
  justify-content: flex-start;
}
.special-section4__nav--next {
  justify-content: flex-end;
}
.special-section4__home {
  flex-shrink: 0;
}
.special-section4__link {
  display: flex;
  flex-direction: row;
  flex-shrink: 0;
  gap: 2.4rem;
  align-items: center;
  width: 15.4rem; /* Figma: 154px */
  height: 12.4rem; /* Figma: 124px */
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
@media (max-width: 768px) {
  .special-section4__link {
    flex-direction: column;
    gap: 1.2rem;
    width: auto;
    height: auto;
  }
}
@media (hover: hover) and (pointer: fine) {
  .special-section4__link:hover {
    opacity: 0.8;
  }
}
.special-section4__link--prev {
  justify-content: flex-start;
  order: 1;
}
@media (hover: hover) and (pointer: fine) {
  .special-section4__link--prev:hover .special-section4__arrow {
    transform: translateX(-0.4rem);
  }
}
.special-section4__link--prev .special-section4__btn {
  order: 0;
}
.special-section4__link--prev .special-section4__staff {
  order: 1;
}
.special-section4__link--next {
  justify-content: flex-end;
  order: 3;
}
@media (max-width: 768px) {
  .special-section4__link--next {
    flex-direction: column-reverse;
    justify-content: flex-start;
  }
}
@media (hover: hover) and (pointer: fine) {
  .special-section4__link--next:hover .special-section4__arrow {
    transform: scaleX(-1) translateX(-0.4rem);
  }
}
.special-section4__link--next .special-section4__btn {
  order: 1;
}
.special-section4__link--next .special-section4__staff {
  order: 0;
}
.special-section4__link--next .special-section4__arrow {
  transform: scaleX(-1);
}
.special-section4__link.is-empty {
  pointer-events: none;
}
@media (max-width: 768px) {
  .special-section4__link.is-empty {
    display: none;
  }
}
.special-section4__btn {
  display: flex;
  flex-direction: row;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 5rem; /* Figma: 50px */
  height: 5rem; /* Figma: 50px */
  background: var(--wp--preset--color--white);
  border-radius: 1rem; /* Figma: 10px */
  box-shadow: 0 0 2rem var(--wp--preset--color--beige-light); /* Figma: box_shadow02 */
  transition: background-color 0.3s ease, transform 0.3s ease;
}
@media (max-width: 768px) {
  .special-section4__btn {
    width: 4.4rem;
    height: 4.4rem;
    border-radius: 0.6rem;
  }
}
.special-section4__arrow {
  display: block;
  width: 1.2rem; /* Figma: 12px */
  height: auto;
  transition: transform 0.3s ease;
}
.special-section4__arrow path {
  fill: var(--wp--preset--color--primary); /* Figma: $color-primary */
}
.special-section4__staff {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 0.8rem;
  align-items: center;
  width: 8rem; /* Figma: 80px */
}
@media (max-width: 768px) {
  .special-section4__staff {
    width: 6rem;
    height: auto;
  }
}
.special-section4__avatar {
  width: 8.6rem; /* Figma: 80px */
  height: 8.6rem; /* Figma: 80px */
  aspect-ratio: 1/1;
  padding: 0.3rem;
  overflow: hidden;
  background: linear-gradient(180deg, color-mix(in srgb, var(--wp--preset--color--secondary) 30%, transparent) 0%, color-mix(in srgb, var(--wp--preset--color--green) 30%, transparent) 100%);
  border-radius: 99.9rem;
}
@media (max-width: 768px) {
  .special-section4__avatar {
    width: 5.8rem;
    height: 5.8rem;
    padding: 0.4rem;
  }
}
.special-section4__avatar img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 99.9rem;
  object-fit: cover;
}
.special-section4__txt {
  display: block;
  width: 8rem;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.2rem; /* Figma: 12px */
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--primary); /* Figma: $color-primary */
  text-align: center;
  white-space: pre-wrap;
}
@media (max-width: 768px) {
  .special-section4__txt {
    width: 6rem;
    height: auto;
  }
}
.special-section4__archive-btn {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  order: 2;
  width: 15.2rem; /* Figma: 152px */
  height: 4.8rem; /* Figma: 48px */
  padding: 1.2rem 2.4rem;
  text-decoration: none;
  background: var(--wp--preset--color--bg-primary); /* Figma: $color-bg-primary */
  border: 1px solid var(--wp--preset--color--primary); /* Figma: $color-primary */
  border-radius: 99.9rem;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
@media (max-width: 768px) {
  .special-section4__archive-btn {
    flex-shrink: 0;
    width: auto;
    min-width: 11.8rem;
    min-height: 4.5rem;
    padding: 0.8rem;
    margin: 0;
  }
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  .special-section4__archive-btn:hover {
    background: var(--wp--preset--color--primary);
  }
  .special-section4__archive-btn:hover span {
    color: var(--wp--preset--color--bg-primary);
  }
}
.special-section4__archive-btn span {
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem; /* Figma: 16px */
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--primary); /* Figma: $color-primary */
  text-align: center;
  transition: color 0.3s ease;
}

.special-btn {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0 0 12rem;
  background: var(--wp--preset--color--bg-primary);
}
@media (max-width: 768px) {
  .special-btn {
    padding: 0 0 6.4rem;
  }
}
.special-btn__set {
  display: flex;
  flex-direction: row;
  gap: 2.4rem;
  align-items: center;
}
@media (max-width: 768px) {
  .special-btn__set {
    flex-direction: column;
    gap: 1.7rem;
  }
}
.special-btn__item {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  gap: 0.8rem;
  align-items: center;
  justify-content: center;
  width: 28rem;
  height: 8rem;
  padding: 1.6rem 3.2rem;
  text-decoration: none;
  border: none;
  border-radius: 1rem;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
@media (max-width: 768px) {
  .special-btn__item {
    gap: 0.4rem;
    width: 24rem;
    height: 6rem;
    padding: 1.2rem 2rem;
    border-radius: 0.6rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .special-btn__item:hover {
    opacity: 0.85;
    transform: translateY(-2px);
  }
}
.special-btn__item--cv {
  color: var(--wp--preset--color--secondary);
  background: linear-gradient(90deg, var(--wp--preset--color--white) 0%, var(--wp--preset--color--bg-primary) 100%) padding-box, linear-gradient(90deg, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--green) 100%) border-box;
}
.special-btn__item--cv::after {
  position: absolute;
  inset: 0;
  padding: 0.1rem;
  content: "";
  background: linear-gradient(45deg, var(--wp--preset--color--secondary), var(--wp--preset--color--green));
  border-radius: inherit;
  mask: linear-gradient(var(--wp--preset--color--white) 0 0) content-box, linear-gradient(var(--wp--preset--color--white) 0 0);
  mask-composite: exclude;
}
.special-btn__item--cv .special-btn__text {
  color: var(--wp--preset--color--secondary);
}
.special-btn__item--entry {
  color: var(--wp--preset--color--white);
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--green) 100%);
}
.special-btn__item--entry::after {
  position: absolute;
  inset: 0;
  padding: 0.1rem;
  content: "";
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 0.01%, var(--wp--preset--color--bg-primary) 100%);
  border-radius: inherit;
  mask: linear-gradient(var(--wp--preset--color--white) 0 0) content-box, linear-gradient(var(--wp--preset--color--white) 0 0);
  mask-composite: exclude;
}
.special-btn__item--entry .special-btn__text {
  color: var(--wp--preset--color--white);
}
.special-btn__icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 2rem;
}
.special-btn__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.special-btn__text {
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .special-btn__text {
    font-size: 1.6rem;
  }
}

.p-people-archive {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  color: var(--wp--preset--color--primary);
  background: var(--wp--preset--color--bg-primary);
}
.p-people-archive__inner {
  position: relative;
}
.p-people-archive__container {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 8rem;
  align-items: flex-start;
  max-width: 114.4rem;
  padding-block: 12rem;
}
@media (max-width: 991px) {
  .p-people-archive__container {
    gap: 3.2rem;
    padding-block: 8rem;
  }
}
@media (max-width: 768px) {
  .p-people-archive__container {
    flex-direction: column;
    gap: 4.8rem;
    padding-block: 6.4rem;
    padding-inline: 3rem;
  }
}
.p-people-archive__sidebar {
  position: sticky;
  top: 5rem;
  flex: 0 0 20rem;
}
@media (max-width: 768px) {
  .p-people-archive__sidebar {
    position: static;
    flex: none;
    width: 100%;
  }
}
.p-people-archive__sidebar-list {
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
  list-style: none;
  border-top: 1px solid var(--wp--preset--color--silver);
}
@media (max-width: 768px) {
  .p-people-archive__sidebar-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 1.6rem;
    border-top: none;
  }
}
@media (max-width: 768px) {
  .p-people-archive__sidebar-item {
    width: 100%;
  }
  .p-people-archive__sidebar-item:nth-child(1), .p-people-archive__sidebar-item:nth-child(2) {
    border-top: 1px solid var(--wp--preset--color--silver);
  }
}
.p-people-archive__sidebar-link {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  padding: 2.4rem 0.4rem 2.3rem;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid var(--wp--preset--color--silver);
  transition: color 0.3s ease;
}
@media (max-width: 768px) {
  .p-people-archive__sidebar-link {
    gap: 0.4rem;
    padding: 1.6rem 0.4rem 1.5rem;
    font-size: 1.4rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-people-archive__sidebar-link:hover {
    color: var(--wp--preset--color--secondary);
  }
}
.p-people-archive__sidebar-link::before {
  flex-shrink: 0;
  width: 0.4rem;
  height: 0.4rem;
  content: "";
  background: var(--wp--preset--color--secondary);
  border-radius: 50%;
}
.p-people-archive__sidebar-link.is-active {
  color: var(--wp--preset--color--secondary);
}
.p-people-archive__main {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 4.8rem;
  min-width: 0;
}
@media (max-width: 768px) {
  .p-people-archive__main {
    gap: 3.2rem;
  }
}
.p-people-archive__section {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  scroll-margin-top: 5rem;
}
@media (max-width: 768px) {
  .p-people-archive__section {
    gap: 3.2rem;
  }
}
.p-people-archive__term-title {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 1.4rem;
  margin: 0 0 0 -0.2rem;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
}
.p-people-archive__term-title::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 0.2rem;
  height: 100%;
  content: "";
  background-color: var(--wp--preset--color--secondary);
  border-radius: 999rem;
}
@media (max-width: 768px) {
  .p-people-archive__term-title {
    font-size: 1.6rem;
  }
}
.p-people-archive__grid {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
}
@media (max-width: 768px) {
  .p-people-archive__grid {
    gap: 3.2rem;
  }
}
.p-people-archive__card {
  box-sizing: border-box;
  width: 100%;
  padding-left: 6.5rem;
  margin-top: 1.8rem;
  filter: drop-shadow(0 0 2rem var(--wp--preset--color--beige-light));
}
@media (max-width: 991px) {
  .p-people-archive__card {
    padding-left: 4.8rem;
  }
}
@media (max-width: 768px) {
  .p-people-archive__card {
    min-width: 31.5rem;
    max-width: 100%;
    padding-right: 1.1rem;
    padding-left: 0;
    margin-inline: auto;
    margin-top: 6.4rem;
  }
}
.p-people-archive__card-link {
  display: flex;
  flex-direction: row;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
  background: var(--wp--preset--color--white);
  border-radius: 2.2rem;
  transition: transform 0.3s ease;
}
@media (max-width: 768px) {
  .p-people-archive__card-link {
    flex-direction: column;
    border-radius: 1.4rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-people-archive__card-link:hover .p-people-archive__card-arrow::before {
    transform: translate(4px, -50%);
  }
  .p-people-archive__card-link:hover .p-people-archive__card-arrow::after {
    transform: translate(4px, -50%) rotate(45deg);
  }
}
.p-people-archive__card-figure {
  flex: 0 0 22.8rem;
  width: 22.8rem;
  height: 24.4rem;
  margin: 0;
  margin-top: -1.8rem;
  margin-left: -6.5rem;
  overflow: hidden;
  background: var(--wp--preset--color--white);
  border: 0.4rem solid var(--wp--preset--color--white);
  border-radius: 2.4rem;
}
.p-people-archive__card-figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 2rem;
  transition: transform 0.5s ease;
  object-position: 0 0;
}
@media (max-width: 991px) {
  .p-people-archive__card-figure {
    flex: 0 0 18rem;
    width: 18rem;
    height: 20.4rem;
    margin-left: -4.8rem;
    border-radius: 2rem;
  }
  .p-people-archive__card-figure img {
    border-radius: 1.6rem;
  }
}
@media (max-width: 768px) {
  .p-people-archive__card-figure {
    flex: none;
    width: 100%;
    height: auto;
    aspect-ratio: 29/22;
    margin: -6.4rem -1.1rem 0 auto;
    border-radius: 1.8rem;
  }
  .p-people-archive__card-figure img {
    border-radius: 1.6rem;
  }
}
@media (max-width: 445px) {
  .p-people-archive__card-figure {
    flex: none;
    width: calc(100% - 0.4rem);
    height: auto;
    aspect-ratio: 29/22;
    border-radius: 1rem;
  }
  .p-people-archive__card-figure img {
    border-radius: 0.8rem;
  }
}
.p-people-archive__card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  min-height: 24.2rem;
  padding: 4.8rem 4.8rem 4.8rem 3.6rem;
}
@media (max-width: 991px) {
  .p-people-archive__card-body {
    padding: 2rem 2rem 2rem 1rem;
  }
}
@media (max-width: 768px) {
  .p-people-archive__card-body {
    position: relative;
    min-height: 20.9rem;
    padding: 1.7rem 2.4rem 2.4rem;
  }
}
.p-people-archive__card-quote {
  position: relative;
  padding-bottom: 1.6rem;
  margin: 0;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
}
.p-people-archive__card-quote::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 0.1rem;
  content: "";
  background-color: var(--wp--preset--color--green);
  border-radius: 999rem;
}
@media (max-width: 991px) {
  .p-people-archive__card-quote {
    padding-bottom: 1.2rem;
    font-size: 1.6rem;
  }
}
@media (max-width: 768px) {
  .p-people-archive__card-quote {
    padding-bottom: 1.6rem;
    font-size: 1.8rem;
  }
}
.p-people-archive__card-footer {
  display: flex;
  gap: 1.6rem;
  align-items: flex-end;
  justify-content: space-between;
  padding-top: 1.6rem;
}
@media (max-width: 768px) {
  .p-people-archive__card-footer {
    flex-direction: column;
    gap: 0.8rem;
    align-items: flex-end;
    margin-top: 0;
  }
}
.p-people-archive__card-profile {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
@media (max-width: 768px) {
  .p-people-archive__card-profile {
    align-items: flex-start;
    width: 100%;
  }
}
.p-people-archive__card-names {
  display: flex;
  gap: 1.6rem;
  align-items: baseline;
}
@media (max-width: 768px) {
  .p-people-archive__card-names {
    flex-direction: row;
    gap: 1.2rem;
    align-items: baseline;
  }
}
.p-people-archive__card-name-ja {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .p-people-archive__card-name-ja {
    font-size: 1.6rem;
  }
}
.p-people-archive__card-name-en {
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 1.2rem;
  line-height: 1;
  color: var(--wp--preset--color--silver);
}
.p-people-archive__card-meta {
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media (max-width: 768px) {
  .p-people-archive__card-meta {
    font-size: 1.2rem;
  }
}
.p-people-archive__card-arrow {
  position: relative;
  display: block;
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--wp--preset--color--secondary) 30%, transparent) 0%, color-mix(in srgb, var(--wp--preset--color--green) 30%, transparent) 100%);
  border-radius: 50%;
}
@media (max-width: 768px) {
  .p-people-archive__card-arrow {
    width: 2.4rem;
    height: 2.4rem;
  }
}
.p-people-archive__card-arrow::before {
  position: absolute;
  top: 50%;
  left: -0.6rem;
  width: 2.4rem;
  height: 1px;
  content: "";
  background: var(--wp--preset--color--primary);
  transition: transform 0.3s ease;
  transform: translateY(-50%);
}
@media (max-width: 768px) {
  .p-people-archive__card-arrow::before {
    left: -0.6rem;
    width: 2rem;
  }
}
.p-people-archive__card-arrow::after {
  position: absolute;
  top: 50%;
  right: 1.3rem;
  box-sizing: border-box;
  width: 0.6rem;
  height: 0.6rem;
  content: "";
  border-top: 1px solid var(--wp--preset--color--primary);
  border-right: 1px solid var(--wp--preset--color--primary);
  transition: transform 0.3s ease;
  transform: translateY(-50%) rotate(45deg);
}
@media (max-width: 768px) {
  .p-people-archive__card-arrow::after {
    right: 1rem;
    width: 0.5rem;
    height: 0.5rem;
  }
}
.p-people-archive__empty {
  font-size: 1.6rem;
  color: var(--wp--preset--color--silver);
}

html:has(.p-people-archive) {
  scroll-behavior: smooth;
}

.p-page :where(.wp-block-post-content) {
  font-weight: 300;
  line-height: 180%;
  word-break: break-all;
}
.p-page :where(.wp-block-post-content) a:not([class]) {
  text-decoration: underline;
}
.p-page :where(.wp-block-post-content) li > .wp-block-list,
.p-page :where(.wp-block-post-content) li > ul,
.p-page :where(.wp-block-post-content) li > ol {
  margin-block-start: 1rem;
  margin-block-end: 0;
}
.p-page :where(.wp-block-post-content) .wp-block-heading {
  font-weight: 400;
}

@media (max-width: 768px) {
  .page-slug-privacy-policy .c-page-heading__jp {
    letter-spacing: -5%;
  }
}

.about-company {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 9.6rem 0 12rem;
  overflow: hidden;
  background: var(--wp--preset--color--bg-primary);
  isolation: isolate;
}
@media (max-width: 768px) {
  .about-company {
    padding: 5.6rem 0 6.4rem;
  }
}
.about-company__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 114.4rem;
  margin: 0 auto;
}
@media (max-width: 389px) {
  .about-company__inner {
    width: min(31.5rem, 100%);
    padding-right: 0;
    padding-left: 0;
  }
}
.about-company__subtitle {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  align-items: center;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .about-company__subtitle {
    gap: 0.8rem;
    margin-bottom: 1.8rem;
  }
}
.about-company__subtitle-en {
  font-family: var(--wp--preset--font-family--autour-one);
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  background: linear-gradient(90deg, var(--wp--preset--color--secondary) 22.22%, var(--wp--preset--color--green) 76.59%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .about-company__subtitle-en {
    font-size: 1.6rem;
  }
}
.about-company__subtitle-line {
  display: block;
  width: 4.6rem;
  height: 2px;
  background-color: var(--wp--preset--color--secondary);
  border-radius: 99.9rem;
}
@media (max-width: 768px) {
  .about-company__subtitle-line {
    width: 3rem;
  }
}
.about-company__subtitle-jp {
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
  color: var(--wp--preset--color--primary);
}
.about-company__list {
  width: 100%;
  padding: 0;
  margin: 1.8rem 0 0;
}
@media (max-width: 768px) {
  .about-company__list {
    margin: 0;
  }
}
.about-company__row {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
  padding: 2.4rem 0;
  border-bottom: 1px solid var(--wp--preset--color--silver);
}
@media (max-width: 768px) {
  .about-company__row {
    flex-direction: column;
    gap: 0.8rem;
    padding: 2rem 0.4rem;
  }
}
.about-company__dt {
  flex-shrink: 0;
  width: 27.5rem;
  padding: 0 1.6rem;
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 180%;
  color: var(--wp--preset--color--secondary);
}
@media (max-width: 768px) {
  .about-company__dt {
    width: 100%;
    padding: 0;
    font-size: 1.6rem;
  }
}
.about-company__dd {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.8rem;
  width: 100%;
  margin: 0;
}
.about-company__map {
  width: 100%;
  aspect-ratio: 4/2;
  overflow: hidden;
  background: color-mix(in srgb, var(--wp--preset--color--black) 13.33%, var(--wp--preset--color--white));
}
.about-company__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
}
.about-company__content {
  font-family: var(--wp--preset--font-family--kiwi-maru);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 180%;
  color: var(--wp--preset--color--primary);
}
@media (max-width: 768px) {
  .about-company__content {
    font-size: 1.4rem;
  }
}
.about-company__content a {
  color: var(--wp--preset--color--primary);
  text-decoration: underline;
}
.about-company__content a:hover {
  text-decoration: none;
}

