html.lenis, html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent], .lenis [data-lenis-prevent-wheel], .lenis [data-lenis-prevent-touch] {
  overscroll-behavior: contain;
}

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

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}

*:where(:not(html, iframe, canvas, img, svg, video, audio, svg *, symbol *)) {
  all: unset;
  display: revert;
}

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

a,
button {
  cursor: revert;
}

ol,
ul,
menu,
summary {
  list-style: none;
}

ol {
  counter-reset: revert;
}

table {
  border-collapse: collapse;
}

input,
textarea {
  -webkit-user-select: auto;
     -moz-user-select: auto;
          user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
     -moz-appearance: revert;
          appearance: revert;
}

:where(pre) {
  all: revert;
  box-sizing: border-box;
}

::-moz-placeholder {
  color: unset;
}

::placeholder {
  color: unset;
}

:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  line-break: after-white-space;
  -webkit-user-select: auto;
     -moz-user-select: auto;
          user-select: auto;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

:where(dialog:modal) {
  all: revert;
}

::-webkit-details-marker {
  display: none;
}

:where(a, button, summary, label, input, select, textarea):focus-visible {
  outline: var(--focus-color, -webkit-focus-ring-color) auto 1px;
}

:root {
  --base-vw: 400;
  --vw: 400px;
  --font-zenkakugothicnew: "Zen Kaku Gothic New", sans-serif;
  --font-lexendtera: "Lexend Tera", sans-serif;
  --color-white: #fff;
  --color-black: #111;
  --color-limegreen: #d0db00;
  --color-yellow: #f5ec32;
  --color-blue: #1abdd0;
  --color-pink: #fa9b9b;
  --breakpoint-xs: 400px;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 960px;
  --breakpoint-xl: 1366px;
  --breakpoint-xxl: 1920px;
  --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);
  --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
  --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
  --ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
  --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
  --ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  --ease-gleasing: cubic-bezier(0.4, 0, 0, 1);
  --ease-linear: linear;
  --ease-spring-1: linear(
  	0,
  	0.006,
  	0.025 2.8%,
  	0.101 6.1%,
  	0.539 18.9%,
  	0.721 25.3%,
  	0.849 31.5%,
  	0.937 38.1%,
  	0.968 41.8%,
  	0.991 45.7%,
  	1.006 50.1%,
  	1.015 55%,
  	1.017 63.9%,
  	1.001
  );
  --ease-spring-2: linear(
  	0,
  	0.007,
  	0.029 2.2%,
  	0.118 4.7%,
  	0.625 14.4%,
  	0.826 19%,
  	0.902,
  	0.962,
  	1.008 26.1%,
  	1.041 28.7%,
  	1.064 32.1%,
  	1.07 36%,
  	1.061 40.5%,
  	1.015 53.4%,
  	0.999 61.6%,
  	0.995 71.2%,
  	1
  );
  --ease-spring-3: linear(
  	0,
  	0.009,
  	0.035 2.1%,
  	0.141 4.4%,
  	0.723 12.9%,
  	0.938 16.7%,
  	1.017,
  	1.077,
  	1.121,
  	1.149 24.3%,
  	1.159,
  	1.163,
  	1.161,
  	1.154 29.9%,
  	1.129 32.8%,
  	1.051 39.6%,
  	1.017 43.1%,
  	0.991,
  	0.977 51%,
  	0.974 53.8%,
  	0.975 57.1%,
  	0.997 69.8%,
  	1.003 76.9%,
  	1
  );
  --ease-spring-4: linear(
  	0,
  	0.009,
  	0.037 1.7%,
  	0.153 3.6%,
  	0.776 10.3%,
  	1.001,
  	1.142 16%,
  	1.185,
  	1.209 19%,
  	1.215 19.9% 20.8%,
  	1.199,
  	1.165 25%,
  	1.056 30.3%,
  	1.008 33%,
  	0.973,
  	0.955 39.2%,
  	0.953 41.1%,
  	0.957 43.3%,
  	0.998 53.3%,
  	1.009 59.1% 63.7%,
  	0.998 78.9%,
  	1
  );
  --ease-spring-5: linear(
  	0,
  	0.01,
  	0.04 1.6%,
  	0.161 3.3%,
  	0.816 9.4%,
  	1.046,
  	1.189 14.4%,
  	1.231,
  	1.254 17%,
  	1.259,
  	1.257 18.6%,
  	1.236,
  	1.194 22.3%,
  	1.057 27%,
  	0.999 29.4%,
  	0.955 32.1%,
  	0.942,
  	0.935 34.9%,
  	0.933,
  	0.939 38.4%,
  	1 47.3%,
  	1.011,
  	1.017 52.6%,
  	1.016 56.4%,
  	1 65.2%,
  	0.996 70.2%,
  	1.001 87.2%,
  	1
  );
  --grid-container-width: calc(100% - 2 * var(--grid-margin));
  --grid-columns: 4;
  --grid-gutter: 20px;
  --grid-margin: 10rem;
  --z-base: 1000;
  --z-modal: 1001;
  --z-modal-overlay: 1002;
  --z-modal-nav: 1003;
  --z-modal-logo: 1004;
  --z-logo: 1005;
  --z-header: 1006;
  --z-opening: 1007;
}

@media screen and (min-width: 768px) {
  :root {
    --base-vw: 1512;
    --vw: 1512px;
    --grid-columns: 24;
    --grid-margin: 20rem;
  }
}
html {
  font-size: calc(var(--vw) / var(--base-vw));
}

body {
  font-family: var(--font-zenkakugothicnew);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
          text-size-adjust: none;
  font-size: 16px;
  font-weight: 500;
  color: var(--color-black);
}

a {
  display: block;
  color: currentcolor;
  cursor: pointer;
}

button {
  color: currentcolor;
  cursor: pointer;
}

details {
  cursor: pointer;
}

video,
img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

svg {
  display: block;
  width: 100%;
  height: 100%;
}

.preload * {
  transition: none !important;
}

.lContainer {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.lMain {
  flex: 1;
}

.uVisuallyHidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
}

@media screen and (min-width: 768px) {
  .uSpOnly {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .uPcOnly {
    display: none !important;
  }
}

.cMenu__wrapper {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: var(--z-modal);
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  width: 100%;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  pointer-events: none;
}
.cMenu__overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: var(--z-modal-overlay);
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.5s var(--ease-out-quart);
}
.cMenu__logo {
  position: absolute;
  top: 34rem;
  left: 26rem;
  z-index: var(--z-modal-logo);
  width: 152rem;
  height: 53rem;
  opacity: 0;
  transition: opacity 0.5s var(--ease-out-quart);
}
.cMenu__inner {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal-nav);
  width: 100%;
  height: 100%;
  padding: 119rem 0 30rem;
  overflow: auto;
  background-color: #F1F1F1;
  opacity: 0;
  transition: opacity 0.5s var(--ease-out-quart);
  transition-delay: 0s;
}
.cMenu__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 370rem;
  height: -moz-fit-content;
  height: fit-content;
  padding: 36rem 30rem;
  margin-left: 30rem;
  background-color: var(--color-white);
  border-radius: 30rem 0 0 30rem;
}
.cMenu__nav {
  position: relative;
  z-index: var(--z-modal-nav);
  width: 100%;
}
.cMenu__nav_list {
  display: flex;
  flex-direction: column;
  gap: 24rem;
  justify-content: flex-start;
}
.cMenu__bardList {
  position: absolute;
  top: 72rem;
  right: 112rem;
  width: 64rem;
  height: 56rem;
}
.cMenu__bard {
  position: absolute;
}
.cMenu__bard[menu-bard="1"] {
  top: 0;
  right: 1rem;
  width: 34rem;
  height: 35rem;
}
.cMenu__bard[menu-bard="2"] {
  bottom: 0;
  left: 0;
  width: 15rem;
  height: 18rem;
  opacity: 0;
  transform: translateY(4rem);
  transition: transform 0.3s var(--ease-out-quart) 0.2s, opacity 0.3s var(--ease-out-quart) 0.2s;
}
.cMenu__bard[menu-bard="3"] {
  bottom: 4rem;
  left: 15rem;
  width: 14rem;
  height: 13rem;
  opacity: 0;
  transform: translateY(4rem);
  transition: transform 0.3s var(--ease-out-quart) 0.4s, opacity 0.3s var(--ease-out-quart) 0.4s;
}

.cMenuNavItem {
  padding-bottom: 19rem;
  border-bottom: 2px dotted #B4C1C2;
  opacity: 0;
  transform: translateY(5rem);
}
.cMenuNavItem:last-child {
  padding-top: 7rem;
  padding-bottom: 0;
  border-bottom: none;
}
.cMenuNavItem__text {
  display: block;
  margin-top: 1rem;
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.5;
  color: #9FAEB0;
  letter-spacing: 0.06em;
}
.cMenuNavItem__subList {
  display: flex;
  flex-direction: column;
  gap: 13rem;
  margin-top: 14rem;
}
.cMenuNavItem__link {
  position: relative;
  display: flex;
  gap: 9rem;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  pointer-events: auto;
}
.cMenuNavItem__link_text {
  font-size: 15rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
.cMenuNavItem .is-page.cMenuNavItem__link::before {
  position: absolute;
  bottom: 10rem;
  left: calc(100% + 2rem);
  display: block;
  width: 28rem;
  height: 23rem;
  content: "";
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAAuCAYAAAB9CdqYAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAOOSURBVHgB7ZlLctpAEIYbkioXsAivA2iZJdllZ+UG5AQmJ3Cyyw58AicngJwg+ARWThD5BGaZBa+sYAPkb9WQUqHXtEcjyy5/VSooPUbzT/f0dI+IXnjavCIDms3msFarTXG8bzQatbOzs/V2u13Tc4DFtVqtQ/hot9ufqWS8pgcAIePD4TA4Pb/f7z0qGRXJzbBas1KpjPG3H3d9tVqJ2isCbQtCmwNxP/G3l3CLRyVES6ASd4u/TtI9uH5HArjNarU6wHP+YrGYkiUyBeqIYzD/fBLAbWIeOzj4OWsCq2kXIa6HjvymDHEKbYEcgUNtOmSRSkonLiBuQproBhjlEffhc7Biaw3IAtWETlxKxJEgwCh3j7ySLBERyIs1OvGNBOgGmBPXDNMjS0QEIljwhBe5i06AUa4Zm+kgmjpkiYhATIUZ5sR3kpEpUCUISa7okCWSoii76Iw0waCkCuQ5jR835ZY3ZIlYgRzRYMVPpIeXdjHNNY/gXW6323U5FaScSSyXUPbMUAa5pOE+KJX+bjabWCvW6/VrSrce0+TkHQPxFe/s45m3OLj8+oN+bMmA1LVLjT4v9DojO0OwuELaNTme6HQ6AwSgMZnhow8ejl+73c7nGCF5OHNxhsgRGh+SPoFQdMbTSfGkoO2PktxVR2BTkK7ZxufYkBXUwuimV25CBlIEHkTd4HcqdU9Gu0DFlgTXgn2yzxqDOVVzbmqao2oLFAYcKTO0fcNZFPR4lCPSLQvOU68pH4xcTxfxHgpcla1okhxzoPhgqzw6pSq8n3NKjwzguVWUOEYkkOchRt8o0GCeiUoxU6QWvCCD9RDWu7I53+LQFqii6IAMgPXPuR0qEIkFjaynCBIGzlGpICQbRbnmlbzng7zyR/gcLMxrbGSd5bz2oa6tK3CIDo3oETkOyHw+90TPZd1gw3qGRMqyNHTmYB5zL08crjGRcNzzV66soKVT8JbJerGw+0J07BKUZcGyWS8Wtd1xG2fNtK37yBZ7Apx28bbCHX8p4ogXNPxIlsd7vyyXy//ZUuLXJUzkIUYm7hKL8UN7JLHVNQboHdoYoY1LKoagOsExCZ9MsyAvymNOruHfvDXv4ZhJE2W0M1B7Og7lS+A5vHSkFcaFfHJWHzvZmudkJjSo9jHgnCD4OoNd+Dd1ZVEOXm7GrZG5bXVPJm9UxHND7hvMayXGl+yclR4bW/YvPBf+AU4EfZUWiENJAAAAAElFTkSuQmCC");
  background-repeat: no-repeat;
  background-size: contain;
}

.is-menu-open {
  min-height: 100vh;
}
.is-menu-open .cMenu__wrapper {
  pointer-events: auto;
}
.is-menu-open .cMenu__overlay {
  opacity: 1;
}
.is-menu-open .cMenu__logo {
  opacity: 1;
}
.is-menu-open .cMenu__inner {
  opacity: 1;
}
.is-menu-open .cMenu__nav {
  opacity: 1;
}
.is-menu-open .cMenu__nav_list {
  gap: 16rem;
}
.is-menu-open .cMenu__bard[menu-bard="2"] {
  opacity: 1;
  transform: translateY(0);
}
.is-menu-open .cMenu__bard[menu-bard="3"] {
  opacity: 1;
  transform: translateY(0);
}

@media screen and (min-width: 768px) {
  .cMenu {
    display: none;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .cMenuNavItem__link:hover .cMenuNavItem__link_text {
    letter-spacing: 0.05em;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
  }
}
.cLink {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11rem 14rem;
}
.cLink__text {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.cLink__label {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cLink__arrow {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10rem;
  height: 10rem;
  overflow: hidden;
}
.cLink__arrow_icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: transform 0.4s var(--ease-out-quart);
}
.cLink__arrow_icon[data-id="1"] {
  transform: translateX(200%);
}
.cLink__circle {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transform: scale(1);
  transition: transform 0.4s var(--ease-out-quart);
}

@media screen and (min-width: 768px) {
  .cLink {
    padding: 13rem 16rem 14rem 20rem;
  }
  .cLink__arrow {
    width: 13rem;
    height: 12rem;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .cLink,
  .cLinkCard {
    --init-arrow-x-1: -200%;
  }
  .cLink__arrow_icon[data-id="1"],
  .cLinkCard__arrow_icon[data-id="1"] {
    transform: translateX(var(--arrow-x-1, var(--init-arrow-x-1)));
  }
  .cLink__arrow_icon[data-id="2"],
  .cLinkCard__arrow_icon[data-id="2"] {
    transform: translateX(0%);
    transform: translateX(var(--arrow-x-2, 0%));
  }
  .cLink:hover,
  .cLinkCard:hover {
    --arrow-x-1: 0%;
    --arrow-x-2: calc(var(--init-arrow-x-1) * -1);
  }
  .cLink:hover .cLink__circle,
  .cLinkCard:hover .cLink__circle {
    transform: scale(1.2);
    transition-duration: 0.34s;
  }
}
.cTitle__overflow {
  display: block;
  overflow: hidden;
}
.cTitle__decoration {
  display: flex;
  gap: 8rem;
}
.cTitle__decoration_left, .cTitle__decoration_right {
  width: 3px;
  height: 11px;
}
.cTitle__decoration--fadeUp {
  opacity: 0;
  transform: translateY(80px);
  transition: opacity 0.5s var(--ease-out-cubic), transform 0.5s var(--ease-out-cubic);
}
.cTitle__decoration--fadeUp.is-active {
  opacity: 1;
  transform: translateY(0);
}
.cTitle__en {
  display: flex;
  align-items: center;
  font-family: var(--font-lexendtera);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.07em;
}
.cTitle__en_slash {
  font-size: 10px;
}
.cTitle__en_part:last-of-type {
  margin-left: 1px;
}
.cTitle__ja {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.cTitle__ja_text--fadeUp span {
  display: inline-block;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s var(--ease-out-cubic), transform 0.5s var(--ease-out-cubic);
}
.cTitle__ja_text--fadeUp.is-active span {
  opacity: 1;
  transform: translateY(0);
}

@media screen and (min-width: 768px) {
  .cTitle__decoration {
    gap: 11rem;
  }
  .cTitle__ja {
    font-size: 32px;
  }
  .cTitle__en_part:last-of-type {
    margin-left: 3px;
  }
}
.cBreadcrumbs {
  position: absolute;
  right: 40rem;
  bottom: calc(100% + 110rem);
}
.cBreadcrumbs__list {
  display: flex;
  gap: 26px;
  align-items: center;
}
.cBreadcrumbs__item {
  font-size: 12px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.02em;
}
.cBreadcrumbs__item--home {
  width: 12px;
  height: 14px;
}
.cBreadcrumbs__item_link {
  position: relative;
}
.cBreadcrumbs__item_link::after {
  position: absolute;
  top: 50%;
  left: calc(100% + 8px);
  width: 10px;
  height: 1px;
  content: "";
  background-color: currentcolor;
}

.js-header-trigger {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 20vh;
}

.lHeader {
  position: absolute;
  z-index: var(--z-header);
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
}
.lHeader__menuButton {
  position: fixed;
  top: 23rem;
  right: 23rem;
  z-index: var(--z-header);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 66rem;
  height: 66rem;
}
.lHeader__menuButton_inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 42rem;
  height: 30rem;
}
.lHeader__menuButton_text {
  display: grid;
  justify-content: center;
  margin-top: 3rem;
  margin-left: -2rem;
  font-family: var(--font-lexendtera);
  font-size: 12rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.15em;
}
.lHeader__menuButton_text_item {
  grid-area: 1/1;
  text-align: center;
  transition: opacity 0.35s var(--ease-out-quart);
}
.lHeader__menuButton_text_item--close {
  opacity: 0;
}
.lHeader__menuButton_bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.lHeader__menuButton_line {
  width: 38rem;
  height: 15rem;
  margin: 0 2rem;
}
.lHeader__menuButton_bard {
  position: absolute;
  top: 0;
  right: 8rem;
  width: 10rem;
  height: 10rem;
  transition: opacity 0.35s var(--ease-out-quart);
}
.lHeader__logo {
  position: absolute;
  top: 34rem;
  left: 26rem;
  width: 152rem;
  height: 53rem;
}

.is-menu-open .lHeader__menuButton {
  pointer-events: auto;
}
.is-menu-open .lHeader__menuButton_text_item--open {
  opacity: 0;
}
.is-menu-open .lHeader__menuButton_text_item--close {
  opacity: 1;
}
.is-menu-open .lHeader__menuButton_bard {
  opacity: 0;
}

@media screen and (min-width: 768px) {
  .lHeader {
    position: absolute;
    width: 100%;
    height: -moz-fit-content;
    height: fit-content;
  }
  .lHeader__inner {
    position: fixed;
    top: 25rem;
    right: 40rem;
    display: flex;
  }
  .lHeader__inner::before {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 4px;
    content: "";
    background: url("data:image/svg+xml,%3csvg%20width='112'%20height='4'%20viewBox='0%200%20112%204'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1972_5925)'%3e%3cpath%20d='M112%203.65485C112%203.65485%20108.376%203.5973%20106.975%203.65485C105.574%203.7124%20103.206%203.65485%20102.844%203.65485C102.481%203.65485%20100.597%203.65485%20100.283%203.65485C99.9689%203.65485%2096.7075%203.68363%2096.1518%203.65485C95.5962%203.62607%2089.8464%202.99298%2089.7256%202.99298C89.6048%202.99298%2083.0095%203.30953%2082.6713%203.3383C82.333%203.36708%2079.7481%203.42463%2078.7092%203.53974C77.6704%203.65485%2075.0854%203.7124%2074.2157%203.68363C73.346%203.65485%2064.1173%203.68363%2062.9336%203.53974C61.7498%203.39586%2056.2416%203.16564%2053.2217%203.3383C50.2019%203.51096%2047.2062%203.45341%2046.7472%203.48219C46.2882%203.51096%2038.05%203.48219%2037.277%203.68363C36.5039%203.88507%2033.0975%203.45341%2030.6091%203.68363C28.1208%203.91384%2014.6644%203.74118%2014.2778%203.74118C13.8913%203.74118%2013.5047%203.36708%2010.0984%203.79873C6.69198%204.23039%200%203.82751%200%203.82751V0.345497C0%200.345497%203.62381%200.403051%205.02502%200.345497C6.42623%200.287943%208.79379%200.345497%209.15617%200.345497C9.51855%200.345497%2011.4029%200.345497%2011.717%200.345497C12.0311%200.345497%2015.2925%200.31672%2015.8481%200.345497C16.4038%200.374274%2022.1536%201.00737%2022.2744%201.00737C22.3952%201.00737%2028.9905%200.690821%2029.3287%200.662044C29.667%200.633267%2032.2519%200.575713%2033.2908%200.460605C34.3296%200.345497%2036.9146%200.287943%2037.7843%200.31672C38.654%200.345497%2047.8827%200.31672%2049.0664%200.460605C50.2502%200.60449%2055.7584%200.834706%2058.7783%200.662044C61.7981%200.489382%2064.7938%200.546936%2065.2528%200.518159C65.7118%200.489382%2073.95%200.518159%2074.723%200.31672C75.4961%200.115281%2078.9025%200.546936%2081.3908%200.31672C83.8792%200.0865043%2097.3356%200.259166%2097.7222%200.259166C98.1087%200.259166%2098.4953%200.633267%20101.902%200.201612C105.308%20-0.230043%20111.976%200.201612%20111.976%200.201612V3.68363L112%203.65485Z'%20fill='%23111111'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1972_5925'%3e%3crect%20width='112'%20height='4'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e") repeat-x;
    background-position: left top;
    background-size: contain;
  }
  .lHeader__nav {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    padding: 0 5rem;
    transition: color 0.48s var(--ease-out-cubic) 0.36s;
  }
  .lHeader__nav_item {
    position: relative;
  }
  .lHeader__nav_link {
    position: relative;
    display: flex;
    gap: 5rem;
    align-items: center;
    padding: 20rem;
  }
  .lHeader__nav_link_text {
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
  }
  .lHeader__nav_link_more {
    position: relative;
    display: block;
    width: 13px;
    height: 13px;
  }
  .lHeader__nav_link_more::before, .lHeader__nav_link_more::after {
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    width: 100%;
    height: 3px;
    content: "";
    background: url("data:image/svg+xml,%3csvg%20width='13'%20height='3'%20viewBox='0%200%2013%203'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M13%202.94245L6.48813%202.53286L3.00959%202.42856L0%202.68126V0.140625L6.50594%200.484917L8.50639%200.235602L12.9822%200.336515L13%202.94245Z'%20fill='%23111111'/%3e%3c/svg%3e") no-repeat;
    background-size: 100%;
  }
  .lHeader__nav_link_more::after {
    transform: rotate(90deg);
  }
  .lHeader__nav_link.is-page::before {
    position: absolute;
    top: 4rem;
    left: -11rem;
    width: 26rem;
    height: 21rem;
    content: "";
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAqCAYAAAD8pHgAAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAObSURBVHgB3VnLVdtAFH22cziw4EQGChC77EIqQFQQdxCoAHeAqSChA6gAWGUZl0AHUfaAlRVkAc69ZuwjyzPyG1ujo+RuxpLmd+f9xyL/GVrSMERRdNBut5PxeHyIR7b9LMuutOObSKjfarW+5t91Op2j+/v7oWZ8WxoGbD4rvnt5ebmm5BTDm0cIm7+zvI4gtR8aUsEIYfGo2+1e7+zsDMQPqWtKQyqWEoSUEE+zB6M+A6m+dhAcAFUuc3xeSio0oQlIihITPbKSb3EZqWCEsOhh7jGCK1ZLCbhb8t1JKqSE4vwDpHSqlRI2+0vRzUoqCCGz8aJHopTONONfX19T0WFKanZQoSRkda+M+hrXa4tFJZgjVSshopgF2OCIRaXrYd5L/ghCqOAQikj29vYSKUcqnqD02b6TCkDDhJocYNIYjx/RJmX9IQHa0tD1nbEIQZlqp3Ui56PRKJ38Fg9YNk7VirUL5wEHcfLw8HDp+g5CP6XgKR0YgszR9EFNCNH+EgS+SHVIMd8nkxnMQOMG2VOjQssOinMcYYp0+kJtQ3ClNNRUqkOcD7a0K+Z+UJ8RNjkQhdTR7zxPhvCuh3CAPSxKSfVkfWTUf2zsM34nPgMx7uLx8XEh+1i5wDMROsHENPBY6oVVXYlKKlaQS6A+xxXbmBNYZ7+oalNUWoLnpHYqJcF1HVBFoWoD53cJBJKD1AbmsiOWajDnom2o5ZIELv8bs21ZDwsu2oZa7hSgJr652QJsLtq6ltQABkuQYuT3zigMbqFqqjBRi4ToXnHCF7I6DrXFYS2ETDrzXlZHhBxSJaGOeIKb297e/rCxsbH5/Py8tBDb3d09RvNdPDOBIiDhCOstvRJW2RBJ8ISQzzFwMr7kxU9SqWmZyvD3b7amfyIVQXMl7KyHDIkEm5oESbQuHZ67P8BJzrVVAnug2g3L+ixIiFkvTxYb4uBVvVIoZCbtcar6zIYY2be2tq5N6s4T35TmYRPO5c/T09PQ1WHi5RDJz0ycSKThMKWGE22TUO5L+fVrk3BQdskysyETuHohM2ULeIhMixLxgzNJtbpt87dg34g3iGNgxQnnM5gaeK6mUmXn6Nf1LvACSY1Z8wn2MhT3urG81VXOOOaqi9TJaW6Raf3vKzkSuQKRgXjCIb0Uardf7LvOnQIX6ZlFbNKb2Ae+36K90aT+ynVjeTvQO8y5UJZUdacQi5Ee/wqBbdyYBf8Vz9lc/AX5jZMYMpWUxwAAAABJRU5ErkJggg==") no-repeat;
    background-size: contain;
  }
  .lHeader__nav_detail {
    position: absolute;
    top: calc(100% + 29px);
    left: calc(50% - 120px);
    z-index: 1;
    width: 240px;
    padding: 34px 40px;
    pointer-events: none;
  }
  .lHeader__nav_detail::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    pointer-events: none;
    content: "";
    background-color: #f3f6f6;
    border-radius: 0 24rem 0 0;
    opacity: 0;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 0.36s var(--ease-out-cubic) 0.3s, opacity 0.24s var(--ease-out-cubic) 0.42s;
  }
  .lHeader__nav_detail::after {
    position: absolute;
    top: -13rem;
    left: calc(50% - 12rem);
    width: 24rem;
    height: 24rem;
    content: "";
    background-color: #f3f6f6;
    opacity: 0;
    transform: rotate(45deg);
    transition: transform 0.36s var(--ease-out-cubic) 0.2s, opacity 0.44s var(--ease-out-cubic) 0.22s;
  }
  .lHeader__nav_detail_inner {
    opacity: 0;
    transition: opacity 0.36s var(--ease-out-cubic) 0.1s;
  }
  .lHeader__nav_detail_list {
    display: flex;
    flex-direction: column;
    gap: 16rem;
  }
  .lHeader__nav_detail_link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }
  .lHeader__nav_detail_link_inner {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
  }
  .lHeader__nav_detail[show=true] {
    pointer-events: auto;
  }
  .lHeader__nav_detail[show=true]::before {
    opacity: 1;
    transform: scaleY(1);
    transition-delay: 0s;
  }
  .lHeader__nav_detail[show=true]::after {
    opacity: 1;
    transition-delay: 0s;
  }
  .lHeader__nav_detail[show=true] .lHeader__nav_detail_inner {
    opacity: 1;
  }
  .lHeader__menuButton {
    display: none;
  }
  .lHeader[fv=false] .lHeader__nav, .lHeader[hover=true] .lHeader__nav {
    color: var(--c-base-black);
    transition-delay: 0s;
  }
  .lHeader[fv=false] .lHeader__nav::before, .lHeader[hover=true] .lHeader__nav::before {
    opacity: 1;
    transition-delay: 0s;
  }
  .lHeader__logo {
    top: 41rem;
    left: 40rem;
    width: 151rem;
    height: 54rem;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .lHeader__nav:hover {
    color: var(--c-base-black);
    transition-delay: 0s;
  }
  .lHeader__nav:hover::before {
    opacity: 1;
    transition-delay: 0s;
  }
  .lHeader__nav_link_more::after {
    transition: transform 0.3s var(--ease-out-cubic);
  }
  .lHeader__nav_link:hover .lHeader__nav_link_more::after {
    transform: rotate(180deg);
  }
}
.lFooter {
  position: relative;
  padding-bottom: 28rem;
}
.lFooter__inner {
  display: flex;
  flex-direction: column;
  gap: 104rem;
}
.lFooter__contact {
  overflow: hidden;
}
.lFooter__contactCard {
  position: relative;
  width: 312rem;
  height: 255rem;
  padding: 32rem 62rem 85rem 26rem;
  margin: 0 43rem 0 45rem;
  background-color: #6dcd5c;
  border-radius: 0 68rem 0 0;
}
.lFooter__contactTitle {
  display: flex;
  flex-direction: column;
  gap: 18rem;
  color: var(--color-white);
}
.lFooter__contactTitle_ja {
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
.lFooter__contactTitle_ja_sub {
  font-size: 16px;
}
.lFooter__contactTitle_ja_main {
  font-size: 26px;
}
.lFooter__contactarrow {
  width: 13rem;
  height: 13rem;
  color: #6dcd5c;
}
.lFooter__contactlinkLabel {
  position: absolute;
  right: 20rem;
  bottom: 20rem;
  width: 32rem;
  height: 32rem;
}
.lFooter__contactCardTriangle {
  position: absolute;
  top: 0;
  right: 100%;
  width: 24rem;
  height: 25rem;
}
.lFooter__contactImageList {
  display: flex;
  width: 453rem;
  margin-top: 32rem;
  margin-left: -27rem;
}
.lFooter__contactImage:nth-child(1) {
  width: 143rem;
  height: 118rem;
  margin-top: 32rem;
}
.lFooter__contactImage:nth-child(2) {
  width: 129rem;
  height: 118rem;
  margin-top: 58rem;
  margin-left: 17rem;
}
.lFooter__contactImage:nth-child(3) {
  width: 165rem;
  height: 156rem;
  margin-left: -1rem;
}
.lFooter__navWrap {
  padding: 0 40rem 0 24rem;
}
.lFooter__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 30rem 36rem;
  align-items: end;
}
.lFooter__navLink--first {
  width: 100%;
}
.lFooter__navLink_text {
  display: block;
  font-size: 15rem;
  font-weight: 700;
  line-height: 1.4;
}
.lFooter__navList {
  display: flex;
  flex-direction: column;
  gap: 19rem;
  width: 150rem;
}
.lFooter__navItem_text {
  display: block;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  color: #9faeb0;
}
.lFooter__info {
  margin: 54rem 30rem 0 20rem;
}
.lFooter__logo {
  width: 100%;
  height: 120rem;
}
.lFooter__companyInfo {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  margin: -14rem 5rem 0;
}
.lFooter__companyName {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}
.lFooter__address {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.6;
}
.lFooter__copyright {
  display: block;
  margin-top: 42rem;
  margin-left: 4rem;
  font-family: var(--font-lexendtera);
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  color: #9faeb0;
  letter-spacing: -0.07em;
}
.lFooter__pagetop {
  position: absolute;
  right: 20rem;
  bottom: 0;
  width: 44px;
  height: 95px;
}
.lFooter__pagetop_text {
  display: block;
  margin-left: 15px;
  overflow: hidden;
  font-family: var(--font-lexendtera);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.07em;
  writing-mode: vertical-lr;
}
.lFooter__pagetop_text_block {
  display: block;
}
.lFooter__pagetop_icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.lFooter__pagetop_icon_item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.lFooter__pagetop_bard {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .lFooter {
    padding-bottom: 47rem;
  }
  .lFooter__inner {
    gap: 86rem;
  }
  .lFooter__contact {
    position: relative;
    padding-bottom: 81rem;
    overflow: hidden;
  }
  .lFooter__contactCard {
    width: 412rem;
    height: 368rem;
    padding: 48rem 90rem 130rem 48rem;
    margin: 0 745rem 0 355rem;
    border-radius: 0 96rem 0 0;
  }
  .lFooter__contactTitle {
    gap: 34rem;
  }
  .lFooter__contactTitle_ja {
    gap: 0;
  }
  .lFooter__contactTitle_ja_sub {
    display: flex;
    align-items: center;
    min-height: 32rem;
    font-size: 18px;
  }
  .lFooter__contactTitle_ja_main {
    display: flex;
    align-items: center;
    min-height: 112rem;
    margin-top: -1rem;
    font-size: 32rem;
  }
  .lFooter__contactarrow {
    width: 16rem;
    height: 15rem;
  }
  .lFooter__contactlinkLabel {
    right: 32rem;
    bottom: 32rem;
    width: 40rem;
    height: 39rem;
  }
  .lFooter__contactCardTriangle {
    width: 32rem;
    height: 46rem;
  }
  .lFooter__contactImageList {
    position: absolute;
    top: 56rem;
    left: -37rem;
    z-index: -1;
    display: flex;
    width: 1584rem;
    margin-top: 0;
    margin-left: 0;
    pointer-events: none;
  }
  .lFooter__contactImage {
    position: absolute;
  }
  .lFooter__contactImage:nth-child(1) {
    top: 50rem;
    left: 1px;
    width: 324rem;
    height: 308rem;
    margin-top: 0;
  }
  .lFooter__contactImage:nth-child(2) {
    top: 126rem;
    right: 388rem;
    width: 324rem;
    height: 268rem;
    margin-top: 0;
    margin-left: 0;
  }
  .lFooter__contactImage:nth-child(3) {
    top: 0;
    right: 0;
    width: 324rem;
    height: 298rem;
    margin-left: 0;
  }
  .lFooter__bottom_inner {
    display: flex;
    flex-flow: row-reverse;
    justify-content: space-between;
    padding: 0 64rem 0 61rem;
  }
  .lFooter__navWrap {
    width: 590px;
    padding: 0;
    margin-top: 3rem;
  }
  .lFooter__nav {
    flex-wrap: nowrap;
    gap: 0;
    align-items: start;
    justify-content: flex-end;
    width: 100%;
  }
  .lFooter__navLink_inner {
    position: relative;
  }
  .lFooter__navLink_text {
    font-size: 16px;
  }
  .lFooter__navList {
    gap: 25rem;
    width: -moz-fit-content;
    width: fit-content;
  }
  .lFooter__navList:nth-child(1) {
    width: 110px;
  }
  .lFooter__navList:nth-child(2) {
    width: 125px;
    margin-left: min(108px, 108rem);
  }
  .lFooter__navList:nth-child(3) {
    width: 160px;
    margin-left: min(86px, 86rem);
  }
  .lFooter__navList--service .lFooter__navItem:nth-child(n+3) {
    margin-top: -13rem;
  }
  .lFooter__navItem_text {
    font-size: 16px;
  }
  .lFooter__info {
    width: 520rem;
    margin: 0;
  }
  .lFooter__logo {
    width: 520rem;
    height: 179rem;
  }
  .lFooter__companyInfo {
    margin: -21rem 7rem 0;
  }
  .lFooter__companyName {
    font-size: 16px;
  }
  .lFooter__address {
    font-size: 14rem;
  }
  .lFooter__copyright {
    margin: 117rem 7rem 0;
    font-size: 11px;
  }
  .lFooter__pagetop {
    position: absolute;
    right: 49rem;
    bottom: -1rem;
    width: 59px;
    height: 130px;
  }
  .lFooter__pagetop_text {
    margin-top: 2px;
    margin-left: 22px;
    font-size: 12px;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .lFooter__pagetop_icon_item {
    transform-origin: left bottom;
    transition: transform 0.4s var(--ease-out-cubic);
  }
  .lFooter__pagetop_text {
    transition: transform 0.4s var(--ease-out-cubic);
  }
  .lFooter__pagetop:hover .lFooter__pagetop_icon_item[data-id="1"] {
    transform: translateY(-2rem) rotate(-2deg);
  }
  .lFooter__pagetop:hover .lFooter__pagetop_icon_item[data-id="2"] {
    transform: translateY(-5rem) rotate(2deg);
  }
  .lFooter__pagetop:hover .lFooter__pagetop_text {
    transform: translateY(-5rem);
  }
}
.cTextAnimation__inner {
  display: block;
  overflow: hidden;
}
.cTextAnimation__text {
  position: relative;
  display: block;
  transition: transform 0.54s var(--ease-out-cubic);
}
.cTextAnimation__text::after {
  position: absolute;
  top: 100%;
  left: 0;
  content: attr(data-text);
}
.cTextAnimation--gyaku .cTextAnimation__text::after {
  top: unset;
  bottom: 100%;
  content: attr(data-text);
}

@media screen and (min-width: 768px) and (any-hover: hover) {
  .cTextAnimation:hover .cTextAnimation__text {
    transform: translate3d(0, -100%, 0);
    transition-duration: 0.44s;
  }
  .cTextAnimation--gyaku:hover .cTextAnimation__text {
    transform: translate3d(0, 100%, 0);
  }
}