@charset "UTF-8";
/** 共通項目 **/
:where([data-animation]:not([data-inview-stagger])):where([data-is-inview=true]),
:where([data-animation][data-inview-stagger] > *):where([data-is-inview=true]) {
  animation-name: var(--animation-name);
  animation-duration: var(--animation-duration, 0.8s);
  animation-timing-function: var(--animation-timing-function, var(--ease-out-quint));
  animation-delay: var(--animation-delay, 0);
  animation-fill-mode: var(--animation-fill-mode, forwards);
}

/** フェード系 **/
@keyframes fade-in {
  0% {
    visibility: hidden;
    opacity: 0;
  }
}
@keyframes fade-in-left {
  0% {
    visibility: hidden;
    opacity: 0;
    translate: var(--translate, 1.2rem);
  }
}
@keyframes fade-in-right {
  0% {
    visibility: hidden;
    opacity: 0;
    translate: calc(var(--translate, 1.2rem) * -1);
  }
}
@keyframes fade-in-up {
  0% {
    visibility: hidden;
    opacity: 0;
    translate: 0 var(--translate, 1.2rem);
  }
}
@keyframes fade-in-down {
  0% {
    visibility: hidden;
    opacity: 0;
    translate: 0 calc(var(--translate, 1.2rem) * -1);
  }
}
@keyframes fade-out {
  100% {
    visibility: hidden;
    opacity: 0;
  }
}
@keyframes fade-out-left {
  100% {
    visibility: hidden;
    opacity: 0;
    translate: calc(var(--translate, 1.2rem) * -1);
  }
}
@keyframes fade-out-right {
  100% {
    visibility: hidden;
    opacity: 0;
    translate: var(--translate, 1.2rem);
  }
}
@keyframes fade-out-up {
  100% {
    visibility: hidden;
    opacity: 0;
    translate: 0 calc(var(--translate, 1.2rem) * -1);
  }
}
@keyframes fade-out-down {
  100% {
    visibility: hidden;
    opacity: 0;
    translate: 0 var(--translate, 1.2rem);
  }
}
@keyframes scale-out {
  0% {
    scale: var(--scale, 1.1);
  }
  100% {
    scale: 1;
  }
}
@keyframes modal-open {
  0% {
    visibility: visible;
    pointer-events: auto;
    -webkit-user-select: auto;
            user-select: auto;
    opacity: 0;
    translate: var(--translate-x, 0) var(--translate-y, 0);
  }
  100% {
    visibility: visible;
    pointer-events: auto;
    -webkit-user-select: auto;
            user-select: auto;
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes modal-close {
  0% {
    visibility: visible;
    pointer-events: none;
    -webkit-user-select: none;
            user-select: none;
    opacity: 1;
    translate: 0 0;
  }
  100% {
    visibility: hidden;
    pointer-events: none;
    -webkit-user-select: none;
            user-select: none;
    opacity: 0;
    translate: var(--translate-x, 0) var(--translate-y, 0);
  }
}
:where([data-animation^=fade-in], [data-animation^=fade-out]) {
  --animation-duration: 1.5s;
  --animation-timing-function: var(--ease-out-quint);
}

:where([data-animation^=fade-in]:not([data-inview-stagger])),
:where([data-animation^=fade-in][data-inview-stagger] > *) {
  --animation-fill-mode: backwards;
}
:where([data-animation^=fade-in]:not([data-inview-stagger])):not([data-is-inview=true]),
:where([data-animation^=fade-in][data-inview-stagger] > *):not([data-is-inview=true]) {
  visibility: hidden;
}

:where([data-animation^=fade-out]:not([data-inview-stagger])),
:where([data-animation^=fade-out][data-inview-stagger] > *) {
  --animation-fill-mode: both;
}

:where([data-animation=fade-in]) {
  --animation-name: fade-in;
}

:where([data-animation=fade-in-left]) {
  --animation-name: fade-in-left;
}

:where([data-animation=fade-in-right]) {
  --animation-name: fade-in-right;
}

:where([data-animation=fade-in-up]) {
  --animation-name: fade-in-up;
}

:where([data-animation=fade-in-down]) {
  --animation-name: fade-in-down;
}

:where([data-animation=fade-out]) {
  --animation-name: fade-out;
}

:where([data-animation=fade-out-left]) {
  --animation-name: fade-out-left;
}

:where([data-animation=fade-out-right]) {
  --animation-name: fade-out-right;
}

:where([data-animation=fade-out-up]) {
  --animation-name: fade-out-up;
}

:where([data-animation=fade-out-down]) {
  --animation-name: fade-out-down;
}

:root {
  --vw: 1vw;
  --z-index-header: 5;
  --infinity: calc(infinity * 1px);
  --texture-size: 8rem;
  --texture-size-sm: 6rem;
  --breakpoint-sm: 525;
  --breakpoint-sm-px: 525px;
  --breakpoint-md: 1024;
  --breakpoint-md-px: 1024px;
  --breakpoint-lg: 1600;
  --breakpoint-lg-px: 1600px;
  font-size: calc(var(--vw) / 1.44);
  font-weight: var(--font-weight-medium);
}
@media (max-width: 1024px) {
  :root {
    font-size: calc(var(--vw) / 0.768);
  }
}
@media (max-width: 525px) {
  :root {
    --texture-size: 6rem;
    --texture-size-sm: 4rem;
    font-size: calc(var(--vw) / 0.4);
  }
}

/******************************
  セクション間隔
******************************/
:root {
  --section-gap-xs: 0;
  --section-gap-sm: 0;
  --section-gap-md: 14.5rem;
  --section-gap-lg: 0;
  --section-gap-xl: 30.5rem;
}
@media (max-width: 1024px) {
  :root {
    --section-gap-xs: 4rem;
    --section-gap-sm: 7rem;
    --section-gap-md: 9rem;
    --section-gap-lg: 13.5rem;
    --section-gap-xl: 20rem;
  }
}
@media (max-width: 525px) {
  :root {
    --section-gap-xs: 3.5rem;
    --section-gap-sm: 5rem;
    --section-gap-md: 7rem;
    --section-gap-lg: 12rem;
    --section-gap-xl: 16rem;
  }
}

/******************************
  フォントサイズ
******************************/
:root {
  --font-size-xxs: 1.2rem;
  --font-size-xs: 1.3rem;
  --font-size-sm: 1.4rem;
  --font-size-md: 1.6rem;
  --font-size-lg: 1.8rem;
  --font-size-xl: 2.8rem;
  --font-size-xxl: 5.4rem;
  --font-size-xxxl: 5.8rem;
  /*
  @include bp.min(lg) {
    --font-size-md: 1.35rem;
  }


  @include bp.max(md) {
    --font-size-xs: 1.2rem;
    --font-size-sm: 1.3rem;
    --font-size-md: 1.45rem;
    --font-size-lg: 1.7rem;
    --font-size-xl: 2.2rem;
    --font-size-xxl: 2.8rem;
    --font-size-xxxl: 3.2rem;
  }

  @include bp.max(sm) {
    --font-size-xxs: 1rem;
    --font-size-xs: 1.1rem;
    --font-size-sm: 1.2rem;
    --font-size-md: 1.4rem;
    --font-size-lg: 1.55rem;
    --font-size-xl: 2rem;
    --font-size-xxl: 2.5rem;
    --font-size-xxxl: 3rem;
  }
  */
}

/******************************
  角丸
******************************/
:root {
  --radius-sm: 0.3rem;
  --radius-md: 0.5rem;
}

/******************************
  ボーダー
******************************/
:root {
  --border-xs: 0.12rem;
  --border-sm: 0.2rem;
  --border-md: 0.3rem;
  --border-lg: 0.4rem;
}

/******************************
  カラーパレット
******************************/
:root {
  --color-white: #fff;
  --color-black: #000;
  --color-line-green: #56c982;
}

/******************************
  テーマカラー
******************************/
:root {
  --color-primary-base: #bcc785;
  --color-secondary-base: #a5928c;
  --color-primary: var(--color-primary-base);
  --color-secondary: var(--color-secondary-base);
  --color-primary-b: hsl(from var(--color-primary-base) h calc(s - 29) calc(l - 7));
  --color-secondary-b: hsl(from var(--color-secondary-base) h calc(s - 15) calc(l - 8));
  --color-primary-c: hsl(from var(--color-primary-base) h calc(s - 62) calc(l - 36));
  --color-secondary-c: hsl(from var(--color-secondary-base) h calc(s - 24) calc(l - 38));
  --color-primary-d: hsl(from var(--color-primary-base) h calc(s - 62) calc(l - 44));
  --color-secondary-d: hsl(from var(--color-secondary-base) h calc(s - 24) calc(l - 46));
  --color-primary-e: hsl(from var(--color-primary-base) h calc(s - 61) calc(l - 22));
  --color-secondary-e: hsl(from var(--color-secondary-base) h calc(s - 24) calc(l - 24));
  --color-secondary-f: hsl(from var(--color-secondary-base) h calc(s - 24) calc(l - 23));
  --color-primary-g: hsl(from var(--color-primary-base) h calc(s - 62) calc(l - 58));
  --color-bg-base: white;
  --color-text-base: black;
  --color-text-contrast: white;
  --color-border: #918d87;
  --color-gradient: linear-gradient(to right, var(--color-primary-base), var(--color-secondary-base));
}

html {
  overscroll-behavior: none;
}

body {
  --page-width: 100cqw;
  --page-half-width: 50cqw;
  overflow-x: clip;
  font-family: var(--font-base);
  font-size: var(--font-size-md);
  line-height: 1.5;
  color: var(--color-text-base);
  letter-spacing: 0;
  line-break: strict;
  word-break: normal;
  overflow-wrap: anywhere;
  touch-action: manipulation;
}

main {
  container-type: inline-size;
}

img {
  display: inline-block;
  max-width: 100%;
  height: auto;
}

::selection {
  background: rgba(130, 191, 255, 0.6);
}

.wow {
  animation-duration: 1.15s;
  animation-delay: 0.1s;
  animation-fill-mode: forwards;
}
.wow.fadeIn {
  opacity: 0;
}

.slick-slide {
  outline: none;
}

.simplebar-content-wrapper {
  outline: none;
}

.simplebar-track {
  --scrollbar-size: 0.4rem;
  background-color: color-mix(in srgb, var(--color-border) 25%, #fff);
  border-radius: var(--scrollbar-size);
}
.simplebar-track.simplebar-vertical {
  width: var(--scrollbar-size);
}
.simplebar-track.simplebar-horizontal {
  height: var(--scrollbar-size);
}

.simplebar-scrollbar::before {
  inset: 0;
  background-color: var(--color-border);
  border-radius: 0.12em;
}
.simplebar-scrollbar.simplebar-visible::before {
  opacity: 1;
}

/******************************
  イージング
******************************/
:root {
  /** sine **/
  --ease-in-sine: cubic-bezier(0.47, 0, 0.745, 0.715);
  --ease-out-sine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --ease-in-out-sine: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  /** quad **/
  --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  /** cubic **/
  --ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
  /** quart **/
  --ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
  /** quint **/
  --ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
  /** expo **/
  --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
  /** circ **/
  --ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --ease-out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);
  --ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  /** back **/
  --ease-in-back: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  --ease-out-back: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --ease-in-out-back: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/******************************
  フォント
******************************/
:root {
  --font-fallback: "Zen Kaku Gothic New", Meiryo, sans-serif;
  --font-base: var(--font-fallback);
  --font-icon: "icomoon";
}

:root {
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
}

.c-parallax {
  position: fixed;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  pointer-events: none;
}
.c-parallax__figure {
  position: absolute;
  inset: 0;
  display: block;
}
.c-parallax__image {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.c-parallax ~ * {
  position: relative;
  z-index: 1;
}

.c-deco {
  --deco-gradient-primary: linear-gradient(
    to bottom,
    color-mix(in srgb, var(--color-primary) var(--c-deco-start-percentage, 35%), transparent),
    color-mix(in srgb, var(--color-secondary) var(--c-deco-end-percentage, 15%), transparent)
  );
  --deco-gradient-secondary: linear-gradient(
    to bottom,
    color-mix(in srgb, var(--color-secondary) var(--c-deco-start-percentage, 35%), transparent),
    color-mix(in srgb, var(--color-primary) var(--c-deco-end-percentage, 15%), transparent)
  );
  --deco-path-rtl: url("#decoration-right-to-left-pc");
  --deco-path-ltr: url("#decoration-left-to-right-pc");
  --c-deco-reveal-gradient-size: 5rem;
  pointer-events: none;
  background: var(--c-deco-gradient);
  clip-path: var(--c-deco-path);
  -webkit-mask-image: linear-gradient(to bottom, black 50%, transparent calc(50% + var(--c-deco-reveal-gradient-size)), transparent 100%);
          mask-image: linear-gradient(to bottom, black 50%, transparent calc(50% + var(--c-deco-reveal-gradient-size)), transparent 100%);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: 0 calc(100% - var(--c-deco-reveal-gradient-size));
          mask-position: 0 calc(100% - var(--c-deco-reveal-gradient-size));
  -webkit-mask-size: 100% calc(200% + var(--c-deco-reveal-gradient-size));
          mask-size: 100% calc(200% + var(--c-deco-reveal-gradient-size));
  transition-delay: 0.5s;
  transition-timing-function: var(--ease-out-quart);
  transition-duration: 1.75s;
  transition-property: -webkit-mask-position;
  transition-property: mask-position;
  transition-property: mask-position, -webkit-mask-position;
}
@media (max-width: 525px) {
  .c-deco {
    --deco-path-rtl: url("#decoration-right-to-left-sp");
    --deco-path-ltr: url("#decoration-left-to-right-sp");
    transition-delay: 0.35s;
    transition-duration: 1.3s;
  }
}
.c-deco[data-is-inview=true] {
  -webkit-mask-position: 0 0%;
          mask-position: 0 0%;
}
.c-deco:where([data-filled=true]) {
  --c-deco-start-percentage: 100%;
  --c-deco-end-percentage: 100%;
}
@media (max-width: 1024px) {
  .c-deco[data-device=pc] {
    display: none;
  }
}
@media (min-width: 1025px) {
  .c-deco[data-device=sp] {
    display: none;
  }
}

.c-heading01 {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1024px) {
  .c-heading01 {
    gap: 1.5rem;
  }
}
.c-heading01__main {
  font-size: 18rem;
  font-weight: var(--font-weight-light);
  line-height: 0.9;
}
@media (max-width: 1024px) {
  .c-heading01__main {
    font-size: 7.5rem;
  }
}
.c-heading01__sub {
  font-size: 2.8rem;
  line-height: 1;
}
@media (max-width: 1024px) {
  .c-heading01__sub {
    font-size: 1.4rem;
  }
}

.c-heading02 {
  display: flex;
  gap: 3rem;
  align-items: flex-end;
  justify-content: center;
}
@media (max-width: 1024px) {
  .c-heading02 {
    display: block;
    text-align: center;
  }
}
.c-heading02__main {
  font-size: 18rem;
  font-weight: var(--font-weight-light);
  line-height: 0.9;
}
@media (max-width: 1024px) {
  .c-heading02__main {
    font-size: 7.5rem;
  }
}
.c-heading02__sub {
  font-size: 2.8rem;
  line-height: 1;
}
@media (max-width: 1024px) {
  .c-heading02__sub {
    margin-top: 1.6rem;
    font-size: 1.4rem;
  }
}

.c-heading03__main {
  font-size: 9.6rem;
  font-weight: var(--font-weight-light);
  line-height: 1;
  color: var(--color-secondary);
}
@media (max-width: 1024px) {
  .c-heading03__main {
    font-size: 6rem;
  }
}
.c-heading03__sub {
  padding-left: 2rem;
  margin-top: 2rem;
  font-size: var(--font-size-lg);
  line-height: 1;
}
@media (max-width: 1024px) {
  .c-heading03__sub {
    padding-left: 0;
    margin-top: 1.1rem;
    font-size: var(--font-size-md);
  }
}

.c-heading04 {
  text-align: center;
}
.c-heading04__text {
  display: inline-block;
  padding: 0 2rem 0.5rem;
  font-size: 5.4rem;
  line-height: 1.56;
  border-bottom: 0.7rem solid transparent;
}
@media (max-width: 1024px) {
  .c-heading04__text {
    padding: 0 1rem 0.3rem;
    font-size: 3.6rem;
    border-bottom: 0.4rem solid transparent;
  }
}
.c-heading04__text:where([data-color-type=primary]) {
  background: linear-gradient(to right, var(--color-primary-c), var(--color-secondary-c));
  -webkit-background-clip: text;
          background-clip: text;
  border-image: linear-gradient(to right, var(--color-primary), var(--color-secondary)) 1;
  -webkit-text-fill-color: transparent;
}
.c-heading04__text:where([data-color-type=secondary]) {
  background: linear-gradient(to right, var(--color-secondary-c), var(--color-primary-c));
  -webkit-background-clip: text;
          background-clip: text;
  border-image: linear-gradient(to right, var(--color-secondary), var(--color-primary)) 1;
  -webkit-text-fill-color: transparent;
}

.c-image {
  width: 100%;
}
.c-image:where([data-image-size=cover]) {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-button01 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 17.4rem;
  padding-block: 1.1rem;
  font-size: 1.8rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  color: var(--color-white);
  border-radius: 2rem;
}
.c-button01.is-web {
  background-color: var(--color-secondary);
}
.c-button01.is-line {
  background-color: var(--color-line-green);
}
.c-button01__text {
  display: block;
}
.c-button01__icon {
  display: block;
  margin-left: 0.75rem;
}
@media (max-width: 525px) {
  .c-button01__icon {
    margin-left: 1.5rem;
  }
}

.c-button02 {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  min-width: 21.4rem;
  padding-block: 2.2rem;
  padding-inline: 2rem;
  font-size: 1.8rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  color: var(--color-white);
  background-color: rgba(4, 6, 6, 0.65);
  border-radius: 50rem;
}
@media (max-width: 1024px) {
  .c-button02 {
    min-width: 17.4rem;
    padding-block: 1.7rem;
    padding-inline: 1.6rem;
    font-size: 1.6rem;
  }
}
.c-button02__text {
  margin: 0 auto;
}
.c-button02__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding-top: 0.1rem;
  padding-left: 0.2rem;
  margin-left: 1rem;
  background: var(--color-white);
  border-radius: 50rem;
}
@media (max-width: 1024px) {
  .c-button02__icon {
    width: 1.6rem;
    height: 1.6rem;
  }
}
.c-button02__icon i {
  font-size: 1.3rem;
  font-weight: var(--font-weight-bold);
  color: rgba(4, 6, 6, 0.65);
}
@media (max-width: 1024px) {
  .c-button02__icon i {
    font-size: 1rem;
  }
}
@media (any-hover: hover) {
  .c-button02 {
    transition: opacity 0.2s;
  }
  .c-button02:hover {
    opacity: 0.7;
  }
}

.c-text-link {
  display: inline-flex;
  align-items: center;
}
.c-text-link__text {
  flex: 1 1 auto;
}
.c-text-link__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  padding-left: 1em;
}
@media (any-hover: hover) {
  .c-text-link {
    transition: opacity 0.2s;
  }
  .c-text-link:hover {
    opacity: 0.7;
  }
}

.c-keep-word {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.c-signature {
  line-height: 1;
}
.c-signature__position {
  font-size: 1.8rem;
}
@media (max-width: 1024px) {
  .c-signature__position {
    font-size: 1.6rem;
  }
}
.c-signature__name {
  display: flex;
  column-gap: 0.65rem;
  align-items: flex-end;
  font-size: 3rem;
}
@media (max-width: 1024px) {
  .c-signature__name {
    column-gap: 0.8rem;
    font-size: 2rem;
  }
}
.c-signature__name ruby {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 1.5rem;
}
@media (max-width: 1024px) {
  .c-signature__name ruby {
    gap: 1.1rem;
    margin-top: 1.1rem;
  }
}
.c-signature__name rt {
  font-size: 1.4rem;
  letter-spacing: 0.3em;
}
@media (max-width: 1024px) {
  .c-signature__name rt {
    font-size: 1.2rem;
  }
}

.c-detect-scroll {
  --gradation-size-y: 5rem;
  --gradation-size-x: 4rem;
  --top-gradation: 0%;
  --right-gradation: 0%;
  --bottom-gradation: 0%;
  --left-gradation: 0%;
}
@media (max-width: 1024px) {
  .c-detect-scroll {
    --gradation-size-y: 3.5rem;
    --gradation-size-x: 3rem;
  }
}
.c-detect-scroll .simplebar-content-wrapper[data-scrollable*=y] {
  --top-gradation: var(--gradation-size-y);
  --bottom-gradation: var(--gradation-size-y);
}
.c-detect-scroll .simplebar-content-wrapper[data-scrollable*=y][data-scroll-state*=top] {
  --top-gradation: 0%;
}
.c-detect-scroll .simplebar-content-wrapper[data-scrollable*=y][data-scroll-state*=bottom] {
  --bottom-gradation: 0%;
}
.c-detect-scroll .simplebar-content-wrapper[data-scrollable*=x] {
  --right-gradation: var(--gradation-size-x);
  --left-gradation: var(--gradation-size-x);
}
.c-detect-scroll .simplebar-content-wrapper[data-scrollable*=x][data-scroll-state*=right] {
  --right-gradation: 0%;
}
.c-detect-scroll .simplebar-content-wrapper[data-scrollable*=x][data-scroll-state*=left] {
  --left-gradation: 0%;
}
.c-detect-scroll .simplebar-content-wrapper:is([data-scrollable*=x], [data-scrollable*=y]) {
  -webkit-mask-image: linear-gradient(to right, #000, #000 100%), linear-gradient(to bottom, #000, transparent var(--top-gradation)), linear-gradient(to top, #000, transparent var(--bottom-gradation)), linear-gradient(to left, #000, transparent var(--right-gradation)), linear-gradient(to right, #000, transparent var(--left-gradation));
          mask-image: linear-gradient(to right, #000, #000 100%), linear-gradient(to bottom, #000, transparent var(--top-gradation)), linear-gradient(to top, #000, transparent var(--bottom-gradation)), linear-gradient(to left, #000, transparent var(--right-gradation)), linear-gradient(to right, #000, transparent var(--left-gradation));
  -webkit-mask-composite: source-out, source-over, source-over, source-over;
          mask-composite: subtract, add, add, add;
}

.c-simplebar {
  --c-simplebar-size: 1.5rem;
  --c-simplebar-color: var(--color-secondary);
  --c-simplebar-track-color: #dcdcdc;
  --c-simplebar-radius: var(--c-simplebar-size);
  --c-simplebar-content-padding-right: 0;
  --c-simplebar-content-padding-bottom: 0;
}
.c-simplebar .simplebar-content {
  padding-right: var(--c-simplebar-content-padding-right) !important;
  padding-bottom: var(--c-simplebar-content-padding-bottom) !important;
}
.c-simplebar .simplebar-track {
  --scrollbar-size: var(--c-simplebar-size);
  background-color: var(--c-simplebar-track-color);
  border-radius: var(--c-simplebar-radius);
}
.c-simplebar .simplebar-track.simplebar-vertical {
  width: var(--c-simplebar-size);
}
.c-simplebar .simplebar-track.simplebar-horizontal {
  height: var(--c-simplebar-size);
}
.c-simplebar .simplebar-scrollbar::before {
  inset: 0;
  background-color: var(--c-simplebar-color);
  border-radius: var(--c-simplebar-radius);
}

.c-services-menu {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.4rem;
  justify-items: center;
}
@media (max-width: 1024px) {
  .c-services-menu {
    gap: 1.4rem;
  }
}
@media (max-width: 525px) {
  .c-services-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.c-services-menu__item {
  position: relative;
  width: 100%;
  min-height: 6rem;
  overflow: hidden;
  background: var(--color-gradient) border-box;
  background-repeat: no-repeat;
  border: 0.1rem solid transparent;
  border-radius: 0.5rem;
  box-shadow: inset 0 0 0 100vmax var(--color-white);
}
@media (max-width: 1024px) {
  .c-services-menu__item {
    min-height: 5.2rem;
  }
}
@media (any-hover: hover) {
  .c-services-menu__item {
    transition: box-shadow 0.23s;
  }
  .c-services-menu__item:hover {
    box-shadow: inset 0 0 0 100vmax transparent;
  }
}
.c-services-menu__link {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 0.5rem 3rem;
  line-height: 1.125;
  color: var(--color-text);
  border-radius: 0.5rem;
}
@media (max-width: 1024px) {
  .c-services-menu__link {
    padding: 0.5rem 1rem;
  }
}
@media (any-hover: hover) {
  .c-services-menu__link {
    transition: color 0.2s;
  }
  .c-services-menu__link:hover {
    color: var(--color-white);
  }
  .c-services-menu__link:hover .c-services-menu__icon {
    color: var(--color-white);
  }
}
.c-services-menu__text {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 1.8rem;
}
@media (max-width: 1024px) {
  .c-services-menu__text {
    font-size: 1.6rem;
  }
}
.c-services-menu__icon {
  flex: 0 0 auto;
  font-size: 1.5rem;
  color: var(--color-secondary);
}

.c-breadcrumb {
  padding-top: 1.5rem;
}
@media (max-width: 1024px) {
  .c-breadcrumb {
    padding-top: 1.3rem;
  }
}
.c-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  color: #646464;
}
.c-breadcrumb__item {
  line-height: 1.5;
}
.c-breadcrumb__item + .c-breadcrumb__item::before {
  margin: 0 0.9rem;
  content: "/";
}
@media (any-hover: hover) {
  .c-breadcrumb__item a {
    transition: opacity 0.2s;
  }
  .c-breadcrumb__item a:hover {
    opacity: 0.7;
  }
}

.c-paragraph {
  font-weight: var(--font-weight-normal);
  line-height: 2.375;
}
@media (max-width: 1024px) {
  .c-paragraph {
    line-height: 2.125;
  }
}

.c-list {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.c-list:where([data-list-type=check]) .c-list__item {
  position: relative;
  padding-left: var(--c-list-check-gap, 1.6em);
}
.c-list:where([data-list-type=check]) .c-list__item::before {
  position: absolute;
  top: var(--c-list-check-top, 0.75em);
  left: 0;
  font-family: var(--font-icon);
  font-size: var(--c-list-check-size, 0.75em);
  line-height: 1;
  content: "\e909";
}

.c-tile {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.4rem;
}
@media (max-width: 1024px) {
  .c-tile {
    gap: 1.5rem;
  }
}
.c-tile__item:where([data-item-size=normal]) {
  grid-column: span 1;
}
.c-tile__item:where([data-item-size=wide]) {
  grid-column: 1/-1;
}
@media (max-width: 1024px) {
  .c-tile {
    grid-template-columns: 1fr;
  }
  .c-tile__item:where([data-item-size=normal]), .c-tile__item:where([data-item-size=wide]) {
    grid-column: 1/-1;
  }
}

.c-card01 {
  padding: 4rem 3rem 3.7rem;
}
@media (max-width: 1024px) {
  .c-card01 {
    padding: 2rem 2rem 3.6rem;
    border-radius: 1rem;
  }
}
.c-card01__heading {
  font-size: 3.2rem;
  line-height: 1;
  text-align: center;
}
@media (max-width: 1024px) {
  .c-card01__heading {
    font-size: 2.6rem;
  }
}
.c-card01__body {
  padding: 2.5rem 1rem 0;
  margin-top: 2.1rem;
  border-top: 0.3rem solid;
}
@media (max-width: 1024px) {
  .c-card01__body {
    padding: 2.1rem 1rem 0;
    font-size: 1.4rem;
  }
}

.c-career {
  --career-date-width: 5.6em;
}
.c-career__item {
  display: flex;
  gap: 1.3rem;
}
@media (max-width: 1024px) {
  .c-career__item {
    gap: 1.6rem;
  }
}
.c-career__item:not(:first-of-type) {
  margin-top: 0.5rem;
}
@media (max-width: 1024px) {
  .c-career__item:not(:first-of-type) {
    margin-top: 0.8rem;
  }
}
.c-career__date {
  flex: 0 0 auto;
  white-space: nowrap;
}
.c-career__content {
  flex: 1 1 0;
  min-width: 0;
}

.c-term-list {
  width: 93.6rem;
  margin: 0 auto;
  line-height: 2.375;
}
@media (max-width: 1024px) {
  .c-term-list {
    width: 100%;
    line-height: 2.125;
  }
}
.c-term-list__item {
  display: grid;
  grid-template-columns: 23rem auto;
  border-bottom: 0.2rem solid;
  border-image: linear-gradient(to right, var(--color-primary), var(--color-secondary)) 1;
}
@media (max-width: 1024px) {
  .c-term-list__item {
    display: block;
    padding: 0 1rem 2rem;
  }
}
@media (max-width: 1024px) {
  .c-term-list__item:not(:first-of-type) {
    display: block;
    padding: 1.8rem 1rem 2rem;
  }
}
.c-term-list__term {
  width: fit-content;
  padding: 1.8rem 2.4rem;
  font-size: 1.8rem;
  background: linear-gradient(to right, var(--color-primary-c), var(--color-secondary-c));
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 1024px) {
  .c-term-list__term {
    padding: 0;
  }
}
.c-term-list__description {
  padding: 1.8rem 2.4rem;
  font-weight: var(--font-weight-normal);
}
@media (max-width: 1024px) {
  .c-term-list__description {
    padding: 0;
  }
}
.c-term-list__description span {
  color: var(--color-secondary);
}

.c-grid-table {
  display: grid;
  grid-template-columns: repeat(var(--c-grid-table-column-count, 1), var(--c-grid-table-column-width, auto));
}
:where(.c-grid-table :where(thead, tbody, tfoot, tr)) {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1/-1;
}

:where(.c-grid-table :where(th, td)) {
  display: block;
  grid-column: auto/span var(--c-grid-table-colspan, 1);
}

:root {
  --container-padding: 15.6rem;
}
@media (max-width: 1024px) {
  :root {
    --container-padding: 5rem;
  }
}
@media (max-width: 525px) {
  :root {
    --container-padding: 2rem;
  }
}

.l-container {
  --current-container-padding: var(--container-padding);
  max-width: calc(100 * var(--vw) - var(--current-container-padding) * 2);
  margin-right: auto;
  margin-left: auto;
}

.l-fixed {
  position: fixed;
  right: 2rem;
  bottom: 0;
  z-index: 100;
}
@media (max-width: 1024px) {
  .l-fixed {
    right: 0;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
    height: 8.4rem;
    padding: 0 0.5rem;
    pointer-events: none;
    background: linear-gradient(to bottom, transparent 0%, #664c2e 100%);
  }
}
.l-fixed__buttons {
  display: none;
}
@media (max-width: 1024px) {
  .l-fixed__buttons {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.3rem;
    max-width: 33rem;
  }
}
.l-fixed__button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 8rem;
  height: 6.4rem;
  color: #fff;
  pointer-events: auto;
  background: #333;
  border-radius: 1rem 1rem 0 0;
}
.l-fixed__button.is-tel {
  background: #ffbf74;
}
.l-fixed__button.is-web {
  background: #63babc;
}
.l-fixed__button.is-line {
  background: #56c982;
}
.l-fixed__button.is-schedule {
  background: #ffbf74;
}
.l-fixed__button-icon {
  font-size: 2rem;
}
.l-fixed__button-text {
  font-size: 1.4rem;
}
.l-fixed__top {
  display: block;
  width: 6rem;
  padding-block: 1.5rem 2rem;
  font-size: 2rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  color: var(--color-white);
  text-align: center;
  letter-spacing: 0;
  pointer-events: auto;
  background: rgba(0, 0, 0, 0.65);
  border-radius: 50rem 50rem 0 0;
}
@media (max-width: 1024px) {
  .l-fixed__top {
    right: 0.5rem;
    width: 5.8rem;
    height: 6.4rem;
    padding-block: 1.2rem 0;
  }
}
.l-fixed__top-icon {
  display: block;
  font-size: 1rem;
}
@media (max-width: 1024px) {
  .l-fixed__top-icon {
    font-size: 1.5rem;
  }
}
.l-fixed__top-text {
  display: block;
  padding-top: 1.5rem;
}
@media (max-width: 1024px) {
  .l-fixed__top-text {
    padding-top: 1.2rem;
    font-size: 1.4rem;
  }
}
@media (any-hover: hover) {
  .l-fixed__top {
    transition: opacity 0.2s;
  }
  .l-fixed__top:hover {
    opacity: 0.7;
  }
}

.l-footer {
  display: flow-root;
  background: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(1.5rem);
          backdrop-filter: blur(1.5rem);
}
.l-footer__logo {
  display: block;
  max-width: 50rem;
  margin-inline: auto;
  margin-top: 9rem;
}
@media (max-width: 1024px) {
  .l-footer__logo {
    padding: 0 2rem;
    margin-top: 8.1rem;
  }
}
@media (max-width: 525px) {
  .l-footer__logo {
    max-width: 100%;
  }
}
.l-footer__policies {
  display: flex;
  gap: 1.2rem;
  justify-content: center;
  margin-top: 4rem;
}
@media (max-width: 1024px) {
  .l-footer__policies {
    gap: 0.6rem;
    padding: 0 2.5rem;
    margin-top: 2.5rem;
  }
}
.l-footer__policies-item {
  width: 100%;
  max-width: 16.6rem;
  padding-block: 1.3rem 1.4rem;
  font-size: 1.5rem;
  font-weight: var(--font-weight-normal);
  line-height: 1;
  text-align: center;
  letter-spacing: 0;
  border: 0.1rem solid #9e9e9e;
  border-radius: 0.5rem;
}
@media (max-width: 1024px) {
  .l-footer__policies-item {
    max-width: 11rem;
    padding-block: 0.9rem 1rem;
    font-size: 1.2rem;
  }
}
.l-footer__address {
  margin-left: 2.4rem;
  font-weight: var(--font-weight-normal);
  text-decoration: none;
}
@media (max-width: 1024px) {
  .l-footer__address {
    margin-top: 3.1rem;
    margin-left: 0;
    font-size: 1.4rem;
    text-align: center;
  }
}
.l-footer__tel {
  display: block;
  width: fit-content;
  margin: 0 auto;
  margin-top: 2rem;
  font-size: 4.2rem;
  line-height: 1;
}
@media (max-width: 1024px) {
  .l-footer__tel {
    margin-top: 0.8rem;
    font-size: 3rem;
  }
}
.l-footer__tel-icon {
  margin-right: 1.5rem;
  font-size: 4rem;
  color: var(--color-primary);
}
@media (max-width: 1024px) {
  .l-footer__tel-icon {
    margin-right: 1.1rem;
    font-size: 2.4rem;
  }
}
.l-footer__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
  margin-top: 2rem;
}
@media (max-width: 1024px) {
  .l-footer__buttons {
    gap: 1rem;
    margin-top: 1.5rem;
  }
}
@media (max-width: 525px) {
  .l-footer__buttons {
    padding: 0 2.5rem;
  }
}
@media (max-width: 1024px) {
  .l-footer__buttons .c-button01 {
    max-width: 16.8rem;
  }
}
@media (any-hover: hover) {
  .l-footer__buttons .c-button01 {
    transition: opacity 0.2s;
  }
  .l-footer__buttons .c-button01:hover {
    opacity: 0.7;
  }
}
.l-footer__schedule {
  margin-top: 2.5rem;
}
@media (max-width: 1024px) {
  .l-footer__schedule {
    margin-top: 1.2rem;
    font-size: 1.4rem;
  }
}
@media (max-width: 525px) {
  .l-footer__schedule {
    padding: 0 2.5rem;
  }
}
.l-footer__main {
  display: grid;
  grid-template-columns: repeat(2, 45.6rem);
  gap: 0rem 7.2rem;
  justify-content: center;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .l-footer__main {
    grid-template-columns: 1fr;
    gap: 4rem;
    max-width: 50rem;
  }
}
@media (max-width: 525px) {
  .l-footer__main {
    max-width: 100%;
  }
}
.l-footer__block {
  min-width: 0;
  margin-top: 6rem;
}
@media (max-width: 1024px) {
  .l-footer__block {
    margin-top: 0;
  }
  .l-footer__block:nth-of-type(2) {
    display: none;
  }
}
.l-footer__standard {
  position: relative;
  display: inline-block;
  padding: 2.4rem 2rem 2rem;
  margin-top: 3rem;
  font-weight: var(--font-weight-normal);
  line-height: 1.75;
}
@media (max-width: 1024px) {
  .l-footer__standard {
    line-height: 1.5;
  }
}
@media (max-width: 525px) {
  .l-footer__standard {
    margin: 3rem 2rem 0;
  }
}
.l-footer__standard::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: var(--color-gradient) border-box border-box;
  border: 0.12rem solid transparent;
  border-radius: 2rem;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: destination-out;
          mask-composite: destination-out;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}
.l-footer__standard-heading {
  line-height: 1;
}
.l-footer__standard-text {
  margin-top: 1rem;
  font-size: 1.4rem;
}
@media (max-width: 1024px) {
  .l-footer__standard-text {
    margin-top: 0.9rem;
    font-size: 1.6rem;
    letter-spacing: -0.05em;
  }
}
.l-footer__standard-link {
  margin: 1.6rem 0 0 auto;
  font-size: 1.4rem;
  text-align: right;
}
.l-footer__standard-link .c-text-link {
  border-bottom: 0.1rem solid var(--color-secondary);
}
.l-footer__standard-link .c-text-link i {
  color: var(--color-secondary);
}
.l-footer__menu .l-menu {
  display: grid;
  grid-template-rows: repeat(4, auto);
  grid-template-columns: repeat(2, max-content);
  grid-auto-flow: column;
  gap: 3.2rem 7rem;
  justify-content: start;
}
.l-footer__menu .l-menu:has(> .l-menu__item:nth-child(9)) {
  grid-template-rows: repeat(6, auto);
}
.l-footer__menu .l-menu:has(> .l-menu__item:nth-child(13)) {
  grid-template-rows: repeat(8, auto);
}
.l-footer__menu .l-menu:has(> .l-menu__item:nth-child(17)) {
  grid-template-rows: repeat(10, auto);
}
.l-footer__menu .l-menu:has(> .l-menu__item:nth-child(21)) {
  grid-template-rows: repeat(12, auto);
}
.l-footer__menu .l-menu:has(> .l-menu__item:nth-child(25)) {
  grid-template-rows: repeat(14, auto);
}
.l-footer__menu .l-menu:has(> .l-menu__item:nth-child(29)) {
  grid-template-rows: repeat(16, auto);
}
.l-footer__menu .l-menu:has(> .l-menu__item:nth-child(33)) {
  grid-template-rows: repeat(18, auto);
}
.l-footer__menu .l-menu:has(> .l-menu__item:nth-child(37)) {
  grid-template-rows: repeat(20, auto);
}
.l-footer__menu .l-menu:has(> .l-menu__item:nth-child(41)) {
  grid-template-rows: repeat(22, auto);
}
.l-footer__menu .l-menu:has(> .l-menu__item:nth-child(45)) {
  grid-template-rows: repeat(24, auto);
}
.l-footer__menu .l-menu__item {
  min-width: max-content;
}
@media (any-hover: hover) {
  .l-footer__menu .l-menu__link {
    transition: color 0.12s;
  }
  .l-footer__menu .l-menu__link:hover {
    color: var(--color-secondary);
  }
}
.l-footer__menu .l-menu__link .c-text-link__icon {
  padding-left: 2em;
  font-size: var(--font-size-sm);
  color: var(--color-secondary);
}
.l-footer__menu .l-menu__icon {
  display: none;
}
.l-footer__menu .l-menu__text {
  display: block;
}
.l-footer__menu .l-menu__sub {
  margin-top: 2rem;
}
.l-footer__menu .l-menu__sub-list {
  display: grid;
  gap: 1.5rem;
  padding-left: 0.5rem;
}
.l-footer__menu .l-menu__sub-link {
  display: flex;
  align-items: center;
}
@media (any-hover: hover) {
  .l-footer__menu .l-menu__sub-link {
    transition: color 0.12s;
  }
  .l-footer__menu .l-menu__sub-link:hover {
    color: var(--color-primary);
  }
}
.l-footer__menu .l-menu__sub-link::before {
  flex: 0 0 auto;
  width: 0.48rem;
  height: 0.24rem;
  content: "";
  background-color: var(--color-primary);
}
.l-footer__menu .l-menu__sub-text {
  padding-left: 0.5rem;
}
.l-footer__sns {
  padding-top: 7.5rem;
}
@media (max-width: 1024px) {
  .l-footer__sns {
    padding-top: 6.2rem;
  }
}
.l-footer__sns .l-sns {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
  justify-content: center;
  font-size: 4rem;
}
@media (max-width: 1024px) {
  .l-footer__sns .l-sns {
    grid-template-columns: 1fr;
  }
}
.l-footer__sns .l-sns__link {
  display: block;
  padding: 0.2rem;
}
@media (any-hover: hover) {
  .l-footer__sns .l-sns__link {
    transition: opacity 0.2s;
  }
  .l-footer__sns .l-sns__link:hover {
    opacity: 0.7;
  }
}
.l-footer__sns .l-sns__icon {
  display: block;
  width: 1em;
  height: auto;
}
.l-footer__sns .l-sns__text {
  display: none;
}
.l-footer__map {
  position: relative;
  aspect-ratio: 1440/450;
  padding-top: 4rem;
}
@media (max-width: 1024px) {
  .l-footer__map {
    aspect-ratio: 400/350;
    padding-top: 2.5rem;
  }
}
.l-footer__map iframe {
  display: block;
  width: 100%;
  height: 100%;
}
.l-footer__copyright {
  display: block;
  padding-block: 0.9rem;
  font-size: 1.2rem;
  line-height: 1;
  color: var(--color-white);
  text-align: center;
  background: var(--color-gradient);
}
@media (max-width: 1024px) {
  .l-footer__copyright {
    padding-block: 0.9rem 8.1rem;
    font-size: 1.4rem;
    font-weight: var(--font-weight-normal);
  }
}

.is-lower-page .l-footer {
  position: relative;
  z-index: 0;
}
.is-lower-page .l-footer::before {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 35.4rem;
  content: "";
  background: linear-gradient(to bottom, var(--color-white), transparent);
}
@media (max-width: 1024px) {
  .is-lower-page .l-footer::before {
    height: 55rem;
  }
}

.l-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1000;
}
.l-header[data-has-bg=true] .l-header__inner {
  background-color: color-mix(in srgb, var(--color-white) 88%, transparent);
  -webkit-backdrop-filter: blur(0.8rem);
          backdrop-filter: blur(0.8rem);
}
.l-header[data-has-bg=true] .l-header__lead {
  color: var(--color-text-base);
}
.l-header[data-has-bg=true] .l-header__tel {
  color: var(--color-text-base);
  filter: none;
}
.l-header[data-has-bg=true] .l-header__tel-icon {
  color: var(--color-primary);
}
.l-header__inner {
  padding: 1rem 2.8rem 1rem 3.2rem;
  transition: background-color 0.2s, -webkit-backdrop-filter 0.2s;
  transition: background-color 0.2s, backdrop-filter 0.2s;
  transition: background-color 0.2s, backdrop-filter 0.2s, -webkit-backdrop-filter 0.2s;
}
@media (max-width: 525px) {
  .l-header__inner {
    padding: 1.4rem 2rem 1.4rem 1.6rem;
  }
}
.l-header__block:nth-of-type(2) {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 7.2rem;
}
@media (max-width: 1024px) {
  .l-header__block:nth-of-type(1) {
    display: none;
  }
}
.l-header__lead {
  padding-right: 16rem;
  font-size: 1.2rem;
  font-weight: var(--font-weight-normal);
  line-height: 1;
  color: var(--color-white);
  text-align: right;
}
.l-header__logo {
  display: block;
  flex: 0 0 auto;
  width: 31.5rem;
 filter:
  drop-shadow(0 0 0.15rem color-mix(in srgb, #fff 50%, transparent))
  drop-shadow(0 0 0.15rem color-mix(in srgb, #fff 49%, transparent))
  drop-shadow(0 0 0.15rem color-mix(in srgb, #fff 49%, transparent))
  drop-shadow(0 0 0.2rem color-mix(in srgb, #fff 48%, transparent))
  drop-shadow(0 0 0.2rem color-mix(in srgb, #fff 48%, transparent));
}
@media (max-width: 525px) {
  .l-header__logo {
    width: 22rem;
  }
}
.l-header__buttons {
  display: flex;
  flex: 0 0 auto;
  gap: 1.5rem;
  align-items: center;
  margin-left: 10rem;
}
@media (max-width: 1024px) {
  .l-header__buttons {
    display: none;
  }
}
.l-header__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 18rem;
  min-height: 6rem;
  padding: 0 1.5rem;
  color: var(--color-white);
  border-radius: 2rem;
}
.l-header__link.is-web {
  background: var(--color-secondary-base);
}
.l-header__link.is-web .l-header__icon {
  padding-top: 0.8rem;
  font-size: 3.4rem;
}
.l-header__link.is-web .l-header__text {
  padding-bottom: 1rem;
}
.l-header__link.is-schedule {
  background: var(--color-primary-base);
}
.l-header__link.is-schedule .l-header__icon {
  font-size: 3rem;
}
@media (any-hover: hover) {
  .l-header__link {
    transition: opacity 0.2s;
  }
  .l-header__link:hover {
    opacity: 0.7;
  }
}
.l-header__text {
  font-size: 2.2rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
}
.l-header__text small {
  font-size: 1.4rem;
  font-weight: var(--font-weight-normal);
}
.l-header__icon {
  font-size: 1.5rem;
}
.l-header__sns {
  display: flex;
  flex: 0 0 auto;
  gap: 4rem;
  align-items: center;
  margin-left: 3.5rem;
}
@media (max-width: 1024px) {
  .l-header__sns {
    display: none;
  }
}
.l-header__sns-link {
  display: block;
}
@media (any-hover: hover) {
  .l-header__sns-link {
    transition: opacity 0.2s;
  }
  .l-header__sns-link:hover {
    opacity: 0.7;
  }
}
.l-header__sns-icon {
  width: 4rem;
}
.l-header__tel {
  flex: 0 0 auto;
  margin-left: 4rem;
  font-size: 3.6rem;
  color: var(--color-white);
  filter: drop-shadow(0 0 0.15rem color-mix(in srgb, rgba(0, 0, 0, 0.18) 100%, transparent)) drop-shadow(0 0 0.25rem color-mix(in srgb, rgba(0, 0, 0, 0.18) 99%, transparent)) drop-shadow(0 0 0.35rem color-mix(in srgb, rgba(0, 0, 0, 0.18) 98%, transparent));
}
@media (max-width: 1024px) {
  .l-header__tel {
    display: none;
  }
}
.l-header__tel-icon {
  margin-right: 1.4rem;
  font-size: 3rem;
}
.l-header__toggle {
  position: relative;
  z-index: 1000;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 0.8rem;
  align-items: center;
  justify-content: center;
  width: 7.6rem;
  height: 7.6rem;
  padding-top: 0.5%;
  margin-left: auto;
  color: var(--color-white);
  background: var(--color-secondary-base);
  border: 0;
  border-radius: 2rem;
}
@media (max-width: 525px) {
  .l-header__toggle {
    gap: 0.6rem;
    width: 6.2rem;
    height: 6.2rem;
  }
}
.l-header__toggle[data-open=true] .l-header__toggle-line[data-toggle-type=open] {
  display: none;
  background-color: transparent;
  opacity: 0;
}
.l-header__toggle[data-open=true] .l-header__toggle-line[data-toggle-type=close] {
  opacity: 1;
  translate: 0 0;
  transition-delay: 0.1s;
}
.l-header__toggle-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 2.6rem;
}
@media (max-width: 525px) {
  .l-header__toggle-inner {
    gap: 0.75rem;
    width: 3.5rem;
    height: 2.2rem;
  }
}
.l-header__toggle-line {
  display: block;
  flex-shrink: 0;
  width: 100%;
  height: 0.2rem;
  background-color: var(--color-white);
  transition-duration: 0.25s;
  transition-property: opacity, translate, background-color;
}
.l-header__toggle-line[data-toggle-type=close] {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -0.1rem;
  opacity: 0;
  translate: 0 0.35rem;
}
.l-header__toggle-line[data-toggle-type=close]:nth-child(4) {
  rotate: 45deg;
}
.l-header__toggle-line[data-toggle-type=close]:nth-child(5) {
  rotate: -45deg;
}
.l-header__toggle-text {
  display: block;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media (max-width: 525px) {
  .l-header__toggle-text {
    font-size: 1.2rem;
  }
}
.l-header__spmenu {
  position: fixed;
  inset: 0;
  z-index: 999;
  pointer-events: none;
}
.l-header__spmenu[data-status=show] {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}
.l-header__spmenu-layer {
  position: fixed;
  inset: 0;
  visibility: hidden;
  width: 100%;
  height: 100vh;
  background: color-mix(in srgb, var(--color-primary-g) 30%, transparent);
}
.l-header__spmenu-layer:where(.l-header__spmenu[data-status=show] *) {
  animation-name: modal-open;
  animation-duration: 0.45s;
  animation-fill-mode: forwards;
}
@media (max-width: 525px) {
  .l-header__spmenu-layer:where(.l-header__spmenu[data-status=show] *) {
    animation-duration: 0.3s;
  }
}
.l-header__spmenu-layer:where(.l-header__spmenu:not([data-status=show]) *) {
  animation-name: modal-close;
  animation-duration: 0.65s;
  animation-fill-mode: forwards;
}
.l-header__spmenu-inner {
  --translate-x: 0.7rem;
  position: absolute;
  top: 4.8rem;
  right: 5.5rem;
  z-index: 1;
  visibility: hidden;
  opacity: 0;
}
@media (max-width: 525px) {
  .l-header__spmenu-inner {
    top: 0;
    right: 0;
  }
}
.l-header__spmenu-inner:where(.l-header__spmenu[data-status=show] *) {
  animation-name: modal-open;
  animation-duration: 0.5s;
  animation-timing-function: var(--ease-out-quint);
  animation-fill-mode: forwards;
}
.l-header__spmenu-inner:where(.l-header__spmenu[data-status=hide] *) {
  animation-name: modal-close;
  animation-duration: 0.5s;
  animation-timing-function: var(--ease-out-quint);
  animation-fill-mode: forwards;
}
.l-header__spmenu-main {
  --menu-column-height: 46rem;
  width: 25rem;
  height: var(--menu-column-height);
  padding: 6.2rem 3rem;
  background: hsl(from var(--color-secondary) h calc(s - 8) calc(l + 24));
  border-radius: 2rem;
}
@media (min-width: 526px) {
  .l-header__spmenu-main:has(.l-menu__item:nth-child(8)) {
    width: 35rem;
  }
}
@media (max-width: 525px) {
  .l-header__spmenu-main {
    --menu-column-height: 65.5vh;
    width: 30rem;
    padding: 10.8rem 3.5rem 4rem;
    border-radius: 0 0 0 2rem;
  }
}
.l-header__spmenu-main .l-menu {
  display: flex;
  flex-flow: column wrap;
  gap: 2.8rem 3.9rem;
  align-content: flex-start;
  height: 100%;
  opacity: 0;
  transition: opacity 0.2s;
}
.l-header__spmenu-main .l-menu[data-simplebar=init] {
  display: block;
  opacity: 1;
}
.l-header__spmenu-main .l-menu .simplebar-wrapper,
.l-header__spmenu-main .l-menu .simplebar-mask,
.l-header__spmenu-main .l-menu .simplebar-offset,
.l-header__spmenu-main .l-menu .simplebar-content-wrapper,
.l-header__spmenu-main .l-menu .simplebar-content {
  height: 100%;
}
.l-header__spmenu-main .l-menu .simplebar-content {
  display: flex;
  flex-flow: column wrap;
  gap: 2.8rem 3.9rem;
  align-content: flex-start;
}
.l-header__spmenu-main .l-menu .simplebar-content::before, .l-header__spmenu-main .l-menu .simplebar-content::after {
  content: none;
}
.l-header__spmenu-main .l-menu .simplebar-track {
  display: none;
}
@media (max-width: 525px) {
  .l-header__spmenu-main .l-menu {
    --menu-column-height: 65.5vh;
    --c-simplebar-content-padding-right: 1.5rem;
    display: block;
    flex-flow: column;
    gap: 3.4rem;
    font-size: 1.6rem;
  }
  .l-header__spmenu-main .l-menu .simplebar-content {
    flex-flow: column;
    gap: 3.4rem;
    height: auto;
    min-height: 100%;
    margin-right: 3rem;
  }
  .l-header__spmenu-main .l-menu .simplebar-track {
    display: block;
  }
}
.l-header__spmenu-main .l-menu__item {
  /* width: calc((100% - 3.9rem) / 2); */
}
@media (max-width: 525px) {
  .l-header__spmenu-main .l-menu__item {
    width: auto;
    min-width: 15.2rem;
  }
}
.l-header__spmenu-main .l-menu__link {
  display: flex;
  justify-content: space-between;
}
.l-header__spmenu-main .l-menu__link .c-text-link__icon {
  color: var(--color-secondary);
}
.l-header__spmenu-main .l-menu__sub {
  margin-top: 2rem;
}
@media (max-width: 525px) {
  .l-header__spmenu-main .l-menu__sub {
    margin: 3.2rem 1.8rem 0;
  }
}
.l-header__spmenu-main .l-menu__sub-list {
  display: grid;
  gap: 1rem;
}

.l-mv__inner {
  height: 62.8rem;
  padding-block: 24rem 0;
  /* background: linear-gradient(to bottom, color-mix(in srgb, var(--color-primary-c) 40%, transparent), color-mix(in srgb, var(--color-secondary-c) 40%, transparent)); */
  background: linear-gradient(to bottom, color-mix(in srgb, var(--color-primary-base) 40%, transparent), color-mix(in srgb, var(--color-secondary-base) 40%, transparent));
}
@media (max-width: 1024px) {
  .l-mv__inner {
    height: 34.9rem;
    padding-block: 15.1rem 0;
  }
}
.l-mv__inner .c-heading01 {
  color: var(--color-white);
}

.l-schedule {
  position: relative;
  width: 100%;
}
.l-schedule::before {
  position: absolute;
  top: 0;
  right: -0.5rem;
  left: -0.5rem;
  z-index: 0;
  height: calc(1em + 1.3rem);
  content: "";
  background-color: #b4b4b4;
  border-radius: 1.6rem;
}
.l-schedule__table {
  position: relative;
  z-index: 1;
  width: 100%;
  text-align: center;
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: collapse;
}
.l-schedule thead {
  color: var(--color-white);
  background-color: transparent;
}
.l-schedule th,
.l-schedule td {
  box-sizing: border-box;
  font-weight: var(--font-weight-medium);
  line-height: 1;
  vertical-align: middle;
  text-align: center;
}
.l-schedule thead th {
  padding-block: 0.6rem;
}
.l-schedule tbody th {
  width: 31%;
}
.l-schedule thead th:first-child,
.l-schedule tbody th {
  width: 37%;
  padding: 0.6rem 0.5rem 0.7rem 0;
  text-align: right;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.l-schedule thead th:not(:first-child),
.l-schedule tbody td {
  width: 7.875%;
}
.l-schedule tbody tr {
  border-bottom: 0.1rem solid #b4b4b4;
}
.l-schedule tbody td {
  padding-block: 0.6rem 0.7rem;
  font-size: var(--font-size-lg);
}
.l-schedule tbody tr td:nth-child(2) b,
.l-schedule tbody tr td:nth-child(3) b,
.l-schedule tbody tr td:nth-child(4) b,
.l-schedule tbody tr td:nth-child(6) b {
  color: var(--color-primary);
}
.l-schedule tbody tr td b{
    color: var(--color-primary);
}

.l-schedule tbody tr td b.star {
  color: var(--color-secondary);
}
.l-schedule__note {
  padding-right: 1.5rem;
  margin-top: 0.6rem;
  font-weight: var(--font-weight-medium);
  text-align: right;
}
.l-schedule__note b {
  color: var(--color-secondary);
}

.l-content {
  position: relative;
}
@media (max-width: 1024px) {
  .l-content {
    border-radius: 0 2.5rem 0 0;
  }
}
.l-content::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 32.1rem;
  content: "";
  background: linear-gradient(to bottom, color-mix(in srgb, var(--color-secondary-c) 40%, transparent), transparent);
}
@media (max-width: 1024px) {
  .l-content::before {
    height: 19.1rem;
  }
}
.l-content__inner {
  background: var(--color-white);
  border-radius: 0 5rem 0 0;
}

.sp-br {
  display: none;
}

.pc-br {
  display: block;
}

@media (max-width: 768px) {
  .sp-br {
	display: block;
  }

  .pc-br {
	display: none;
  }
}