@charset "UTF-8";
[data-animation^=fade-in]:not(.animated) {
  opacity: 0;
}

.js-has-pseudo [csstools-has-2j-2s-2p-38-2p-19-34-2p-36-2p-30-30-2p-3c-2l-1m-32-33-38-14-2j-2s-2p-38-2p-19-34-2p-36-2p-30-30-2p-3c-19-33-3a-2t-36-2u-30-33-3b-1p-38-36-39-2t-2l-15-1m-2w-2p-37-14-1q-w-2x-31-2v-15]:not(.does-not-exist):not(does-not-exist),
[data-parallax]:not([data-parallax-overflow=true]):has(> img) {
  overflow: hidden;
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in-left {
  0% {
    opacity: 0;
    transform: translateX(12px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fade-in-right {
  0% {
    opacity: 0;
    transform: translateX(-12px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fade-in-up {
  0% {
    opacity: 0;
    transform: translateY(8px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
:root {
  --font-fallback: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --font-base: "Noto Sans JP", var(--font-fallback);
  --font-heading: var(--font-base);
  --font-english: "Jost", var(--font-base);
  --font-icon: "icomoon";
  --font-size-xs: 1rem;
  --font-size-sm: 1.2rem;
  --font-size-md: 1.4rem;
  --font-size-lg: 1.6rem;
  --font-size-xl: 1.8rem;
  --font-size-xxl: 2.4rem;
  --font-size-xxxl: 3rem;
  --font-size-xxxxl: 3.6rem;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --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);
  --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);
  --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);
  --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);
  --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);
  --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);
  --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);
  --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);
  --vw: 1vw;
  --z-index-header: 3;
  --section-gap-xl: clamp(120px, calc(35 * var(--vw)), 200px);
  --section-gap-lg: clamp(80px, calc(25 * var(--vw)), 160px);
  --section-gap-md: clamp(50px, calc(20 * var(--vw)), 120px);
  --section-gap-sm: clamp(36px, calc(11 * var(--vw)), 80px);
  --section-gap-xs: clamp(26px, calc(6 * var(--vw)), 46px);
  --section-gap: var(--section-gap-md);
  --header-gap-lg: clamp(36px, calc(11 * var(--vw)), 80px);
  --header-gap-md: clamp(26px, calc(6 * var(--vw)), 46px);
  --header-gap-sm: clamp(20px, calc(5 * var(--vw)), 36px);
  --header-gap-xs: clamp(17px, calc(2 * var(--vw)), 24px);
  --header-gap: var(--header-gap-md);
  --radius-md: 5px;
  --radius-lg: 15px;
  --breakpoint-xs: 360;
  --breakpoint-xs-px: 360px;
  --breakpoint-sm: 525;
  --breakpoint-sm-px: 525px;
  --breakpoint-md: 768;
  --breakpoint-md-px: 768px;
  --breakpoint-lg: 1024;
  --breakpoint-lg-px: 1024px;
  --breakpoint-xl: 1280;
  --breakpoint-xl-px: 1280px;
  --breakpoint-sp: 525;
  --breakpoint-sp-px: 525px;
  --breakpoint-tablet: 768;
  --breakpoint-tablet-px: 768px;
  --breakpoint-pc: 1024;
  --breakpoint-pc-px: 1024px;
  --breakpoint-wide: 1280;
  --breakpoint-wide-px: 1280px;
  --color-noir: #333;
  --color-noir-rgb: 51, 51, 51;
  --color-taupe: #3c3c43;
  --color-taupe-rgb: 60, 60, 67;
  --color-hippie-blue: #86eae7;
  --color-hippie-blue-rgb: 134, 234, 231;
  --color-white: #fff;
  --color-white-rgb: 255, 255, 255;
  --color-pearl: #e2e0db;
  --color-pearl-rgb: 226, 224, 219;
  --color-milk: #efeeeb;
  --color-milk-rgb: 239, 238, 235;
  --color-purple: #5f4e8e;
  --color-purple-rgb: 95, 78, 142;
  --color-blue: #082da3;
  --color-blue-rgb: 8, 45, 163;
  --color-primary: var(--color-hippie-blue);
  --color-primary-rgb: var(--color-hippie-blue-rgb);
  --color-secondary: var(--color-purple);
  --color-secondary-rgb: var(--color-purple-rgb);
  --color-secondary-alt: var(--color-pearl);
  --color-secondary-alt-rgb: var(--color-pearl-rgb);
  --color-bg: var(--color-white);
  --color-bg-rgb: var(--color-white-rgb);
  --color-heading: var(--color-blue);
  --color-heading-rgb: var(--color-blue-rgb);
  --color-text: var(--color-taupe);
  --color-text-rgb: var(--color-taupe-rgb);
  --color-text-contrast: var(--color-white);
  --color-text-contrast-rgb: var(--color-white-rgb);
}

/* -----------------------------
 ブレークポイント
----------------------------- */
/* -----------------------------
 カラーパレット
----------------------------- */
/* -----------------------------
 テーマ色
----------------------------- */
html {
  font-size: 62.5%;
  overflow-x: hidden;
}

body {
  width: 100%;
  font-size: var(--font-size-lg);
  font-family: var(--font-base);
  font-weight: var(--font-weight-medium);
  line-height: 1.8;
  color: var(--color-text);
  letter-spacing: 0.1em;
  background: var(--color-bg);
  overflow-x: hidden;
}

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

em {
  font-style: unset;
}

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

.slick-slide,
.simplebar-content-wrapper {
  outline: none;
}

.c-button01 {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 1.25em;
  align-items: center;
  min-width: 212px;
  min-height: 50px;
  font-family: var(--font-english);
  line-height: 1.2;
  border-radius: 25px;
  transition: opacity 0.3s, color 0.3s;
  padding: 10px 20px;
  background: url(../../assets/images/bg_02.jpg);
  background-size: 20px;
}
.c-button01::before, .c-button01::after {
  content: "";
  position: absolute;
}
.c-button01::before {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #0084a6 0%, #96979b 45%, #0084a6 100%);
  mix-blend-mode: saturation;
  border-radius: 25px;
  left: 0;
  top: 0;
}
.c-button01::after {
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  background: #603572;
  border-radius: 20px;
  left: 5px;
  top: 5px;
}

.c-button01__text {
  display: block;
  flex-grow: 1;
  color: var(--color-white);
  font-size: 1.6rem;
  text-align: center;
  z-index: 1;
}

.c-card__image {
  display: block;
  width: 100%;
  aspect-ratio: var(--image-aspect-ratio, 1/0.73);
  margin-bottom: 1.5em;
  object-fit: cover;
}

.c-card__content {
  margin-top: 0.5em;
}

.c-career {
  --date-width: 4em;
  --row-gap: 0.5em;
  container-type: inline-size;
}

.c-career__heading {
  position: relative;
  display: block;
  margin-bottom: 1em;
  font-size: var(--font-size-xl);
  color: var(--heading-color, var(--color-heading));
  letter-spacing: 0.15em;
}

.c-career__item {
  display: grid;
  grid-template-columns: auto 1fr;
  line-height: 1.7;
}
.c-career__item:where(.c-career__item + *) {
  margin-top: var(--row-gap);
}

@container (width <=360px) {
  .c-career__item {
    display: block;
  }
}
.c-career__date {
  grid-column: 1;
  min-width: var(--date-width);
  margin-right: 1em;
}

.c-career__content {
  display: block;
  grid-column: 2;
}

.c-detect-scroll {
  --gradation-size-y: 2.5em;
  --gradation-size-x: 1.5em;
  --top-gradation: 0%;
  --right-gradation: 0%;
  --bottom-gradation: 0%;
  --left-gradation: 0%;
}
.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-composite: source-out, source-over, source-over, source-over;
  mask-composite: subtract, add, add, add;
  -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));
}

.c-heading01 {
  --min-size: 2.7rem;
  --mid-size: calc(7 * var(--vw));
  --max-size: 3.8rem;
  font-size: clamp(var(--min-size), var(--mid-size), var(--max-size));
  font-weight: bold;
  line-height: 1.5;
  color: var(--color-heading);
  letter-spacing: 0.1em;
}

.c-heading01--md {
  --min-size: 2.3rem;
  --mid-size: calc(5.2 * var(--vw));
  --max-size: 3rem;
}

.c-heading01--sm {
  --min-size: 2rem;
  --mid-size: calc(2.7 * var(--vw));
  --max-size: 2.6rem;
}

.c-heading01--xs {
  --min-size: 1.9rem;
  --mid-size: calc(2.5 * var(--vw));
  --max-size: 2.3rem;
}

.c-image {
  border-radius: var(--radius-md);
}

.c-image--full {
  width: 100%;
}

.c-image--cover {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-image--no-radius {
  border-radius: unset;
}

.c-image--square {
  aspect-ratio: 1/1;
  object-fit: cover;
}

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

.c-list {
  --prefix: "・";
  --padding: 1.3em;
  --row-gap: 0.15em;
  --prefix-color: currentcolor;
  list-style: none;
}

.c-list--note {
  --prefix: "※";
}

.c-list--ordered {
  --prefix: counter(list) ".";
  counter-reset: list;
}
.c-list--ordered:where(.c-list--note) {
  --prefix: "※" counter(list);
  --padding: 2.3em;
}

.c-list--check {
  --prefix: "";
  --padding: 1.75em;
}

.c-list__item {
  position: relative;
  padding-left: var(--padding);
}
.c-list__item:where(.c-list--ordered > *) {
  counter-increment: list;
}
.c-list__item::before {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--prefix-color);
  content: var(--prefix);
}
.c-list__item:where(.c-list--check > *)::before {
  font-family: var(--font-icon);
}
.c-list__item:where(:nth-of-type(n + 2)) {
  margin-top: var(--row-gap);
}

.c-paragraph {
  line-height: 2;
}

.c-paragraph--sparse {
  line-height: 2.4;
}

.c-paragraph:where(.c-paragraph + *) {
  margin-top: 1em;
}

.c-signature {
  --position-size: var(--font-size-lg);
  --name-size: var(--font-size-xxl);
  --ruby-size: var(--font-size-xs);
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--position-size);
  align-items: flex-end;
  line-height: 1;
  letter-spacing: 0.25em;
}

.c-signature__position {
  font-size: var(--position-size);
}

.c-signature__name {
  display: flex;
  column-gap: 0.3em;
  align-items: flex-end;
  font-size: var(--name-size);
}
.c-signature__name ruby {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  gap: 0.25em;
  align-items: center;
}
.c-signature__name ruby::before {
  --letter-spacing: 0.35em;
  margin-right: calc(var(--letter-spacing) * -0.5);
  font-size: 0.5em;
  font-size: var(--ruby-size);
  line-height: 1;
  text-align: center;
  letter-spacing: var(--letter-spacing);
  white-space: nowrap;
  content: attr(data-ruby);
}
.c-signature__name rt {
  display: none;
}

.c-step-list {
  --number-size: min(6rem, calc(11 * var(--vw)));
  display: grid;
  row-gap: calc(var(--number-size) * 0.2);
  counter-reset: step-list;
  container: step-list/inline-size;
}

.c-step-list__item {
  display: flex;
  column-gap: 4cqw;
  counter-increment: step-list;
}

.c-step-list__item__header {
  position: relative;
  display: flex;
  column-gap: 0.5em;
  font-family: var(--font-english);
}
.c-step-list__item__header::before {
  position: relative;
  display: block;
  font-size: min(var(--font-size-xl), 4.3 * var(--vw));
  font-weight: bold;
  line-height: 1.15;
  color: var(--color-purple);
  text-transform: uppercase;
  content: "Step";
}
.c-step-list__item__header::after {
  --border-top-position: calc(var(--number-size) + 0.35em);
  display: block;
  width: fit-content;
  font-size: var(--number-size);
  font-weight: bold;
  line-height: 1;
  color: var(--color-purple);
  content: counter(step-list, decimal-leading-zero);
}
.c-step-list__item__header:where(:not(.c-step-list__item:last-child) > *)::after {
  background-image: linear-gradient(to bottom, transparent var(--border-top-position), var(--color-purple) var(--border-top-position));
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 1px 100%;
}

@container step-list (width > 800px) {
  .c-step-list__item__header::before {
    align-self: flex-start;
    margin-top: calc(var(--number-size) / 2);
    transform: translateY(-0.3em);
  }
}
@container step-list (width <=800px) {
  .c-step-list__item__header {
    flex-direction: column;
    align-items: center;
  }
  .c-step-list__item__header::after {
    flex: 1;
  }
}
.c-step-list__item__body {
  flex: 1;
  padding-top: 0.5em;
}
.c-step-list__item__body:where(:not(.c-step-list__item:last-child) > *) {
  padding-bottom: var(--section-gap-xs);
}

.c-table {
  --border-color: rgba(var(--color-text-rgb), 30%);
  --header-bg-color: var(--color-secondary);
  min-width: 100%;
  margin-bottom: 2px;
}
.c-table th,
.c-table td {
  border-bottom: 1px solid var(--border-color);
}
.c-table th {
  position: relative;
  padding: 0.85em 1em;
  font-size: var(--font-size-lg);
  font-weight: bold;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.c-table th:first-child {
  width: 7em;
  min-width: 10em;
}
.c-table > thead > tr > th {
  color: var(--color-white);
  background-color: var(--header-bg-color);
}
.c-table > tbody > tr > th {
  color: var(--color-purple);
  letter-spacing: 0.2em;
  vertical-align: middle;
}
.c-table > tbody > tr > td {
  min-width: min(20em, 85 * var(--vw));
  padding: 1.25em 1.5em;
}

.c-term-list {
  font-size: 1.6rem;
  display: grid;
  container-type: inline-size;
}

.c-term-list__item {
  line-height: 1.4;
  display: grid;
  grid-template-columns: var(--term-width, 5.25em) 1fr;
  gap: 0.15em 3em;
  padding-top: 0.5em;
  padding-bottom: 1em;
}
.c-term-list__item:where(.c-term-list--border > *) {
  padding-top: 0.85em;
  padding-bottom: 0.9em;
  border-bottom: 1px solid #5f4e8e;
}

.c-term-list__item {
  margin-bottom: 0.5em;
  padding-bottom: 1em;
  border-bottom: 1px solid #5f4e8e;
}

.c-term-list__term {
  color: #5f4e8e;
  font-weight: var(--font-weight-bold);
}

.c-text-link {
  text-decoration: underline;
  text-decoration-style: solid;
  text-underline-offset: 0.15em;
  transition: opacity 0.2s;
}

.c-text-link--no-border {
  text-decoration: none;
}

.c-tile {
  display: flex;
  flex-wrap: wrap;
  gap: var(--row-gap, 1em) var(--column-gap, 1em);
}

.c-tile__item {
  width: calc((100% - var(--column-gap, 1em) * (var(--column-count, 3) - 1)) / var(--column-count, 3));
}

.l-breadcrumb {
  --arrow-size: 0.37em;
  --arrow-border-width: 1px;
}

.l-breadcrumb__list {
  display: flex;
  align-items: center;
  padding-left: 0.75em;
}

.l-breadcrumb__item {
  display: flex;
  align-items: center;
}
.l-breadcrumb__item:nth-child(n+2)::before {
  display: inline-block;
  padding: calc(var(--arrow-size) / 2);
  margin-top: 0.15em;
  margin-right: 1.2em;
  margin-left: 0.9em;
  content: "";
  border: solid var(--color-text);
  border-width: 0 var(--arrow-border-width) var(--arrow-border-width) 0;
  transform: rotate(-45deg);
}
.l-breadcrumb__item a {
  color: var(--color-purple);
  transition: opacity 0.2s;
}
.l-breadcrumb__item a:hover {
  opacity: 0.7;
}

.l-common__intro-bg {
  --progress: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  opacity: calc(var(--progress) * 0.75);
  -webkit-mask-image: linear-gradient(to bottom, #000 70%, transparent);
  mask-image: linear-gradient(to bottom, #000 70%, transparent);
}
.l-common__intro-bg > video {
  width: 100%;
  height: auto;
  max-height: 900px;
  object-fit: cover;
}

:root {
  --container-width: 1420px;
  --container-width-md: 1320px;
  --container-width-lg: 1620px;
  --container-padding: 120px;
  --container-padding-left: var(--container-padding);
  --container-padding-right: var(--container-padding);
  --container-padding-left: 390px;
  --container-padding-right: 0;
}

@media (max-width: 1024px) {
  :root {
    --container-padding: 64px;
  }
}
@media (max-width: 768px) {
  :root {
    --container-padding: 42px;
  }
}
@media (max-width: 525px) {
  :root {
    --container-padding: 20px;
  }
}
.l-container {
  width: var(--container-width);
  max-width: calc(100 * var(--vw));
  padding-right: var(--container-padding-right);
  padding-left: var(--container-padding-left);
  margin-right: auto;
  margin-left: auto;
}

@media (max-width: 1460px) {
  .l-container {
    width: 100%;
    padding-right: 20px;
    padding-left: 410px;
  }
}
@media (max-width: 1024px) {
  .l-container {
    width: 100%;
    padding-right: 20px;
    padding-left: 20px;
  }
}
.l-container--full {
  width: unset;
}

.l-container--md {
  width: var(--container-width-md);
}

.l-container--lg {
  width: var(--container-width-lg);
}

.l-footer {
  background: url(../images/footer_bg.jpg) no-repeat center top;
  background-size: 100% 100%;
}

.l-footer__map {
  padding-left: 390px;
}

.l-footer__inner {
  padding-top: 30px;
  padding-bottom: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.l-footer__logo {
  width: calc(50% - 20px);
  display: block;
  transition: opacity 0.2s;
}
.l-footer__logo:hover {
  opacity: 0.7;
}
.l-footer__logo > img {
  width: 368px;
}

.l-footer__main {
  width: 50%;
}

@media (max-width: 1024px) {
  .l-footer__map {
    padding-left: 0;
  }
  .l-footer__inner {
    flex-direction: column;
  }
  .l-footer__logo {
    max-width: 368px;
    width: 100%;
    display: block;
    margin: 0 auto 20px;
  }
  .l-footer__main {
    width: 100%;
  }
}
@container inner (width > 860px) {
  .l-footer__logo {
    margin-bottom: 80px;
  }
}
@container inner (width <=860px) {
  .l-footer__logo {
    width: 100%;
    max-width: 500px;
    margin-inline: auto;
    margin-bottom: 3em;
  }
}
@container inner (width <=860px) {
  .js-has-pseudo [csstools-has-1a-30-19-2u-33-33-38-2t-36-2n-2n-30-33-2v-33-1m-2w-2p-37-14-1a-2x-37-19-3a-2t-36-38-2x-2r-2p-30-15-w-1q-w-2x-31-2v-1m-32-33-38-14-1a-2x-37-19-3a-2t-36-38-2x-2r-2p-30-15]:not(.does-not-exist):not(.does-not-exist):not(does-not-exist),
  .l-footer__logo:has(.is-vertical) > img:not(.is-vertical) {
    display: none;
  }
  .js-has-pseudo [csstools-has-1a-30-19-2u-33-33-38-2t-36-2n-2n-30-33-2v-33-1m-2w-2p-37-14-1a-2x-37-19-3a-2t-36-38-2x-2r-2p-30-15-w-1q-w-2x-31-2v-1a-2x-37-19-3a-2t-36-38-2x-2r-2p-30]:not(.does-not-exist):not(.does-not-exist):not(does-not-exist),
  .l-footer__logo:has(.is-vertical) > img.is-vertical {
    display: block;
  }
}
.l-footer__address {
  color: var(--color-white);
}
.l-footer__address__postal {
  display: block;
}

@media (max-width: 525px) {
  .l-footer__address {
    font-size: 1.2rem;
  }
}
.l-footer__tel {
  margin-top: 0.5em;
  font-family: var(--font-english);
  font-size: var(--font-size-xxl);
  font-weight: bold;
}

@container inner (width <=860px) {
  .l-footer__tel {
    font-size: min(var(--font-size-xxxl), 10cqw);
    text-align: center;
  }
}
.l-footer__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 1.5em;
  margin-top: 1.75em;
}

@container inner (width > 860px) {
  .l-footer__buttons > a {
    min-width: 12.5em;
  }
}
@container inner (width <=860px) {
  .l-footer__buttons {
    justify-content: center;
  }
}
@container inner (width <=860px) {
  .l-footer__map {
    margin-top: 3em;
  }
}
.l-footer__map > iframe {
  width: 100%;
  height: 290px;
}

.l-footer__schedule {
  margin-top: 20px;
}

.l-footer__menu {
  margin-top: 2.5em;
}
.l-footer__menu .l-menu {
  column-count: 2;
  column-gap: 3em;
  width: fit-content;
}
.l-footer__menu .l-menu__item {
  display: inline-block;
  width: 100%;
}
.l-footer__menu .l-menu__link {
  --bar-width: 12px;
  --bar-space: 10px;
  position: relative;
  display: inline-block;
  padding-block: 0.65em;
  padding-right: 0.5em;
  padding-left: calc(var(--bar-width) + var(--bar-space));
  line-height: 1.5;
}
.l-footer__menu .l-menu__link::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: var(--bar-width);
  height: 2px;
  content: "";
  background-color: var(--color-primary);
  opacity: 0;
  transition: opacity 0.2s;
}
.l-footer__menu .l-menu__link:hover::before {
  opacity: 1;
}
.l-footer__menu .l-menu__text {
  transition: all 0.2s;
}
.l-footer__menu .l-menu__text:is(:hover > *) {
  opacity: 0.8;
}
.l-footer__menu .l-menu__sub {
  display: none;
}

.l-footer__sns {
  margin-top: 2.5em;
}
.l-footer__sns .l-sns {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  font-size: 30px;
}
.l-footer__sns .l-sns__link {
  --size: 2em;
  box-sizing: content-box;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  padding: 5px;
  text-align: center;
  border-radius: 50%;
  transition: color 0.2s;
}
.l-footer__sns .l-sns__link:hover {
  color: var(--color-primary);
}
.l-footer__sns .l-sns__text {
  display: none;
}

.l-footer__copyright {
  color: var(--color-white);
  font-size: var(--font-size-xs);
  text-align: center;
  background: var(--color-purple);
  padding: 10px;
}

@media (max-width: 1024px) {
  .l-footer__copyright {
    padding: 10px 0 70px;
  }
}
:root {
  --header-height: 80px;
}

.l-header {
  --padding-x: 30px;
  --padding-y: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-index-header);
  display: flex;
  flex-direction: column;
  max-width: 390px;
  width: 100%;
  height: 100vh;
  padding: var(--padding-y) var(--padding-x);
  container-type: inline-size;
  color: var(--color-white);
  background: url(../../assets/images/header_bg.jpg) repeat-y center top;
  background-size: 100% auto;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.l-header::-webkit-scrollbar {
  display: none;
}

.l-header__bg {
  --header-bg-color: var(--color-secondary);
  background-color: var(--header-bg-color);
  margin: 0 -30px;
  padding: 10px 30px 30px;
}

@media (max-width: 1024px) {
  .l-header {
    --padding-x: 10px;
    max-width: none;
    height: 0;
    background-image: none;
    background-color: transparent;
    overflow-y: visible;
  }
  .l-header.is-open {
    height: 100vh;
    --padding-x: 30px;
    background-color: var(--color-secondary);
    overflow-y: scroll;
    overflow-x: hidden;
    padding-bottom: 120px;
  }
  .l-header__bg {
    height: 60px;
  }
}
.l-header.is-open .l-header__bg {
  height: auto;
  padding: 0;
}

.l-header__logo {
  max-width: 279px;
  width: 100%;
  margin: 0 auto;
}

.l-header__logo--horizontal {
  display: none;
}

@media (max-width: 1024px) {
  .l-header__logo {
    margin: 0;
  }
  .l-header.is-open .l-header__logo {
    margin: 10px auto 0 10px;
    pointer-events: auto;
    opacity: 1;
  }
  .l-header__logo__link > img {
    height: 40px;
  }
  .l-header__logo--horizontal {
    display: block;
  }
  .l-header__logo--vertical {
    display: none;
  }
}
.l-header__lead {
  font-size: var(--font-size-xs);
  text-align: left;
  max-width: 390px;
  margin-bottom: 20px;
}

@media (max-width: 1024px) {
  .l-header__lead {
    display: none;
  }
}
.l-header__address {
  font-size: var(--font-size-sm);
  margin-top: 20px;
}

.l-header.is-open .l-header__address {
  font-size: 1.6rem;
  display: block;
}

@media (max-width: 1024px) {
  .l-header__address {
    display: none;
  }
}
@media (max-width: 525px) {
  .l-header.is-open .l-header__address {
    font-size: 1.2rem;
  }
}
.l-header__schedule {
  margin: 20px 0;
}

.l-header.is-open .l-header__schedule {
  display: block;
}

@media (max-width: 1024px) {
  .l-header__schedule {
    display: none;
  }
}
.l-header__tel {
  color: #ff5c9a;
  font-size: 3.8rem;
  font-family: var(--font-english);
  font-weight: var(--font-weight-bold);
  line-height: 1;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 40px;
}

.l-header__icon--tel {
  width: 27px;
}

.l-header__button--web {
  display: flex;
  gap: 35px;
  background: #12c255;
  margin-top: 20px;
  padding: 20px 30px;
}
.l-header__button--web span {
  font-size: 3.2rem;
  line-height: 1.2;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.l-header__button--web span small {
  font-size: 1.8rem;
}

.l-header__icon--web {
  width: 46px;
}

@media (max-width: 1024px) {
  .l-header__tel,
  .l-header__button--web {
    display: none;
  }
}
.l-header__nav {
  margin: 40px 30px 0;
}
.l-header__nav .l-menu {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  margin-inline: auto;
  line-height: 1;
}
.l-header__nav .l-menu__item {
  --progress: 0;
  position: relative;
}
.l-header__nav .l-menu__item--indent {
  padding-left: 1em;
}
.l-header__nav .l-menu__link {
  position: relative;
  z-index: 0;
  display: block;
  transition: color 0.16s, opacity 0.23s;
}
.l-header__nav .l-menu__link.is-current {
  color: var(--color-primary);
}
.l-header__nav .l-menu__link.is-current::before {
  content: "";
  position: absolute;
  left: -15px;
  top: 8px;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid #86eae7;
  border-right: 0;
}
.l-header__nav .l-menu__link:hover {
  color: var(--color-primary);
}
.l-header__nav .l-menu__sub {
  --padding-x: 1.25em;
  --bar-width: 12px;
  --bar-space: 10px;
  --max-row-count: 10;
  position: absolute;
  top: 100%;
  left: 0;
  display: grid;
  grid-template-rows: repeat(var(--max-row-count), auto);
  grid-auto-flow: column;
  column-gap: 3em;
  width: max-content;
  padding-block: 1em;
  padding-right: calc(var(--bar-width) + var(--bar-space) + var(--padding-x));
  padding-left: var(--padding-x);
  visibility: hidden;
  background-color: var(--color-white);
  opacity: 0;
  color: var(--color-secondary);
  z-index: 1;
}
.l-header__nav .l-menu__sub:is(:not(.is-active > *)) {
  pointer-events: none;
  z-index: 0;
}
.l-header__nav .l-menu__sub__link {
  position: relative;
  display: block;
  padding-block: 0.65em;
  padding-left: calc(var(--bar-width) + var(--bar-space));
  line-height: 1.5;
}
.l-header__nav .l-menu__sub__link::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: var(--bar-width);
  height: 2px;
  content: "";
  background-color: var(--color-primary);
  opacity: 0;
  transition: opacity 0.2s;
}
.l-header__nav .l-menu__sub__link:hover::before {
  opacity: 1;
}
.l-header__nav .l-menu__sub__text {
  word-break: keep-all;
  overflow-wrap: anywhere;
  transition: all 0.2s;
}
.l-header__nav .l-menu__sub__text:is(:hover > *) {
  opacity: 0.75;
}

.l-header.is-open .l-header__nav {
  font-size: 1.8rem;
  display: block;
  margin: 60px 60px 40px;
}

.l-header__nav .l-menu__link.is-current::before {
  top: 4px;
}

@media (max-width: 1280px) {
  .l-header__nav .l-menu {
    justify-content: flex-end;
  }
}
@media (max-width: 1024px) {
  .l-header__nav {
    display: none;
  }
}
.l-header__toggle {
  --toggle-size: 60px;
  --bar-width: 65%;
  --bar-height: 2px;
  --bar-gap: 14%;
  position: fixed;
  right: 0;
  top: 0;
  grid-area: toggle;
  width: var(--toggle-size);
  height: var(--toggle-size);
  cursor: pointer;
  background: #5f4e8e;
  display: none;
}
.l-header__toggle > span {
  position: absolute;
  left: calc((100% - var(--bar-width)) / 2);
  display: block;
  width: var(--bar-width);
  height: var(--bar-height);
  background-color: var(--color-white);
  transition: all 0.4s var(--ease-out-quart);
  border-radius: 1px;
}
.l-header__toggle > span:is(:not(.l-header.is-open *)):nth-child(1) {
  top: calc(50% - var(--bar-gap) - var(--bar-height) / 2);
}
.l-header__toggle > span:is(:not(.l-header.is-open *)):nth-child(3) {
  top: calc(50% + var(--bar-gap) + var(--bar-height) / 2);
}
.l-header__toggle > span:is(.l-header.is-open *):nth-child(1) {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.l-header__toggle > span:is(.l-header.is-open *):nth-child(2) {
  opacity: 0;
}
.l-header__toggle > span:is(.l-header.is-open *):nth-child(3) {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}

@media (max-width: 1024px) {
  .l-header__toggle {
    display: block;
  }
}
@media (max-width: 525px) {
  .l-header__toggle {
    --bar-width: 50%;
  }
}
.l-header__menu {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: -1;
  height: 100dvh;
  padding-top: var(--header-height);
  visibility: hidden;
  background-color: var(--header-bg-color);
  opacity: 0;
}
.l-header__menu .simplebar-content-wrapper {
  overscroll-behavior: contain;
}

.l-header__menu__scroller {
  container: grid/inline-size;
  height: 100%;
  padding-top: min(5cqw, 3em);
  padding-bottom: 3em;
}

.l-header__menu__grid {
  display: grid;
  grid-template-areas: "sub main";
  grid-template-columns: 1fr 1fr;
  width: 100%;
  max-width: 1820px;
  margin-inline: auto;
}

@container grid (width <=860px) {
  .l-header__menu__grid {
    grid-template-areas: "main" "sub";
    grid-template-columns: 1fr;
    row-gap: 7cqw;
  }
}
@media (max-width: 1024px) {
  .l-header__menu__grid {
    display: none;
  }
}
.l-header__menu__block {
  container: block/inline-size;
}
.l-header__menu__block:nth-child(n+2) {
  border-left: 1px solid rgba(var(--color-text-rgb), 50%);
}

.l-header__menu__block--main {
  grid-area: main;
}

.l-header__menu__block--sub {
  grid-area: sub;
}

.l-header__menu__inner {
  padding-inline: 8cqw;
}

.l-header__menu .l-menu {
  display: grid;
}
.l-header__menu .l-menu__item {
  container: item/inline-size;
}
.l-header__menu .l-menu__link {
  position: relative;
  display: inline-block;
  padding-block: 0.75em;
  font-weight: bold;
  line-height: 1.3;
  transition: all 0.18s;
}
.l-header__menu .l-menu__link:hover {
  color: var(--color-primary);
}
.l-header__menu .l-menu__sub {
  --column-count: 3;
  display: grid;
  grid-template-columns: repeat(var(--column-count), 1fr);
  column-gap: 1em;
  padding-left: 0.5em;
  margin-bottom: 1em;
  font-size: var(--font-size-sm);
}
.l-header__menu .l-menu__sub__link {
  --padding-y: 0.5em;
  position: relative;
  display: block;
  padding-block: var(--padding-y);
  padding-left: 1.3em;
  font-weight: bold;
}
.l-header__menu .l-menu__sub__link::before {
  position: absolute;
  top: var(--padding-y);
  left: 0;
  content: "・";
  opacity: 0.75;
}
.l-header__menu .l-menu__sub__text {
  position: relative;
  opacity: 0.75;
  transition: all 0.18s;
}
.l-header__menu .l-menu__sub__text:is(:hover > *) {
  color: var(--color-primary);
  opacity: 1;
}

@container item (width <=580px) {
  .l-header__menu .l-menu__sub {
    --column-count: 2;
  }
}
.l-header__menu__address {
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.5em;
  justify-content: center;
  text-align: center;
}

@container grid (width > 860px) {
  .l-header__menu__address__postal {
    width: 100%;
  }
}
.l-header__menu__tel {
  margin-top: 0.5em;
  font-family: var(--font-english);
  font-size: min(var(--font-size-xxxl), 10cqw);
  font-weight: bold;
  text-align: center;
}

.l-header__menu__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 1.5em;
  justify-content: center;
  margin-top: 1.75em;
}

@container grid (width > 860px) {
  .l-header__menu__buttons > a {
    min-width: 12.5em;
  }
}
.l-header__menu__schedule {
  max-width: 550px;
  margin-inline: auto;
  margin-top: 3em;
  font-size: var(--font-size-sm);
}

.l-header__menu__sns {
  margin-top: 2.5em;
}
.l-header__menu__sns .l-sns {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  justify-content: center;
  font-size: 30px;
}
.l-header__menu__sns .l-sns__link {
  --size: 2em;
  box-sizing: content-box;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  padding: 5px;
  text-align: center;
  border-radius: 50%;
  transition: color 0.2s;
}
.l-header__menu__sns .l-sns__link:hover {
  color: var(--color-primary);
}
.l-header__menu__sns .l-sns__text {
  display: none;
}

.l-image-section {
  --direction: row;
  --align: flex-start;
  --image-width: 530px;
  --row-gap: 2em;
  --column-gap: 4cqw;
  --row-header-shift-top: -1em;
  --row-header-shift-left: calc((var(--column-gap) + 1em) * -1);
  --row-header-shift-right: calc((var(--column-gap) + 1em) / 2);
  --column-header-shift-top: calc((var(--row-gap) + 1em) * -1);
  --column-header-shift-left: max(calc(var(--container-padding) / -2), -1.5em);
  --column-header-shift-right: 1em;
  --header-shift-top: var(--row-header-shift-top);
  --header-shift-left: var(--row-header-shift-left);
  --header-shift-right: var(--row-header-shift-right);
  container-type: inline-size;
  container-name: image-section;
}

.l-image-section--reverse {
  --direction: row-reverse;
  --header-shift-left: var(--row-header-shift-right);
  --header-shift-right: var(--row-header-shift-left);
}

.l-image-section__inner {
  position: relative;
  display: flex;
  flex-direction: var(--direction);
  gap: var(--row-gap) var(--column-gap);
  align-items: flex-start;
}
.l-image-section__inner:where(:not(.l-image-section--md, .l-image-section--sm, .l-image-section--xs) > *) {
  --image-width: min(530px, 45%);
}
.l-image-section__inner:where(.l-image-section--md > *) {
  --image-width: min(420px, 40%);
}
.l-image-section__inner:where(.l-image-section--sm > *) {
  --image-width: min(320px, 35%);
}
.l-image-section__inner:where(.l-image-section--xs > *) {
  --image-width: min(230px, 35%);
}

@container image-section (width <=850px) {
  .l-image-section__inner:where(:not(.l-image-section--md, .l-image-section--sm, .l-image-section--xs) > *) {
    --image-width: min(520px, 100%);
    --direction: column;
    --header-shift-top: var(--column-header-shift-top);
    --header-shift-left: var(--column-header-shift-left);
    --header-shift-right: var(--column-header-shift-right);
  }
}
@container image-section (width <=750px) {
  .l-image-section__inner:where(.l-image-section--md > *) {
    --image-width: min(380px, 100%);
    --direction: column;
    --header-shift-top: var(--column-header-shift-top);
    --header-shift-left: var(--column-header-shift-left);
    --header-shift-right: var(--column-header-shift-right);
  }
}
@container image-section (width <=650px) {
  .l-image-section__inner:where(.l-image-section--sm > *) {
    --image-width: min(320px, 100%);
    --direction: column;
    --header-shift-top: var(--column-header-shift-top);
    --header-shift-left: var(--column-header-shift-left);
    --header-shift-right: var(--column-header-shift-right);
  }
}
@container image-section (width <=360px) {
  .l-image-section__inner:where(.l-image-section--sm > *) {
    --image-width: 100%;
  }
}
@container image-section (width <=550px) {
  .l-image-section__inner:where(.l-image-section--xs > *) {
    --image-width: min(280px, 100%);
    --direction: column;
    --header-shift-top: var(--column-header-shift-top);
    --header-shift-left: var(--column-header-shift-left);
    --header-shift-right: var(--column-header-shift-right);
  }
}
.l-image-section__main {
  position: relative;
  z-index: 1;
  flex: 1;
  order: 1;
  width: 100%;
}

.l-image-section__header {
  padding: 0.85em 1.5em 0.8em;
  margin: var(--header-shift-top) var(--header-shift-right) var(--header-gap-sm) var(--header-shift-left);
  background-color: var(--color-secondary);
}

.l-image-section__image {
  position: relative;
  z-index: 0;
  order: -1;
  width: 100%;
  max-width: var(--image-width);
  margin-inline: auto;
}

.l-image-section__image__main {
  display: block;
  width: 80%;
}

.l-image-section__image__sub {
  display: block;
  width: 55%;
  margin-top: -12%;
  margin-left: auto;
}

:root {
  --mv-width: 70%;
}

@media (max-width: 525px) {
  :root {
    --mv-width: 75%;
  }
}
.l-mv {
  --height: 500px;
  --font-size: 4.5rem;
  position: relative;
  z-index: 0;
  padding-right: var(--container-padding-right);
  padding-left: var(--container-padding-left);
  overflow: hidden;
}

@media (max-width: 1024px) {
  .l-mv {
    padding-left: 0;
  }
}
@media (max-width: 525px) {
  .l-mv {
    --font-size: 3rem;
  }
}
.l-mv__inner {
  container-type: inline-size;
  position: relative;
}

.l-mv__body {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: min(100%, var(--mv-width) + 2.6em);
  height: var(--height);
  padding-top: 90px;
  font-family: var(--font-heading);
  font-size: var(--font-size);
  font-weight: bold;
  line-height: 1.55;
  color: var(--color-heading);
  letter-spacing: 0.3em;
}

.l-mv__title {
  opacity: 0;
}

.l-mv__title__text {
  writing-mode: vertical-rl;
  text-orientation: upright;
}

.l-mv__visual {
  position: relative;
  z-index: 0;
  width: var(--mv-width);
  margin-left: auto;
  opacity: 0;
}

.l-mv__visual__inner {
  height: var(--height);
  margin-right: calc(50cqw - 50 * var(--vw));
  overflow: hidden;
  border-top-left-radius: var(--radius-lg);
  border-bottom-left-radius: var(--radius-lg);
}

.l-mv__visual__footer {
  margin-top: 2em;
}

.l-mv__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.l-nap__standard__list {
  --row-gap: 0;
}

.l-nap__standard__link {
  display: block;
  width: fit-content;
}

.l-nap__standard__icon {
  display: inline-block;
  margin-right: 0.25em;
}

.l-schedule {
  container-type: inline-size;
  color: #010101;
}
.l-schedule > table {
  width: 100%;
  background: var(--color-white);
  border-radius: 10px;
}
.l-schedule > table th,
.l-schedule > table td {
  font-weight: var(--font-weight-bold);
  line-height: 1;
  text-align: center;
  vertical-align: middle;
  padding: 10px;
}
.l-schedule > table th:first-child,
.l-schedule > table td:first-child {
  width: 23%;
  text-align: left;
  white-space: nowrap;
}
.l-schedule > table thead tr {
  border-bottom: 2px solid #5f4e8e;
}
.l-schedule > table tbody tr {
  border-bottom: 2px solid #5f4e8e;
}
.l-schedule > table tbody tr:last-child {
  border-bottom: none;
}

@container (width < 500px) {
  .l-schedule > table {
    font-size: var(--font-size-sm);
  }
}
@container (width < 380px) {
  .l-schedule > table {
    font-size: var(--font-size-xs);
  }
}
.l-schedule__note {
  color: var(--color-white);
  padding-top: 1em;
}

@container (width < 500px) {
  .l-schedule__note {
    font-size: var(--font-size-sm);
  }
}
:root {
  --side-button-size: 90px;
}

@media (max-width: 1024px) {
  :root {
    --side-button-size: 90px;
  }
}
@media (max-width: 768px) {
  :root {
    --side-button-size: 80px;
  }
}
@media (max-width: 525px) {
  :root {
    --side-button-size: 66px;
  }
}
.l-side {
  position: fixed;
  z-index: 3;
  opacity: 0;
}

@media (max-width: 1024px) {
  .l-side {
    bottom: 0;
    left: 0;
  }
}
.l-side__list {
  display: flex;
}

.l-side__item {
  position: relative;
  width: 100%;
}
.l-side__item a {
  height: 60px;
}

.l-side__item--tel {
  letter-spacing: 0;
  width: calc(100vw - 70px);
}
.l-side__item--tel a {
  background: #ff5c9a;
}

.l-side__item--web {
  width: calc(100vw - 70px);
}
.l-side__item--web a {
  background: #12c255;
}

.l-side__item--top button {
  width: 60px;
  height: 60px;
  background: #603572;
}
.l-side__item--top button .l-side__button__inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.l-side__item--top button .l-side__button__inner .l-side__button__text {
  font-size: 1.4rem;
  font-family: var(--font-english);
  font-weight: var(--font-weight-bold);
}

.l-side__button {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  width: 100%;
  overflow: hidden;
  color: var(--color-white);
  container-type: inline-size;
}

.l-side__button__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.l-side__button__text {
  line-height: 1.4;
  text-align: center;
  display: flex;
  flex-direction: column;
}
.l-side__button__text span {
  font-size: 1.8rem;
  font-weight: var(--font-weight-bold);
}
.l-side__button__text small {
  font-size: 1rem;
}

.l-side__item--tel .l-side__button__text {
  letter-spacing: 0;
}
.l-side__item--tel .l-side__button__text span {
  font-family: var(--font-english);
  white-space: nowrap;
}

.l-side__button__icon--tel {
  width: 28px;
}

.l-side__button__icon--web {
  width: 26px;
}

.l-side__button__icon--up {
  position: relative;
  display: inline-block;
  width: 12.5px;
  height: 8.2px;
}
.l-side__button__icon--up::before, .l-side__button__icon--up::after {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 1px);
  width: 2px;
  height: 10px;
  border-radius: 9999px;
  background-color: var(--color-white);
  transform-origin: 50% 1px;
}
.l-side__button__icon--up::before {
  transform: rotate(45deg);
}
.l-side__button__icon--up::after {
  transform: rotate(-45deg);
}

@media (max-width: 525px) {
  .l-side__button__inner {
    gap: 2vw;
  }
  .l-side__button__text span {
    font-size: 4vw;
  }
  .l-side__button__text small {
    font-size: 2vw;
  }
  .l-side__button__icon--tel {
    width: 6vw;
  }
  .l-side__button__icon--web {
    width: 6vw;
  }
}/*# sourceMappingURL=common.css.map */