/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */
.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  height: 100%;
  display: flex;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  pointer-events: none;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 0;
  display: flex;
}

.splide__pagination li {
  pointer-events: auto;
  margin: 0;
  line-height: 1;
  list-style-type: none;
  display: inline-block;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  visibility: hidden;
  position: relative;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  margin: 0;
  position: relative;
  list-style-type: none !important;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  contain: strict;
  border: 2px solid #999;
  border-left-color: #0000;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  margin: auto;
  animation: 1s linear infinite splide-loading;
  display: inline-block;
  position: absolute;
  inset: 0;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  z-index: 0;
  position: relative;
  overflow: hidden;
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }

  to {
    transform: rotate(1turn);
  }
}

.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  opacity: 0;
  z-index: 0;
  margin: 0 !important;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__arrow {
  cursor: pointer;
  opacity: .7;
  z-index: 1;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 2em;
  height: 2em;
  padding: 0;
  display: flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.splide__arrow svg {
  fill: #000;
  width: 1.2em;
  height: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: .9;
}

.splide__arrow:disabled {
  opacity: .3;
}

.splide__arrow:focus-visible {
  outline-offset: 3px;
  outline: 3px solid #0bf;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline-offset: 3px;
  outline: 3px solid #0bf;
}

.splide__pagination {
  z-index: 1;
  padding: 0 1em;
  position: absolute;
  bottom: .5em;
  left: 0;
  right: 0;
}

.splide__pagination__page {
  opacity: .7;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  margin: 3px;
  padding: 0;
  transition: transform .2s linear;
  display: inline-block;
  position: relative;
}

.splide__pagination__page.is-active {
  z-index: 1;
  background: #fff;
  transform: scale(1.4);
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: .9;
}

.splide__pagination__page:focus-visible, .splide.is-focus-in .splide__pagination__page:focus {
  outline-offset: 3px;
  outline: 3px solid #0bf;
}

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

.splide__slide {
  -webkit-tap-highlight-color: #0000;
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline-offset: -3px;
    outline: 3px solid #0bf;
  }
}

@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
}

@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline-offset: -3px;
    outline: 3px solid #0bf;
  }
}

@media screen and (-ms-high-contrast: none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }

  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}

.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible, .splide.is-focus-in .splide__toggle:focus {
  outline-offset: 3px;
  outline: 3px solid #0bf;
}

.splide__track--nav > .splide__list > .splide__slide {
  cursor: pointer;
  border: 3px solid #0000;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
  transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  top: auto;
  bottom: 1em;
}

.splide__arrows--ttb .splide__arrow--next svg {
  transform: rotate(90deg);
}

.splide__pagination--ttb {
  flex-direction: column;
  padding: 1em 0;
  display: flex;
  inset: 0 .5em 0 auto;
}

.pswp {
  --pswp-bg: #000;
  --pswp-placeholder-bg: #222;
  --pswp-root-z-index: 100000;
  --pswp-preloader-color: #4f4f4f66;
  --pswp-preloader-color-secondary: #ffffffe6;
  --pswp-icon-color: #fff;
  --pswp-icon-color-secondary: #4f4f4f;
  --pswp-icon-stroke-color: #4f4f4f;
  --pswp-icon-stroke-width: 2px;
  --pswp-error-text-color: var(--pswp-icon-color);
  width: 100%;
  height: 100%;
  z-index: var(--pswp-root-z-index);
  touch-action: none;
  opacity: .003;
  contain: layout style size;
  -webkit-tap-highlight-color: #0000;
  outline: 0;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
}

.pswp:focus {
  outline: 0;
}

.pswp * {
  box-sizing: border-box;
}

.pswp img {
  max-width: none;
}

.pswp--open {
  display: block;
}

.pswp, .pswp__bg {
  will-change: opacity;
  transform: translateZ(0);
}

.pswp__bg {
  opacity: .005;
  background: var(--pswp-bg);
}

.pswp, .pswp__scroll-wrap {
  overflow: hidden;
}

.pswp__scroll-wrap, .pswp__bg, .pswp__container, .pswp__item, .pswp__content, .pswp__img, .pswp__zoom-wrap {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.pswp__img, .pswp__zoom-wrap {
  width: auto;
  height: auto;
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
  cursor: move;
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img, .pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active, .pswp__img {
  cursor: -webkit-zoom-out;
  cursor: -moz-zoom-out;
  cursor: zoom-out;
}

.pswp__container, .pswp__img, .pswp__button, .pswp__counter {
  -webkit-user-select: none;
  user-select: none;
}

.pswp__item {
  z-index: 1;
  overflow: hidden;
}

.pswp__hidden {
  display: none !important;
}

.pswp__content {
  pointer-events: none;
}

.pswp__content > * {
  pointer-events: auto;
}

.pswp__error-msg-container {
  display: grid;
}

.pswp__error-msg {
  color: var(--pswp-error-text-color);
  margin: auto;
  font-size: 1em;
  line-height: 1;
}

.pswp .pswp__hide-on-close {
  opacity: .005;
  will-change: opacity;
  transition: opacity var(--pswp-transition-duration) cubic-bezier(.4, 0, .22, 1);
  z-index: 10;
  pointer-events: none;
}

.pswp--ui-visible .pswp__hide-on-close {
  opacity: 1;
  pointer-events: auto;
}

.pswp__button {
  cursor: pointer;
  width: 50px;
  height: 60px;
  box-shadow: none;
  opacity: .85;
  -webkit-appearance: none;
  -webkit-touch-callout: none;
  background: none;
  border: 0;
  margin: 0;
  padding: 0;
  display: block;
  position: relative;
  overflow: hidden;
}

.pswp__button:hover, .pswp__button:active, .pswp__button:focus {
  box-shadow: none;
  opacity: 1;
  background: none;
  border: 0;
  padding: 0;
  transition: none;
}

.pswp__button:disabled {
  opacity: .3;
  cursor: auto;
}

.pswp__icn {
  fill: var(--pswp-icon-color);
  color: var(--pswp-icon-color-secondary);
  pointer-events: none;
  width: 32px;
  height: 32px;
  position: absolute;
  top: 14px;
  left: 9px;
  overflow: hidden;
}

.pswp__icn-shadow {
  stroke: var(--pswp-icon-stroke-color);
  stroke-width: var(--pswp-icon-stroke-width);
  fill: none;
}

.pswp__icn:focus {
  outline: 0;
}

div.pswp__img--placeholder, .pswp__img--with-bg {
  background: var(--pswp-placeholder-bg);
}

.pswp__top-bar {
  z-index: 10;
  flex-direction: row;
  justify-content: flex-end;
  width: 100%;
  height: 60px;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none !important;
}

.pswp__top-bar > * {
  pointer-events: auto;
  will-change: opacity;
}

.pswp__button--close {
  margin-right: 6px;
}

.pswp__button--arrow {
  width: 75px;
  height: 100px;
  margin-top: -50px;
  position: absolute;
  top: 50%;
}

.pswp__button--arrow:disabled {
  cursor: default;
  display: none;
}

.pswp__button--arrow .pswp__icn {
  background: none;
  border-radius: 0;
  width: 60px;
  height: 60px;
  margin-top: -30px;
  top: 50%;
}

.pswp--one-slide .pswp__button--arrow {
  display: none;
}

.pswp--touch .pswp__button--arrow {
  visibility: hidden;
}

.pswp--has_mouse .pswp__button--arrow {
  visibility: visible;
}

.pswp__button--arrow--prev {
  left: 0;
  right: auto;
}

.pswp__button--arrow--next {
  right: 0;
}

.pswp__button--arrow--next .pswp__icn {
  left: auto;
  right: 14px;
  transform: scale(-1, 1);
}

.pswp__button--zoom {
  display: none;
}

.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}

.pswp--zoomed-in .pswp__zoom-icn-bar-v {
  display: none;
}

.pswp__preloader {
  width: 50px;
  height: 60px;
  margin-right: auto;
  position: relative;
  overflow: hidden;
}

.pswp__preloader .pswp__icn {
  opacity: 0;
  transition: opacity .2s linear;
  animation: .6s linear infinite pswp-clockwise;
}

.pswp__preloader--active .pswp__icn {
  opacity: .85;
}

@keyframes pswp-clockwise {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

.pswp__counter {
  margin-top: 15px;
  height: 30px;
  color: var(--pswp-icon-color);
  text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary);
  opacity: .85;
  margin-inline-start: 20px;
  font-size: 14px;
  line-height: 30px;
}

.pswp--one-slide .pswp__counter {
  display: none;
}

:root {
  --fluid-min-viewport: 375;
  --fluid-max-viewport: 780;
  --fluid-slope: calc((100vw - var(--fluid-min-viewport) * 1px) /
			(var(--fluid-max-viewport) - var(--fluid-min-viewport)));
  --color-contrast: var(--wp--preset--color--contrast, #000);
  --color-neutral-strong: var(--wp--preset--color--neutral-strong, #4b5563);
  --color-neutral-medium: var(--wp--preset--color--neutral-medium, #d1d5db);
  --color-neutral-soft: var(--wp--preset--color--neutral-soft, #e9e9e9);
  --color-base-body: var(--wp--preset--color--base-body, #fff);
  --font-family-ja: var(--wp--preset--font-family--zen-kaku-gothic-new, "Zen Kaku Gothic New",
		sans-serif);
  --font-family-en: var(--wp--preset--font-family--century-gothic, "century-gothic",
		sans-serif);
  --font-size-small: var(--wp--preset--font-size--small, 14px);
  --font-size-base: var(--wp--preset--font-size--base, 16px);
  --font-size-semi-large: clamp(17px, 17px + var(--fluid-slope) * 1, 18px);
  --font-size-large: var(--wp--preset--font-size--large, clamp(18px, 18px + var(--fluid-slope) * 2, 20px));
  --font-size-x-large: var(--wp--preset--font-size--x-large, clamp(20px, 20px + var(--fluid-slope) * 4, 24px));
  --font-size-2x-large: var(--wp--preset--font-size--2-x-large, clamp(24px, 24px + var(--fluid-slope) * 8, 32px));
  --font-size-3x-large: var(--wp--preset--font-size--3-x-large, clamp(32px, 32px + var(--fluid-slope) * 8, 40px));
  --spacing-8: var(--wp--preset--spacing--8, clamp(6px, 6px + var(--fluid-slope) * 2, 8px));
  --spacing-16: var(--wp--preset--spacing--16, clamp(14px, 14px + var(--fluid-slope) * 2, 16px));
  --spacing-24: var(--wp--preset--spacing--24, clamp(20px, 20px + var(--fluid-slope) * 4, 24px));
  --spacing-32: var(--wp--preset--spacing--32, clamp(24px, 24px + var(--fluid-slope) * 8, 32px));
  --spacing-40: var(--wp--preset--spacing--40, clamp(32px, 32px + var(--fluid-slope) * 8, 40px));
  --spacing-64: var(--wp--preset--spacing--80, clamp(40px, 40px + var(--fluid-slope) * 24, 64px));
  --spacing-80: var(--wp--preset--spacing--80, clamp(60px, 60px + var(--fluid-slope) * 20, 80px));
  --spacing-120: var(--wp--preset--spacing--120, clamp(80px, 80px + var(--fluid-slope) * 40, 120px));
  --content-size: var(--wp--style--global--content-size, 640px);
  --wide-size: var(--wp--style--global--wide-size, 780px);
  --border-radius-4: var(--wp--preset--border-radius--4, 4px);
  --border-radius-8: var(--wp--preset--border-radius--8, 8px);
  --border-radius-16: var(--wp--preset--border-radius--16, 16px);
  --border-radius-full: var(--wp--preset--border-radius--full, 9999px);
  --breakpoint-sm: 640px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
  --breakpoint-xxl: 1440px;
  --z-index-floating: 110;
  --z-index-header: 100;
  --z-index-drawer: 90;
  --header-height-desktop: 100px;
  --header-height-mobile: 80px;
}

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

  :root {
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    overflow-wrap: anywhere;
  }

  body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd {
    margin: 0;
  }

  table {
    border-collapse: collapse;
  }

  img, video {
    block-size: auto;
    max-inline-size: 100%;
  }

  button, input, select, textarea {
    font: inherit;
    color: inherit;
  }

  a {
    color: inherit;
  }
}

@view-transition {
  navigation: auto;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height-desktop);
}

@media (max-width: 640px) {
  html {
    scroll-padding-top: var(--header-height-mobile);
  }
}

body {
  min-block-size: 100vh;
  background: var(--color-neutral-soft);
  min-block-size: 100dvh;
  color: var(--color-contrast);
  font-family: var(--font-family-ja);
  font-size: var(--font-size-small);
  line-height: 2;
  position: relative;
  overflow-x: hidden;
}

:lang(en) body {
  font-family: var(--font-family-en);
}

body:has(dialog[open], .is-drawer-open) {
  overflow: hidden;
}

ul, ol {
  padding-inline-start: 1.5em;
}

h1 {
  font-size: var(--font-size-2x-large);
  line-height: 1.5;
}

h2 {
  font-size: var(--font-size-x-large);
  line-height: 1.5;
}

h3, h4 {
  font-size: var(--font-size-large);
  line-height: 1.5;
}

h5, h6 {
  font-size: var(--font-size-base);
  line-height: 1.5;
}

::placeholder {
  color: #8a96a2;
}

[type="text"], [type="email"], [type="tel"], [type="url"], [type="number"], [type="date"] {
  width: 100%;
  padding: var(--spacing-8) var(--spacing-16);
  border: 1px solid var(--color-neutral-medium);
  box-shadow: none;
  background: var(--color-body-base);
  color: var(--color-contrast);
  font-size: var(--font-size-m);
  border-radius: 0;
  line-height: 1.8;
}

:is([type="text"], [type="email"], [type="tel"], [type="url"], [type="number"], [type="date"]):focus {
  outline: 1px solid var(--color-primary);
}

[type="password"] {
  padding: var(--spacing-8) var(--spacing-16);
  border: 1px solid var(--color-neutral-medium);
  box-shadow: none;
  background: var(--color-body-base);
  color: var(--color-contrast);
  font-size: var(--font-size-m);
  border-radius: 0;
  line-height: 1.8;
}

[type="password"]:focus {
  outline: 1px solid var(--color-primary);
}

textarea {
  field-sizing: content;
  width: 100%;
  height: 150px;
  padding: var(--spacing-8) var(--spacing-16);
  border: 1px solid var(--color-neutral-medium);
  box-shadow: none;
  background: var(--color-body-base);
  color: var(--color-contrast);
  font-family: inherit;
  font-size: var(--font-size-base);
  border-radius: 0;
  line-height: 1.8;
}

textarea:focus {
  outline: 1px solid var(--color-primary);
}

select {
  box-shadow: none;
  background: #f1f1f1 url("../../assets/images/common/icon-select-arrow.svg")
		no-repeat right var(--spacing-24) center / 10px auto;
  color: var(--color-contrast);
  font-family: inherit;
  font-size: var(--font-size-base);
  border: 1px solid #0000;
  border-radius: 0;
  padding-block-start: var(--spacing-8);
  padding-block-end: var(--spacing-8);
  padding-inline-start: var(--spacing-16);
  padding-inline-end: 52px;
  line-height: normal;
}

select:focus {
  border-color: var(--color-primary);
  outline: none;
}

[type="submit"] {
  justify-content: center;
  align-items: center;
  gap: var(--spacing-16);
  padding: var(--spacing-8) var(--spacing-16);
  border: 1px solid var(--color-primary);
  background: var(--color-primary);
  color: var(--color-base-body);
  font-family: inherit;
  font-size: var(--font-size-base);
  letter-spacing: .05em;
  cursor: pointer;
  border-radius: 0;
  font-weight: 600;
  transition: background-color .3s;
  display: inline-flex;
}

@media (any-hover: hover) {
  [type="submit"]:hover {
    background-color: var(--wp--preset--color--secondary);
  }
}

[type="checkbox"] {
  aspect-ratio: 1;
  border-radius: var(--border-radius-4);
  border: 1px solid var(--color-neutral-medium);
  background: var(--color-body-base);
  appearance: none;
  cursor: pointer;
  width: 20px;
  margin: 0;
  display: block;
  position: relative;
}

[type="checkbox"]:after {
  content: "";
  background: none;
  position: absolute;
  inset: 0;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

[type="checkbox"]:checked:after {
  background: var(--color-primary);
}

[type="checkbox"]:focus {
  border-color: var(--color-primary);
  outline: none;
}

[type="radio"] {
  aspect-ratio: 1;
  border: 1px solid var(--color-neutral-medium);
  background: var(--color-body-base);
  appearance: none;
  cursor: pointer;
  border-radius: 50%;
  width: 20px;
  margin: 0;
  display: block;
  position: relative;
}

[type="radio"]:after {
  content: "";
  aspect-ratio: 1;
  background: none;
  border-radius: 50%;
  width: 10px;
  margin: auto;
  position: absolute;
  inset: 0;
}

[type="radio"]:checked:after {
  background-color: var(--color-primary);
}

[type="radio"]:focus {
  border-color: var(--color-primary);
  outline: none;
}

label:has([type="checkbox"], [type="radio"]) {
  align-items: center;
  gap: var(--spacing-8);
  display: flex;
}

table {
  border-collapse: collapse;
  inline-size: 100%;
}

th {
  padding: var(--spacing-16);
  border-block-end: 1px solid var(--color-neutral-medium);
  background: var(--color-base-primary);
  color: var(--color-primary);
  font-size: var(--font-size-small);
  text-align: left;
  font-weight: 600;
  line-height: 1.8;
}

td {
  padding: var(--spacing-16);
  border-block-end: 1px solid var(--color-neutral-medium);
  font-size: var(--font-size-small);
  line-height: 1.8;
}

strong {
  font-weight: 600;
}

.l-main, .l-main-home {
  padding-block: var(--spacing-32);
}

@media (max-width: 768px) {
  .l-main-home {
    padding-block: 0;
  }
}

.l-container-wide {
  inline-size: 100%;
  max-inline-size: calc(var(--wide-size) + var(--spacing-24) * 2);
  padding-inline: var(--spacing-16);
  margin-inline: auto;
}

.l-container-content {
  inline-size: 100%;
  max-inline-size: calc(var(--content-size) + var(--spacing-24) * 2);
  padding-inline: var(--spacing-16);
  margin-inline: auto;
}

.header {
  width: 100%;
  z-index: var(--z-index-header);
  background-color: #fff;
  position: sticky;
  top: 0;
}

.header__inner {
  height: var(--header-height-desktop);
  display: flex;
}

.header__content {
  justify-content: space-between;
  align-items: flex-end;
  gap: var(--spacing-24);
  flex: 1;
  padding-bottom: 14px;
  display: flex;
  position: relative;
}

.header__logo {
  flex-shrink: 0;
  align-items: center;
  text-decoration: none;
  display: flex;
}

.header__logo img {
  width: auto;
  height: 72px;
}

.header__lang {
  font-size: var(--font-size-small);
  font-family: var(--font-family-en);
  align-items: center;
  gap: 6px;
  display: flex;
  position: absolute;
  top: 14px;
  right: 0;
}

.header__lang-link {
  color: var(--color-neutral-medium);
  font-weight: 900;
  text-decoration: none;
}

.header__lang-link--active {
  color: var(--color-contrast);
}

.header__lang-link--unavailable {
  pointer-events: none;
}

.header__lang-sep {
  color: var(--color-neutral-medium);
}

.header__nav-list {
  align-items: center;
  gap: 32px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.header__nav-list .menu-item a {
  font-size: var(--font-size-small);
  color: var(--color-contrast);
  font-weight: 900;
  text-decoration: none;
}

.header__nav-list > .menu-item > a {
  position: relative;
}

.header__nav-list > .menu-item > a:before {
  content: "";
  aspect-ratio: 26 / 14;
  opacity: 0;
  background: url("../../assets/images/icon_ten.png") center / contain no-repeat;
  width: 26px;
  transition: opacity .25s, translate .25s;
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  translate: -50% 4px;
}

.header__nav-list > .menu-item > a:hover:before, .header__nav-list > .menu-item-has-children:hover > a:before, .header__nav-list > .current-menu-item > a:before, .header__nav-list > .current-menu-ancestor > a:before, .header__nav-list > .current-menu-parent > a:before {
  opacity: 1;
  translate: -50%;
}

.header__nav-list .sub-menu {
  white-space: nowrap;
  clip-path: inset(0 0 100%);
  opacity: 0;
  background-color: #fff;
  min-width: 140px;
  margin: 0;
  padding: 8px 0;
  list-style: none;
  transition: clip-path .45s cubic-bezier(.16, 1, .3, 1), opacity .3s;
  position: absolute;
  top: 100%;
  left: 50%;
  translate: -50%;
}

.header__nav-list .menu-item-has-children {
  position: relative;
}

.header__nav-list .menu-item-has-children:hover > .sub-menu {
  clip-path: inset(0 0 0%);
  opacity: 1;
}

.header__nav-list .sub-menu .menu-item a {
  color: var(--color-contrast);
  padding: 8px 16px;
  font-size: 12px;
  transition: translate .2s;
  display: block;
}

.header__nav-list .sub-menu .menu-item a:hover {
  color: var(--color-contrast);
  translate: 4px;
}

.header__instagram {
  color: var(--color-contrast);
  align-items: center;
  text-decoration: none;
  display: flex;
}

.header__instagram:hover {
  opacity: .6;
}

.header__hamburger {
  cursor: pointer;
  background: none;
  border: none;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 4px;
  display: none;
}

.header__hamburger-line {
  background-color: var(--color-contrast);
  width: 28px;
  height: 1px;
  transition: translate .3s, rotate .3s, opacity .3s;
  display: block;
}

:has(#drawer:popover-open) .header__hamburger-line:first-child {
  translate: 0 7px;
  rotate: 45deg;
}

:has(#drawer:popover-open) .header__hamburger-line:nth-child(2) {
  opacity: 0;
}

:has(#drawer:popover-open) .header__hamburger-line:nth-child(3) {
  translate: 0 -7px;
  rotate: -45deg;
}

@media (max-width: 768px) {
  .header__inner {
    height: var(--header-height-mobile);
  }

  .header__content {
    align-items: center;
    padding-bottom: 0;
  }

  .header__logo img {
    height: 60px;
  }

  .header__lang, .header__nav, .header__instagram {
    display: none;
  }

  .header__hamburger {
    margin-left: auto;
    display: flex;
  }
}

.footer {
  padding-block: var(--spacing-24);
}

.footer .copy {
  color: var(--color-neutral-strong);
  text-align: center;
  letter-spacing: .05em;
  font-size: 11px;
}

.drawer {
  width: 280px;
  height: calc(100dvh - var(--header-height-mobile));
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  transition: translate .3s ease,
		display .3s ease allow-discrete,
		overlay .3s ease allow-discrete;
  background-color: #ffffffd9;
  border: none;
  margin: 0;
  padding: 16px 24px 32px;
  position: fixed;
  inset: auto 0 0 auto;
  overflow-y: auto;
  translate: 100%;
}

.drawer:popover-open {
  translate: 0;
}

@starting-style {
  .drawer:popover-open {
    translate: 100%;
  }
}

.drawer::backdrop {
  background: none;
}

.drawer__lang {
  font-size: var(--font-size-small);
  font-family: var(--font-family-en);
  justify-content: flex-start;
  align-items: center;
  gap: 6px;
  margin-bottom: 20px;
  font-weight: 900;
  display: flex;
}

.drawer__lang-link {
  color: var(--color-neutral-medium);
  text-decoration: none;
}

.drawer__lang-link--active {
  color: var(--color-contrast);
}

.drawer__lang-link--unavailable {
  pointer-events: none;
}

.drawer__lang-sep {
  color: var(--color-neutral-medium);
}

.drawer__nav-list {
  text-align: left;
  margin: 0;
  padding: 0;
  list-style: none;
}

.drawer__nav-list > .menu-item > a {
  font-size: var(--font-size-large);
  color: var(--color-contrast);
  padding: 4px 0;
  font-weight: 900;
  text-decoration: none;
  display: block;
}

.drawer__nav-list > .menu-item > a:hover {
  opacity: .6;
}

.drawer__nav-list .sub-menu {
  text-align: left;
  margin: 0 0 8px;
  padding: 0 0 0 16px;
  list-style: none;
}

.drawer__nav-list .sub-menu .menu-item a {
  font-size: var(--font-size-base);
  color: var(--color-contrast);
  padding: 8px 0;
  text-decoration: none;
  display: block;
}

.drawer__nav-list .sub-menu .menu-item a:hover {
  opacity: .6;
}

.drawer__instagram {
  color: var(--color-contrast);
  justify-content: flex-start;
  margin-top: 24px;
  text-decoration: none;
  display: flex;
}

.drawer__instagram svg {
  width: 32px;
  height: auto;
}

.drawer__instagram:hover {
  opacity: .6;
}

.pswp__img {
  object-fit: contain;
  background-color: #0000 !important;
}

.pswp__img--placeholder--blank {
  display: none;
}

.slideshow {
  aspect-ratio: 1;
  position: relative;
  overflow: hidden;
}

@media (max-width: 768px) {
  .slideshow {
    aspect-ratio: 4 / 5;
  }
}

.slideshow__slide {
  z-index: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 2s;
  position: absolute;
  inset: 0;
}

.slideshow__slide--active {
  z-index: 1;
  opacity: 1;
  pointer-events: auto;
  position: relative;
}

@media (any-hover: hover) {
  .slideshow__slide:hover img {
    opacity: .7;
  }
}

.slideshow__slide img {
  object-fit: contain;
  object-position: center;
  width: 100%;
  height: 100%;
  transition: opacity .3s;
  display: block;
}

.works-tags {
  margin-bottom: var(--spacing-32);
}

.works-tags__list {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px 32px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.works-tags__link {
  font-size: var(--font-size-small);
  color: var(--color-contrast);
  text-decoration: none;
}

.works-tags__link--active {
  font-weight: 900;
}

.works-tags__link:hover {
  opacity: .6;
}

.works-grid {
  gap: var(--spacing-16);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

.works-grid__link {
  aspect-ratio: 4 / 5;
  text-decoration: none;
  display: block;
  overflow: hidden;
}

.works-grid__link img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  transition: transform .5s cubic-bezier(.16, 1, .3, 1);
  display: block;
}

.works-grid__link:hover img {
  transform: scale(1.04);
}

.works-loading {
  padding-block: var(--spacing-32);
  justify-content: center;
  display: flex;
}

.works-loading[hidden] {
  display: none;
}

.works-loading__spinner {
  border: 2px solid var(--color-neutral-soft);
  border-top-color: var(--color-neutral-strong);
  border-radius: 50%;
  width: 24px;
  height: 24px;
  animation: .8s linear infinite spin;
  display: block;
}

@keyframes spin {
  to {
    rotate: 360deg;
  }
}

@media (max-width: 768px) {
  .works-tags__list {
    gap: 8px 12px;
  }

  .works-grid {
    gap: var(--spacing-16);
    grid-template-columns: minmax(0, 1fr);
  }

  .works-grid__item:nth-child(3n+2) {
    transform: none;
  }
}

.single-work__layout {
  gap: var(--spacing-32);
  grid-template-columns: 250px minmax(0, 1fr);
  align-items: start;
  display: grid;
}

.single-work__content {
  font-size: var(--font-size-small);
  top: calc(var(--header-height-desktop) + var(--spacing-24));
  line-height: 2;
  position: sticky;
}

.single-work__images {
  gap: var(--spacing-32);
  flex-direction: column;
  display: flex;
}

.single-work__figure {
  margin: 0;
}

.single-work__figure img {
  width: 100%;
  height: auto;
  display: block;
}

.works-img-all {
  margin-block-start: var(--spacing-32);
}

.works-img-all h2 {
  font-size: var(--font-size-small);
  margin-block-end: var(--spacing-16);
  font-weight: 900;
}

.works-img-all p {
  gap: var(--spacing-8);
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  display: grid;
}

.works-img-all p > a {
  display: block;
}

.works-img-all p > a img {
  width: 100%;
  height: auto;
  display: block;
}

.single-work__slider {
  display: none;
}

@media (max-width: 768px) {
  .single-work__layout {
    gap: var(--spacing-40);
    grid-template-columns: minmax(0, 1fr);
  }

  .single-work__slider {
    order: -1;
    display: block;
  }

  .single-work__images {
    display: none;
  }

  .single-work__content {
    position: static;
  }

  .single-work__slider .splide__pagination {
    bottom: -24px;
  }

  .single-work__slider .splide__pagination__page {
    opacity: 1;
    background: #c8c8c8;
  }

  .single-work__slider .splide__pagination__page.is-active {
    opacity: 1;
    background: #828282;
    transform: scale(1);
  }

  .single-work__slider .splide__slide img {
    width: 100%;
    height: auto;
    display: block;
  }
}

@media (max-width: 640px) {
  .u-hidden-max-sm {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .u-hidden-max-md {
    display: none !important;
  }
}

@media (max-width: 1024px) {
  .u-hidden-max-lg {
    display: none !important;
  }
}

@media (max-width: 1280px) {
  .u-hidden-max-xl {
    display: none !important;
  }
}

@media not (max-width: 640px) {
  .u-hidden-min-sm {
    display: none !important;
  }
}

@media not (max-width: 768px) {
  .u-hidden-min-md {
    display: none !important;
  }
}

@media not (max-width: 1024px) {
  .u-hidden-min-lg {
    display: none !important;
  }
}

@media not (max-width: 1280px) {
  .u-hidden-min-xl {
    display: none !important;
  }
}

@media (max-width: 640px) {
  .hide-on-mobile {
    display: none !important;
  }
}

.u-position-relative {
  position: relative !important;
}

.u-position-absolute {
  position: absolute !important;
}

.u-position-fixed {
  position: fixed !important;
}

.u-position-sticky {
  position: sticky !important;
}

.u-z-index--1 {
  z-index: -1 !important;
}

.u-z-index-0 {
  z-index: 0 !important;
}

.u-z-index-1 {
  z-index: 1 !important;
}

.u-z-index-2 {
  z-index: 2 !important;
}

.u-z-index-3 {
  z-index: 3 !important;
}

@media not (min-width: 782px) {
  .u-flex-direction-column-reverse-max-columns {
    flex-direction: column-reverse !important;
  }
}

.u-inline {
  display: inline !important;
}

.u-block {
  display: block !important;
}

.u-inline-block {
  display: inline-block !important;
}

@media (max-width: 768px) {
  .u-px-0-max-md {
    padding-inline: 0 !important;
  }
}
