@charset "UTF-8";
@import "https://lions-mansion.jp/wp/wp-content/themes/lions_2403/css/common/normalize.css?ver=1.0";
@import "https://lions-mansion.jp/wp/wp-content/themes/lions_2403/style.css?ver=1.0";
@import "https://lions-mansion.jp/wp/wp-content/themes/lions_2403/assets/css/app.css?ver=1.0";
@import "https://lions-mansion.jp/wp/wp-content/themes/lions_2403/assets/css/common.css?ver=1.0";
@font-face {
  font-display: block;
  font-family: Texta;
  font-style: normal;
  font-weight: 300;
  src: url(../../../project/assets/fonts/TextaBook.woff2) format("woff2"), url(../../../project/assets/fonts/TextaBook.woff) format("woff");
}
@font-face {
  font-display: block;
  font-family: Texta;
  font-style: normal;
  font-weight: 400;
  src: url(../../../project/assets/fonts/TextaRegular.woff2) format("woff2"), url(../../../project/assets/fonts/TextaRegular.woff) format("woff");
}
@font-face {
  font-display: block;
  font-family: Texta;
  font-style: normal;
  font-weight: 500;
  src: url(../../../project/assets/fonts/TextaMedium.woff2) format("woff2"), url(../../../project/assets/fonts/TextaMedium.woff) format("woff");
}
@font-face {
  font-display: block;
  font-family: Texta;
  font-style: normal;
  font-weight: 700;
  src: url(../../../project/assets/fonts/TextaBold.woff2) format("woff2"), url(../../../project/assets/fonts/TextaBold.woff) format("woff");
}
/**
 * Swiper 12.0.2
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 18, 2025
 */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}
:host {
  display: block;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}
.swiper {
  display: block;
  list-style: none;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  padding: 0;
  position: relative;
  /* Fix of Webkit flickering */
  z-index: 1;
}
.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  box-sizing: content-box;
  display: flex;
  height: 100%;
  position: relative;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  width: 100%;
  z-index: 1;
}
.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}
.swiper-horizontal {
  touch-action: pan-y;
}
.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  display: block;
  flex-shrink: 0;
  height: 100%;
  position: relative;
  transition-property: transform;
  width: 100%;
}
.swiper-slide-invisible-blank {
  visibility: hidden;
}
/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
  backface-visibility: hidden;
  transform: translateZ(0);
}
/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}
.swiper-3d {
  perspective: 1200px;
  .swiper-slide,
  .swiper-cube-shadow {
    transform-style: preserve-3d;
  }
}
/* CSS Mode */
.swiper-css-mode {
  > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none; /* For Firefox */
    -ms-overflow-style: none; /* For Internet Explorer and Edge */
    &::-webkit-scrollbar {
      display: none;
    }
  }
  > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  &.swiper-horizontal {
    > .swiper-wrapper {
      scroll-snap-type: x mandatory;
    }
  }
  &.swiper-vertical {
    > .swiper-wrapper {
      scroll-snap-type: y mandatory;
    }
  }
  &.swiper-free-mode {
    > .swiper-wrapper {
      scroll-snap-type: none;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: none;
    }
  }
  &.swiper-centered {
    > .swiper-wrapper::before {
      content: "";
      flex-shrink: 0;
      order: 9999;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always;
    }
  }
  &.swiper-centered.swiper-horizontal {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      height: 100%;
      min-height: 1px;
      width: var(--swiper-centered-offset-after);
    }
  }
  &.swiper-centered.swiper-vertical {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      height: var(--swiper-centered-offset-after);
      min-width: 1px;
      width: 100%;
    }
  }
}
/* Slide styles start */
/* 3D Shadows */
.swiper-3d {
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom,
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom {
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 10;
  }
  .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
}
.swiper-lazy-preloader {
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
  box-sizing: border-box;
  height: 42px;
  left: 50%;
  margin-left: -21px;
  margin-top: -21px;
  position: absolute;
  top: 50%;
  transform-origin: 50%;
  width: 42px;
  z-index: 10;
}
.swiper:not(.swiper-watch-progress),
.swiper-watch-progress .swiper-slide-visible {
  .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
}
.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}
.swiper-pagination {
  position: absolute;
  text-align: center;
  transform: translate3d(0, 0, 0);
  transition: 300ms opacity;
  z-index: 10;
  &.swiper-pagination-hidden {
    opacity: 0;
  }
  .swiper-pagination-disabled > &,
  &.swiper-pagination-disabled {
    display: none !important;
  }
}
/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  left: 0;
  top: var(--swiper-pagination-top, auto);
  width: 100%;
}
/* Bullets */
.swiper-pagination-bullets-dynamic {
  font-size: 0;
  overflow: hidden;
  .swiper-pagination-bullet {
    position: relative;
    transform: scale(0.33);
  }
  .swiper-pagination-bullet-active {
    transform: scale(1);
  }
  .swiper-pagination-bullet-active-main {
    transform: scale(1);
  }
  .swiper-pagination-bullet-active-prev {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33);
  }
  .swiper-pagination-bullet-active-next {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33);
  }
}
.swiper-pagination-bullet {
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  display: inline-block;
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  button& {
    border: none;
    box-shadow: none;
    margin: 0;
    padding: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }
  .swiper-pagination-clickable & {
    cursor: pointer;
  }
  &:only-child {
    display: none !important;
  }
}
.swiper-pagination-bullet-active {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  opacity: var(--swiper-pagination-bullet-opacity, 1);
}
.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  left: var(--swiper-pagination-left, auto);
  right: var(--swiper-pagination-right, 8px);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
  .swiper-pagination-bullet {
    display: block;
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  }
  &.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    .swiper-pagination-bullet {
      display: inline-block;
      transition: 200ms transform, 200ms top;
    }
  }
}
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-horizontal.swiper-pagination-bullets {
  .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
  }
  &.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    .swiper-pagination-bullet {
      transition: 200ms transform, 200ms left;
    }
  }
}
.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}
/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}
/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
  .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform: scale(0);
    transform-origin: left top;
    width: 100%;
  }
  .swiper-rtl & .swiper-pagination-progressbar-fill {
    transform-origin: right top;
  }
  .swiper-horizontal > &,
  &.swiper-pagination-horizontal,
  .swiper-vertical > &.swiper-pagination-progressbar-opposite,
  &.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0;
    width: 100%;
  }
  .swiper-vertical > &,
  &.swiper-pagination-vertical,
  .swiper-horizontal > &.swiper-pagination-progressbar-opposite,
  &.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
    height: 100%;
    left: 0;
    top: 0;
    width: var(--swiper-pagination-progressbar-size, 4px);
  }
}
.swiper-pagination-lock {
  display: none;
}
.swiper-fade {
  &.swiper-free-mode {
    .swiper-slide {
      transition-timing-function: ease-out;
    }
  }
  .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
    .swiper-slide {
      pointer-events: none;
    }
  }
  .swiper-slide-active {
    pointer-events: auto;
    & .swiper-slide-active {
      pointer-events: auto;
    }
  }
}
/**
 * tingle.js - A simple modal plugin written in pure JavaScript
 * @version v0.16.0
 * @link https://github.com/robinparisi/tingle#readme
 * @license MIT
 */
.tingle-modal * {
  box-sizing: border-box;
}
.tingle-modal {
  align-items: center;
  bottom: 0;
  display: flex;
  flex-direction: column;
  left: 0;
  overflow: hidden;
  position: fixed;
  right: 0;
  top: 0;
  visibility: hidden;
  z-index: 1000;
  -webkit-overflow-scrolling: touch;
  background: rgba(0, 0, 0, 0.9);
  cursor: url("data:image/svg+xml,%3Csvg width='19' height='19' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.514.535l-6.42 6.42L2.677.536a1.517 1.517 0 00-2.14 0 1.517 1.517 0 000 2.14l6.42 6.419-6.42 6.419a1.517 1.517 0 000 2.14 1.517 1.517 0 002.14 0l6.419-6.42 6.419 6.42a1.517 1.517 0 002.14 0 1.517 1.517 0 000-2.14l-6.42-6.42 6.42-6.418a1.517 1.517 0 000-2.14 1.516 1.516 0 00-2.14 0z' fill='%23FFF' fill-rule='nonzero'/%3E%3C/svg%3E"), auto;
  opacity: 0;
}
@supports (backdrop-filter: blur(12px)) {
  .tingle-modal {
    backdrop-filter: blur(12px);
  }
}
/* confirm and alerts
-------------------------------------------------------------- */
.tingle-modal--confirm .tingle-modal-box {
  text-align: center;
}
/* modal
-------------------------------------------------------------- */
.tingle-modal--noOverlayClose {
  cursor: default;
}
.tingle-modal--noClose .tingle-modal__close {
  display: none;
}
.tingle-modal__close {
  background-color: transparent;
  border: none;
  color: #fff;
  cursor: pointer;
  height: 2rem;
  padding: 0;
  position: fixed;
  right: 2.5rem;
  top: 2.5rem;
  width: 2rem;
  z-index: 1000;
}
.tingle-modal__close svg * {
  fill: currentColor;
}
.tingle-modal__closeLabel {
  display: none;
}
.tingle-modal__close:hover {
  color: #fff;
}
.tingle-modal-box {
  background: #fff;
  border-radius: 4px;
  cursor: auto;
  flex-shrink: 0;
  margin-bottom: auto;
  margin-top: auto;
  opacity: 1;
  position: relative;
  width: 60%;
  will-change: transform, opacity;
}
.tingle-modal-box__content {
  padding: 3rem 3rem;
}
.tingle-modal-box__footer {
  background-color: #f5f5f5;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  cursor: auto;
  padding: 1.5rem 2rem;
  width: auto;
}
.tingle-modal-box__footer::after {
  clear: both;
  content: "";
  display: table;
}
.tingle-modal-box__footer--sticky {
  bottom: -200px; /* TODO : find a better way */
  opacity: 1;
  position: fixed;
  transition: bottom 0.3s ease-in-out 0.3s;
  z-index: 10001;
}
/* state
-------------------------------------------------------------- */
.tingle-enabled {
  left: 0;
  overflow: hidden;
  position: fixed;
  right: 0;
}
.tingle-modal--visible .tingle-modal-box__footer {
  bottom: 0;
}
.tingle-modal--visible {
  opacity: 1;
  visibility: visible;
}
.tingle-modal--visible .tingle-modal-box {
  animation: scale 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
}
.tingle-modal--overflow {
  overflow-y: scroll;
  padding-top: 8vh;
}
/* btn
-------------------------------------------------------------- */
.tingle-btn {
  background-color: grey;
  border: none;
  box-shadow: none;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-family: inherit;
  font-size: inherit;
  line-height: normal;
  margin: 0 0.5rem;
  padding: 1rem 2rem;
  text-decoration: none;
  transition: background-color 0.4s ease;
  vertical-align: middle;
}
.tingle-btn--primary {
  background-color: #3498db;
}
.tingle-btn--danger {
  background-color: #e74c3c;
}
.tingle-btn--default {
  background-color: #34495e;
}
.tingle-btn--pull-left {
  float: left;
}
.tingle-btn--pull-right {
  float: right;
}
/* responsive
-------------------------------------------------------------- */
/* animations
-------------------------------------------------------------- */
@keyframes scale {
  0% {
    opacity: 0;
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.inner {
  margin-inline: auto;
  max-width: 1020px;
  padding-inline: 40px;
}
.inner:has(> .block) {
  -moz-column-gap: 40px;
       column-gap: 40px;
}
.title-en {
  font-family: Texta, sans-serif;
  font-size: 40px;
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 1;
}
.title-en.sub {
  font-size: 20px;
  font-weight: 400;
}
.title-jp {
  font-feature-settings: normal;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 1.6;
  margin-block: 0.7125em;
}
.title-jp.sub {
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.75;
  margin-block: 0.825em;
}
.title-jp.sub.s {
  font-feature-settings: "palt";
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin-block: 1.1em;
}
.js-modal-member .member-image, #article section .member-image {
  aspect-ratio: 1/1;
  border-radius: 60px;
}
.js-modal-member .member-image img, #article section .member-image img {
  height: auto;
  max-width: 100%;
}
.js-modal-member .member-text, #article section .member-text {
  margin-block-start: 37px;
  padding-inline: 20px;
}
.js-modal-member .member-text .name.en, #article section .member-text .name.en {
  font-family: Texta, sans-serif;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 1;
}
.js-modal-member .member-text .name.jp, #article section .member-text .name.jp {
  font-size: 21px;
  letter-spacing: 0;
  line-height: 1.3;
}
.js-modal-member .member-text .position, #article section .member-text .position {
  font-size: 13px;
  letter-spacing: 0.1em;
  line-height: 1.55;
  margin-block: 14px 0;
}
.js-modal-member .member-link, #article section .member-link {
  line-height: 1;
  margin-block-start: 11px;
  padding-inline: 20px;
}
.js-modal-member .member-link a, #article section .member-link a {
  display: inline-block;
  font-family: Texta, sans-serif;
  font-size: 12px;
  letter-spacing: 0.11em;
  line-height: 1;
  text-align: left;
  transition: opacity 0.4s;
}
.js-modal-member .member-link a:after, #article section .member-link a:after {
  background: url(../images/arrow02.svg) no-repeat center bottom/cover;
  content: "";
  display: block;
  height: 8px;
  margin-block-start: -3.5px;
  position: relative;
  width: 94px;
}
#article section p {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2.125;
  margin-block: 2.125em;
}
#article section p.block-start {
  margin-block-start: 1.525em;
}
#article section p.block-start-s {
  margin-block-start: 0.95em;
}
#article section p.lead {
  font-size: 21px;
  letter-spacing: 0.05em;
  line-height: 1.9;
  margin-block: 1.65em 1.425em;
}
input[id^=switch-] {
  display: none;
}
#switch-global:checked ~ .global {
  opacity: 1;
  pointer-events: fill;
  visibility: visible;
}
.btn-menu {
  aspect-ratio: 1/1;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  pointer-events: auto;
  position: absolute;
  right: 20px;
  top: 31px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  width: 36px;
}
.btn-menu:before, .btn-menu:after,
.btn-menu span {
  background-color: #fff;
  display: block;
  height: 1px;
  width: 100%;
}
.btn-menu:before, .btn-menu:after {
  content: "";
}
.btn-menu:after,
.btn-menu span {
  margin-top: 8px;
}
.btn-close {
  cursor: pointer;
  display: block;
  height: 28.5px;
  pointer-events: auto;
  position: absolute;
  right: 33.5px;
  top: 72.5px;
  width: 28.5px;
  z-index: 1;
}
.btn-close:before, .btn-close:after {
  background-color: currentColor;
  content: "";
  display: block;
  height: 1px;
  left: calc(50% - 20px);
  position: absolute;
  top: calc(50% - 0.5px);
  width: 40px;
}
.btn-close:before {
  transform: rotate(135deg);
}
.btn-close:after {
  transform: rotate(45deg);
}
#header {
  display: flex;
  justify-content: space-between;
  left: 0;
  padding: 50px 60px;
  pointer-events: none;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
}
#header a {
  pointer-events: auto;
}
#header .global {
  line-height: 1;
  white-space: nowrap;
}
#header .global .menu {
  align-items: center;
  display: flex;
  -moz-column-gap: 4.95em;
       column-gap: 4.95em;
  position: relative;
  right: -1px;
  top: 2px;
}
#header .global .menu > li > a {
  color: #fff;
  font-family: Texta, sans-serif;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.07em;
  position: relative;
}
#header .global .menu > li > a:after {
  background-color: currentColor;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  transform: scaleX(0.00001);
  transition: visibility 0.2s ease-out, transform 0.2s ease-out;
  visibility: hidden;
  width: 100%;
}
:root {
  --color-light-gray:#f2f2f1;
  --color-warm-gray:#dfdad8;
  --color-light-brown:#cbbcb9;
  --color-red-brown:#3f2021 ;
}
html,
body {
  color: #402020;
  font-family: "Noto Sans JP", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  letter-spacing: 0.085em;
  line-height: 2.1538461538;
}
body {
  background-color: #DBD0CC;
  overflow-y: scroll;
}
#article {
  font-feature-settings: "palt";
}
.cover {
  overflow: hidden;
  position: relative;
  width: 100%;
}
.cover > * {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.cover > * > iframe {
  height: 100% !important;
  width: 500% !important;
}
.cover a > picture, .cover > picture {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.cover a > picture > *, .cover > picture > * {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.condensed {
  transform: scaleX(0.96);
  transform-origin: left top;
  width: 104.1666666667%;
}
.condensed-l {
  transform: scaleX(0.98);
  transform-origin: left top;
  width: 102.0408163265%;
}
.btn > * {
  border: 1px solid #402020;
  border-radius: 14.5px;
  box-sizing: border-box;
  display: inline-block;
  font-size: 12px;
  letter-spacing: 0;
  line-height: 1;
  max-width: 174px;
  padding: 7px 1.5em 8px 1.1em;
  position: relative;
  text-align: center;
  transition: background-color 0.4s, color 0.4s;
  width: 100%;
}
.btn > *:after {
  color: currentColor;
  content: "→";
  position: absolute;
  right: 0.75em;
  transition: color 0.4s;
}
.btn.and-more {
  margin-block: 47px 0;
  text-align: center;
}
.btn.and-more > * {
  border-radius: 17.5px;
  font-family: Texta, sans-serif;
  letter-spacing: 0.11em;
  max-width: 162px;
  padding: 10px 1em 11px;
  text-indent: 0.11em;
}
.btn.and-more > *:after {
  display: none;
}
@keyframes scroll-line {
  0% {
    transform: translateY(-107.692307692%);
  }
  50% {
    transform: translateY(0);
  }
  to {
    transform: translateY(261.538461538%);
  }
}
span.js-fade-in-up {
  display: inline-block;
}
.function-item.js-line-effect {
  position: relative;
}
.function-item.js-line-effect:before {
  background-color: #DFD9D9;
  content: "";
  display: block;
  height: 3px;
  position: absolute;
  right: 0;
  top: -2px;
  transition: width 1s;
  width: 100%;
}
.function-item.js-line-effect.is-animate:before {
  width: 0;
}
.interview-item .headline.js-line-effect {
  position: relative;
}
.interview-item .headline.js-line-effect:before {
  background-color: #DBD0CC;
  bottom: -2px;
  content: "";
  display: block;
  height: 3px;
  position: absolute;
  right: 0;
  transition: width 1s;
  width: 100%;
}
.interview-item .headline.js-line-effect.is-animate:before {
  width: 0;
}
#project-member .field.js-line-effect:after {
  left: 0;
  transition: width 1s;
  width: 0;
}
#project-member .field.js-line-effect.is-animate:after {
  width: 100%;
}
.tingle-hide {
  display: none;
}
.tingle-enabled {
  overflow: visible;
}
.tingle-modal {
  background-color: #DBD0CC;
  cursor: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzEiIGhlaWdodD0iMzEiIHZpZXdCb3g9IjAgMCAzMSAzMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMiAxTDMwLjUgMjkuNSIgc3Ryb2tlPSIjNDAyMDIwIi8+PHBhdGggZD0iTTEgMzBMMjkuNSAxLjUiIHN0cm9rZT0iIzQwMjAyMCIvPjwvc3ZnPg=="), auto;
  display: flex !important;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  visibility: hidden;
  z-index: 9999;
}
.tingle-modal__close {
  height: 28.5px !important;
  margin-block-end: -28.5px;
  margin-inline: auto 0;
  position: sticky;
  right: 33.5px;
  top: 72.5px;
  width: 28.5px !important;
}
.tingle-modal__closeIcon {
  color: #402020;
  height: 28.5px !important;
  position: absolute;
  width: 28.5px !important;
}
.tingle-modal__closeIcon:before, .tingle-modal__closeIcon:after {
  background-color: currentColor;
  content: "";
  display: block;
  height: 1px;
  left: calc(50% - 20px);
  position: absolute;
  top: calc(50% - 0.5px);
  width: 40px;
}
.tingle-modal__closeIcon:before {
  transform: rotate(135deg);
}
.tingle-modal__closeIcon:after {
  transform: rotate(45deg);
}
.tingle-modal__closeIcon span {
  color: transparent;
}
.tingle-modal__closeIcon svg {
  display: none;
}
.tingle-modal__close .tingle-modal__closeIcon {
  right: 0;
  top: 0;
}
.tingle-modal-box {
  background: transparent;
  border-radius: 0;
  width: 100% !important;
}
.tingle-modal-box__content {
  padding: 0;
}
.tingle-modal .tingle-modal-box {
  pointer-events: none;
  transform: scale(0.93);
  transition: transform 0.4s ease;
}
.tingle-modal .tingle-modal-box .modal-content {
  pointer-events: visible;
}
.tingle-modal .tingle-modal-box .modal-content.wrap {
  margin: 80px auto;
}
.tingle-modal .tingle-modal-box .modal-content .inner {
  background-color: #DBD0CC;
}
.tingle-modal--visible {
  opacity: 1;
  visibility: visible;
}
.tingle-modal--visible .tingle-modal-box {
  animation: none;
  transform: scale(1);
}
.tingle-modal--overflow {
  padding-top: 0;
}
.js-modal-iframe .iframe-content {
  margin: auto;
  max-width: 1024px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  pointer-events: auto;
  position: relative;
  transform: translateZ(0);
}
.js-modal-iframe .iframe-content:before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.js-modal-iframe iframe {
  background: #000;
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.js-modal-member .modal-content {
  padding-block: 80px;
  text-align: center;
}
.js-modal-member .modal-content .inner {
  max-width: 760px;
  padding-inline: 0;
}
.js-modal-member .modal-content .inner:has(.member-list-more) {
  max-width: 940px;
}
.js-modal-member .member-image {
  margin-inline: auto;
  max-width: 299px;
}
.js-modal-member .member-text {
  margin-block-start: 21px;
}
.js-modal-member .member-text .position {
  min-height: auto;
}
.js-modal-member .member-text .career {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2.125;
  margin-block: 35.5px 43px;
}
.js-modal-member .member-link {
  margin-block: 2px;
}
.js-modal-member .member-link a {
  display: inline-block;
  width: 69px;
}
.js-modal-member .member-link a:after {
  background-image: url(../images/arrow04.svg);
  height: 6.5px;
  margin-block-start: -2.5px;
  width: 100%;
}
.js-modal-member .member-list-more {
  display: grid;
  gap: 18px calc((100% - 520px) / 3);
  grid-auto-flow: column;
  grid-template-rows: repeat(8, auto);
  text-align: left;
}
.js-modal-member .member-list-more .member-item {
  max-width: 130px;
}
.js-modal-member .member-list-more .member-text {
  margin-block-start: 0;
  padding-inline: 0;
}
.js-modal-exhibition .modal-content {
  font-feature-settings: "palt";
  padding-block: 80px;
}
.js-modal-exhibition .modal-content .inner {
  max-width: 1019px;
}
.js-modal-exhibition .header {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
.js-modal-exhibition .header .logo {
  max-width: 131px;
  position: relative;
  right: -7px;
}
.js-modal-exhibition .header .title-jp {
  margin-block-start: 9px;
}
.js-modal-exhibition .header p {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin-block-start: 29px;
}
.js-modal-exhibition .info {
  border: 1px solid currentColor;
  border-inline: none;
  display: flex;
  flex-wrap: wrap;
  margin-block: 60px;
  padding-block: 60px;
  row-gap: 8px;
}
.js-modal-exhibition .info dt,
.js-modal-exhibition .info dd {
  font-size: 15px;
  line-height: 1.95;
}
.js-modal-exhibition .info dt > *,
.js-modal-exhibition .info dd > * {
  font-size: 15px;
  letter-spacing: 0.08em;
}
.js-modal-exhibition .info dt {
  flex-basis: 8em;
  padding-inline-end: 1em;
}
.js-modal-exhibition .info dd {
  flex-basis: calc(100% - 8em);
}
.js-modal-exhibition .info h3 {
  font-weight: 400;
}
.js-modal-exhibition .info p {
  font-weight: 500;
}
.js-modal-exhibition .info p:has(small) {
  font-size: 13px;
}
.js-modal-exhibition .info p small {
  font-size: 13px;
  font-weight: 400;
}
.js-modal-exhibition .official-link {
  line-height: 1.95;
  text-align: right;
}
.js-modal-exhibition .official-link .title {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.08em;
}
.js-modal-exhibition .official-link .link {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.0675em;
}
.js-modal-exhibition .official-link .link a {
  overflow-wrap: break-word;
  text-decoration: underline;
}
#mainvisual {
  height: 100vh;
  margin-block-end: 122px;
  position: relative;
}
#mainvisual .image {
  height: calc(100vh + 42px);
  overflow: hidden;
  position: absolute;
  width: 100%;
  z-index: 0;
}
#mainvisual .image:after {
  background: url(../images/fv_curve01.svg) no-repeat center bottom;
  background-size: 1440px 100%;
  bottom: -17px;
  content: "";
  display: block;
  height: 547px;
  left: 0;
  position: absolute;
  width: 100%;
}
#mainvisual .image picture > * {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
#mainvisual .image .video {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
#mainvisual .image #ratio-target {
  aspect-ratio: 0.5625/1;
  height: auto;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
}
#mainvisual h1 {
  display: grid;
  height: 100%;
  margin-block-start: -27px;
  place-items: center;
  position: relative;
  z-index: 1;
}
#mainvisual .scroll {
  bottom: -124px;
  display: flex;
  justify-content: center;
  position: absolute;
  width: 100%;
  z-index: 2;
}
#mainvisual .scroll p {
  color: #402020;
  font-family: Texta, sans-serif;
  font-size: 18px;
  letter-spacing: 0.03em;
  line-height: 1.1;
  text-align: center;
}
#mainvisual .scroll .bar-container {
  height: 195px;
  margin: 16px auto 0;
  overflow: hidden;
  position: relative;
  width: 1px;
}
#mainvisual .scroll .bar-container .bar {
  animation: scroll-line 4s infinite;
  background-color: #402020;
  height: 100%;
  width: 100%;
}
#mainvisual .exhibition-link {
  aspect-ratio: 1/1;
  bottom: 45px;
  position: fixed;
  right: 41px;
  width: 162px;
  z-index: 3;
}
#mainvisual .exhibition-link a {
  background-color: #402020;
  border: 1px solid #DBD0CC;
  border-radius: 100%;
  color: #fff;
  display: flex;
  flex-direction: column;
  font-family: Texta, sans-serif;
  font-size: 14px;
  font-weight: 300;
  height: 100%;
  justify-content: center;
  letter-spacing: 0.07em;
  line-height: 1;
  text-align: center;
  transition: background-color 0.4s, border-color 0.4s, color 0.4s, transform 0.4s;
  width: 100%;
}
#mainvisual .exhibition-link a .arrow, #mainvisual .exhibition-link a .arrow:after {
  background: url(../images/arrow01.svg) no-repeat center/cover;
  color: transparent;
  display: block;
  height: 6px;
  margin: 8px auto -1px;
  position: relative;
  transition: opacity 0.4s;
  width: 93.5px;
}
#mainvisual .exhibition-link a .arrow:after {
  background-image: url(../images/arrow_hover01.svg);
  bottom: 1px;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
}
#concept {
  padding-block: 151px 116px;
}
#concept .title-jp {
  margin-block: 1.8em;
}
#concept p.condensed-l {
  letter-spacing: 0.2em;
}
#concept-movie {
  background-color: var(--color-red-brown);
  color: #fff;
  padding-block: 132px 150px;
}
#concept-movie .title-en {
  line-height: 1.175;
}
#concept-movie .title-en small {
  letter-spacing: 0.15em;
}
#concept-movie .movie-container {
  margin-block: 47px 0;
}
#concept-movie .movie-container .play {
  bottom: 0;
  display: block;
  height: 0;
  left: 0;
  margin: auto;
  padding-bottom: 87.59px;
  position: absolute;
  right: 0;
  top: 0;
  transition: transform 0.8s;
  width: 87.59px;
}
#concept-movie .movie-container .play svg circle {
  fill: transparent;
  stroke: #fff;
  stroke-miterlimit: 10;
  stroke-width: 1.75;
  transition: fill 0.8s;
}
#concept-movie .movie-container .play svg polygon {
  fill: #fff;
  transition: fill 0.8s;
}
#concept-movie .movie-item-image {
  aspect-ratio: 940/544;
  border-radius: 120px;
}
#concept-movie .movie-item-image img {
  transition: filter 0.8s, transform 0.8s;
}
#function {
  background-color: #DFD9D9;
  padding-block: 150px 0;
}
#function .block {
  flex-basis: 50%;
  max-width: 450px;
}
#function .block.single {
  flex-basis: 100%;
  max-width: none;
}
#function .block.single.image {
  margin-block: 22px 30px;
}
#function .block.single .image-container {
  aspect-ratio: 940/450;
}
#function .block.text {
  max-width: 414px;
}
#function .block.text h2 {
  margin-block: -0.25em -0.1em;
}
#function .block.text p {
  font-feature-settings: "palt";
  letter-spacing: 0.2em;
}
#function .block.text p.lead {
  font-feature-settings: normal;
  letter-spacing: 0.05em;
}
#function .block.image {
  margin-block-end: 96px;
}
#function .block.image .image-container {
  aspect-ratio: 950/567;
  border-radius: 60px;
}
#function p.block-start {
  font-feature-settings: normal;
  max-width: 584px;
}
#function .function-item {
  border-top: 1px solid #402020;
  margin-block-start: 99.5px;
  padding-block-start: 22px;
}
#function .function-item:first-of-type {
  margin-block-start: 65px;
}
#function .function-item .title {
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 1.6;
}
#function .function-item p {
  letter-spacing: 0.2em;
  line-height: 1.75;
  margin-block: 1.25em 2.5em;
}
#function .function-item-images {
  -moz-column-gap: 34px;
       column-gap: 34px;
  display: flex;
  justify-content: space-between;
}
#function .function-item-images .image-container {
  aspect-ratio: 1/1;
  border-radius: 60px;
}
#use-case {
  background-color: #DFD9D9;
  padding-block: 150px 116px;
}
#use-case .title-en ~ p {
  font-feature-settings: normal;
  margin-block: 1.875em;
}
#use-case .title-en ~ p.lead {
  margin-block: 1.45em 1.4em;
}
#use-case .title-en ~ p:not(.lead) {
  font-feature-settings: "palt";
  font-weight: 500;
  letter-spacing: 0.2em;
}
#use-case .swiper-uc-text {
  text-align: center;
}
#use-case .swiper-uc-text p {
  letter-spacing: 0.2em;
  line-height: 1.75;
  margin-block-start: 2.1em;
}
#use-case .swiper-uc-images {
  margin-block-start: 49.5px;
}
#use-case .swiper-uc-images .image-container {
  aspect-ratio: 940/543;
  border-radius: 120px;
}
#use-case .swiper .uc-pagination {
  -moz-column-gap: 15px;
       column-gap: 15px;
  display: flex;
  justify-content: center;
  margin-block: 50px 16px;
  text-align: center;
}
#use-case .swiper .uc-pagination .swiper-pagination-bullet {
  background-color: transparent;
  border: 1px solid #402020;
  border-radius: 24px;
  color: #402020;
  display: block;
  font-size: 20px;
  font-weight: 500;
  height: auto;
  letter-spacing: 0.15em;
  line-height: 1.6;
  margin-inline: 0;
  max-width: 303px;
  opacity: 1;
  padding-block: 6px 8px;
  text-indent: 0.15em;
  transition: color 0.4s, background-color 0.4s;
  width: 100%;
}
#use-case .swiper .uc-pagination .swiper-pagination-bullet-active {
  background-color: #402020;
  color: #fff;
  opacity: 1;
}
#interview {
  background-color: var(--color-red-brown);
  color: #fff;
  padding-block: 150px;
}
#interview .block-left {
  max-width: 884px;
}
#interview .block-left p {
  font-feature-settings: normal;
}
#interview .title-jp {
  letter-spacing: 0.15em;
  margin-block: 1.8em 1em;
}
#interview .title-jp + p {
  font-feature-settings: "palt";
  letter-spacing: 0.2em;
  margin-block-start: 1.9em;
}
#interview .image-container {
  aspect-ratio: 940/544;
  border-radius: 100px;
  margin-block: 40px;
}
#interview .interview-container {
  background-color: #DBD0CC;
  border-radius: 66px;
  color: #402020;
  padding: 25px 40px;
  transition: border-radius 0.7s;
}
#interview .interview-container:has(.is-active) {
  border-radius: 100px;
}
#interview .interview-container:not(:last-of-type) {
  margin-block-end: 126px;
}
#interview .interview-item {
  padding-inline: 0;
  transition: border-bottom-color 0.4s;
}
#interview .interview-item .headline {
  border-bottom: 1px solid currentColor;
  font-size: 30px;
  font-weight: 350;
  letter-spacing: 0.08em;
  line-height: 1.6;
  padding-block-end: 15px;
}
#interview .interview-item .headline:not(:first-child) {
  margin-block-start: 75px;
}
#interview .interview-item .headline.btn-toggle {
  border-bottom: none;
  cursor: pointer;
  font-size: 24px;
  padding-block: 20.6px 23px;
  padding-inline-end: 60px;
  position: relative;
  transition: opacity 0.4s;
}
#interview .interview-item .headline.btn-toggle:before, #interview .interview-item .headline.btn-toggle:after {
  background-color: currentColor;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  right: 0;
  top: calc(50% - 1px);
  transition: transform 0.7s;
  width: 51px;
}
#interview .interview-item .headline.btn-toggle:after {
  transform: rotate(90deg);
}
#interview .interview-item .headline.btn-toggle.is-active:after {
  transform: rotate(180deg);
}
#interview .interview-item .toggle-content {
  height: 0;
  overflow: hidden;
}
#interview .interview-item .toggle-content > .headline:first-of-type {
  padding-block-start: 48px;
}
#interview .interview-item .toggle-content > .headline:first-of-type:has(+ .interview-content .block.single) {
  border-bottom: none;
  padding-block-end: 0;
}
#interview .interview-item .figure {
  margin-block: 42px 0;
}
#interview .interview-content {
  -moz-column-gap: 43px;
       column-gap: 43px;
  display: flex;
  margin-block-start: 17px;
}
#interview .interview-content:last-of-type {
  padding-block-end: 74px;
}
#interview .interview-content .block {
  flex-basis: 50%;
  max-width: 395px;
}
#interview .interview-content .block.columns {
  -moz-column-count: 2;
       column-count: 2;
  -moz-column-gap: 43px;
       column-gap: 43px;
  flex-basis: 100%;
  max-width: none;
}
#interview .interview-content .block.single {
  flex-basis: 100%;
  max-width: none;
}
#interview .interview-content .block.single p {
  letter-spacing: 0.08em;
  line-height: 1.74;
  margin-block: 4px -23px;
  text-align: justify;
}
#interview .interview-content .q {
  font-feature-settings: normal;
  font-size: 13.13px;
  font-weight: 350;
  letter-spacing: 0.08em;
  line-break: strict;
  line-height: 1.36;
  margin-block-end: 20px;
  padding-block-start: 5px;
}
#interview .interview-content .q:before {
  content: "Q.";
  display: inline-block;
  margin-inline-end: 0.5em;
}
#interview .interview-content .a {
  font-feature-settings: normal;
  letter-spacing: 0.08em;
  line-break: strict;
  line-height: 1.75;
  margin-block: 0;
  text-align: justify;
}
#interview .interview-content .a + .q {
  margin-block-start: 46px;
}
#interview .interview-content .figure {
  margin-block: 21px;
}
#interview .interview-content .figure img {
  width: 100%;
}
#interview .interview-content .figure:last-child {
  margin-block-end: 35px;
}
#project-member {
  padding-block: 150px;
}
#project-member .title-jp.sub {
  font-feature-settings: "palt";
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin-block: 1.05em 2.2em;
}
#project-member .field {
  font-family: Texta, sans-serif;
  font-size: 30px;
  letter-spacing: 0.11em;
  margin-block: 21px 22px;
  position: relative;
}
#project-member .field:after {
  background-color: currentColor;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  right: 0;
  top: 50%;
  width: 100%;
}
#project-member .field > span {
  background-color: #DBD0CC;
  display: inline-block;
  padding-right: 0.5em;
  position: relative;
  z-index: 1;
}
#project-member .member-list {
  -moz-column-gap: 26px;
       column-gap: 26px;
  display: flex;
  margin-block: 43px 0;
}
#project-member .member-list:not(:last-of-type) {
  margin-block-end: 70px;
}
#project-member .member-list:has(> li:nth-child(n+4)) {
  -moz-column-gap: 25px;
       column-gap: 25px;
  margin-block-start: 25px;
}
#project-member .member-list:has(> li:nth-child(n+4)) .member-image {
  border-radius: 40px;
}
#project-member .member-list:has(> li:nth-child(n+4)) .member-text {
  margin-block-start: 35px;
}
#project-member .member-item {
  width: 100%;
}
#contact {
  background-color: #DFDAD8;
  padding-block: 150px 121px;
}
#contact .link-mail-address {
  line-height: 1.15;
  margin-block: 34px 10px;
}
#contact .link-mail-address a {
  font-size: 17px;
  letter-spacing: 0.08em;
  text-decoration: underline;
}
#contact .link-privacy-policy {
  font-feature-settings: normal;
  line-height: 1.15;
  margin-block-start: 15px;
}
#contact .link-privacy-policy a {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-decoration: underline;
}
@media (max-width: 900px) {
  .js-modal-member .member-image, #article section .member-image {
    border-radius: 40px;
  }
  #header {
    padding-inline: 40px;
  }
  #header .global .menu {
    -moz-column-gap: 2.5em;
         column-gap: 2.5em;
  }
  .tingle-modal .tingle-modal-box .modal-content.wrap {
    overflow: auto;
  }
  .tingle-modal .tingle-modal-box .modal-content.wrap {
    margin: auto;
    max-height: calc(100vh - 92px);
    max-height: calc(100dvh - 92px);
  }
  .js-modal-exhibition .header {
    margin-block-start: 62px;
  }
  .js-modal-exhibition .official-link {
    margin-block-end: 59px;
  }
  #project-member .member-list {
    -moz-column-gap: 26px;
         column-gap: 26px;
    row-gap: 70px;
  }
  #project-member .member-list:has(> li:nth-child(n+4)) {
    -moz-column-gap: 26px;
         column-gap: 26px;
    flex-wrap: wrap;
    margin-block-start: 35px;
  }
  #project-member .member-list:has(> li:nth-child(n+4)) .member-item {
    flex-basis: calc(33.333% - 17.33px);
  }
  #project-member .member-list:has(> li:nth-child(n+4)) .member-text {
    margin-block-start: 37px;
  }
}
@media (max-width: 768px) and (max-width: 768px) {
  #function .title-jp ~ p {
    letter-spacing: 0.05em;
    line-height: 2.125;
    margin-block: 2.2em 1.9em;
  }
}
@media (max-width: 768px) {
  .tingle-modal {
    padding-inline: 20px;
  }
  .inner {
    max-width: 534px;
    padding-inline: 20px;
  }
  .title-en {
    font-size: 30px;
  }
  .title-en.sub {
    font-size: 20px;
    line-height: 1.35;
  }
  .title-jp.sub {
    font-size: 16px;
  }
  .title-jp.sub.s {
    font-feature-settings: normal;
    font-size: 17px;
    font-weight: 400;
    letter-spacing: 0.08em;
    line-height: 1.6;
    margin-block: 1.75em 0.8em;
    max-width: 320px;
  }
  .js-modal-member .member-text, #article section .member-text {
    margin-block-start: 25px;
    padding-inline: 0;
  }
  .js-modal-member .member-text .name.jp, #article section .member-text .name.jp {
    line-height: 1.4;
  }
  .js-modal-member .member-link, #article section .member-link {
    margin-block-start: 20px;
    padding-inline: 0;
  }
  .js-modal-member .member-link a, #article section .member-link a {
    font-size: 18px;
  }
  .js-modal-member .member-link a:after, #article section .member-link a:after {
    background-image: url(../images/arrow05.svg);
    height: 16px;
    margin-block-start: -5.5px;
    width: 138.5px;
  }
  #article section p {
    letter-spacing: 0.08em;
    line-height: 1.75;
    margin-block: 1.75em;
  }
  #article section p.block-start-s {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2.1;
    margin-block-start: 1.95em;
  }
  #article section p.lead {
    font-size: 19px;
    line-height: 1.8;
  }
  .btn-close {
    right: 30px;
    top: 40px;
  }
  #header {
    padding: 0;
  }
  #header .logo {
    left: 20px;
    max-width: 40px;
    position: absolute;
    top: 29px;
  }
  #header .global {
    background-color: #DBD0CC;
    height: 100dvh;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s, pointer-events 0.3s, visibility 0.3s;
    visibility: hidden;
    width: 100%;
    z-index: 10;
  }
  #header .global .menu {
    align-items: center;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    right: 0;
    row-gap: 3em;
    top: 0;
  }
  #header .global .menu > li > a {
    color: #402020;
    font-size: 24px;
  }
  .btn.and-more {
    margin-block: 49px 0;
  }
  .tingle-modal__close {
    right: 10px;
    top: 40px;
  }
  .tingle-modal-box__content {
    margin: auto;
  }
  .js-modal-iframe {
    padding: 0;
  }
  .js-modal-iframe .tingle-modal__close {
    right: 30px;
    top: 40px;
  }
  .js-modal-iframe .tingle-modal-box__content {
    max-width: 680px;
  }
  .js-modal-member .modal-content {
    padding-block: 40px;
  }
  .js-modal-member .modal-content .inner {
    padding: 67px 20px;
  }
  .js-modal-member .modal-content .inner:has(.member-list-more) {
    max-width: 580px;
  }
  .js-modal-member .member-image {
    border-radius: 30px;
    max-width: 240px;
  }
  .js-modal-member .member-text .career {
    font-size: 15px;
    letter-spacing: 0.045em;
    line-height: 2.0675;
    margin-block: 34px 0;
  }
  .js-modal-member .member-link {
    display: none;
  }
  .js-modal-member .member-list-more {
    gap: 18px calc((100% - 390px) / 2);
    grid-template-rows: repeat(11, auto);
  }
  .js-modal-exhibition .modal-content {
    padding-block: 40px;
  }
  .js-modal-exhibition .modal-content .inner {
    max-width: 760px;
  }
  .js-modal-exhibition .header {
    flex-direction: column;
  }
  .js-modal-exhibition .header .logo {
    left: -6px;
    max-width: 115px;
    right: inherit;
  }
  .js-modal-exhibition .header .title-jp {
    margin-block-start: 35px;
  }
  .js-modal-exhibition .header p {
    letter-spacing: 0.08em;
    line-height: 1.85;
    margin-block-start: 41px;
  }
  .js-modal-exhibition .info {
    flex-direction: column;
    margin-block: 59px 49px;
    padding-block: 50px;
    row-gap: 0;
  }
  .js-modal-exhibition .info dt {
    flex-basis: 100%;
    padding-inline-end: 0;
  }
  .js-modal-exhibition .info dd:not(:last-of-type) {
    margin-block-end: 19px;
  }
  .js-modal-exhibition .info p:has(small) {
    margin-block-start: 6px;
  }
  #mainvisual .image {
    height: 100vh;
  }
  #mainvisual .image:after {
    bottom: -100px;
  }
  #mainvisual .image .video.pc-movie {
    display: none;
  }
  #mainvisual h1 {
    margin-block-start: 0;
    padding-inline: 20px;
  }
  #mainvisual h1 img {
    margin-block-end: 136px;
    max-width: 340px;
  }
  #mainvisual .scroll {
    bottom: -168px;
  }
  #mainvisual .exhibition-link {
    bottom: 73px;
    right: 12px;
    width: 132px;
  }
  #mainvisual .exhibition-link a {
    font-size: 13px;
  }
  #mainvisual .exhibition-link a .arrow, #mainvisual .exhibition-link a .arrow:after {
    background-image: url(../images/arrow03.svg);
    margin-block: 8.5px 0;
    width: 49px;
  }
  #mainvisual .exhibition-link a .arrow:after {
    background-image: url(../images/arrow_hover03.svg);
    bottom: -1px;
  }
  #concept {
    padding-block: 91px 68px;
  }
  #concept .title-jp {
    margin-block-start: 1.675em;
  }
  #concept p.condensed-l {
    letter-spacing: 0.08em;
    line-height: 1.85;
    margin-block: 2em;
  }
  #concept-movie {
    padding-block: 90px 100px;
  }
  #concept-movie .title-en {
    font-size: 28px;
  }
  #concept-movie .title-en small {
    font-size: 20px;
  }
  #concept-movie .movie-container {
    margin-block-start: 40px;
  }
  #concept-movie .movie-item-image {
    aspect-ratio: 1/1;
    border-radius: 60px;
  }
  #function {
    padding-block: 106px 0;
  }
  #function .block {
    flex-basis: calc(50% - 7.5px);
    max-width: none;
  }
  #function .block.single .image-container {
    aspect-ratio: 336/242;
  }
  #function .block.text {
    max-width: none;
  }
  #function .block.text p {
    letter-spacing: 0.08em;
    line-height: 1.75;
    margin-block: 1.9em 2.95em;
    text-align: justify;
  }
  #function .block.text p.lead {
    font-size: 19px;
    letter-spacing: 0.08em;
    line-height: 1.7;
    margin-block: 1.7em 1.5em;
  }
  #function .block.image {
    margin-block-end: 100px;
  }
  #function .block.image .image-container {
    aspect-ratio: 1/1;
  }
  #function .title-jp {
    font-size: 20px;
    letter-spacing: 0.15em;
    line-height: 1.6;
  }
  #function .function-item {
    margin-block-start: 56px;
    padding-block-start: 16px;
  }
  #function .function-item:first-of-type {
    margin-block-start: 100px;
  }
  #function .function-item .title {
    font-size: 20px;
  }
  #function .function-item p {
    letter-spacing: 0.05em;
    line-height: 1.8;
    margin-block: 1em 2.325em;
  }
  #function .function-item-images {
    flex-wrap: wrap;
    -moz-column-gap: 15px;
         column-gap: 15px;
  }
  #function .function-item-images .image-container {
    border-radius: 25px;
  }
  #use-case {
    padding-block: 97px 73px;
  }
  #use-case .title-en ~ p {
    font-feature-settings: "palt";
    line-height: 2.1;
    margin-block: 1.275em;
  }
  #use-case .title-en ~ p.lead {
    margin-block: 1.55em 1.625em;
  }
  #use-case .title-en ~ p:not(.lead) {
    font-feature-settings: normal;
    letter-spacing: 0.05em;
    line-height: 2.12;
  }
  #use-case .swiper-uc-text {
    text-align: left;
  }
  #use-case .swiper-uc-text p {
    font-feature-settings: normal;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.8;
    margin-block-start: 1.35em;
  }
  #use-case .swiper-uc-images {
    margin-block-start: 35px;
  }
  #use-case .swiper-uc-images .image-container {
    aspect-ratio: 1/1;
    border-radius: 60px;
  }
  #use-case .swiper .uc-pagination {
    -moz-column-gap: 7px;
         column-gap: 7px;
    margin-block: 31px 8px;
  }
  #use-case .swiper .uc-pagination .swiper-pagination-bullet {
    padding-block: 2.5px 4.5px;
  }
  #interview {
    padding-block: 101px 100px;
  }
  #interview .title-jp {
    font-feature-settings: "palt";
    font-size: 20px;
    letter-spacing: 0.2em;
    line-height: 1.85;
    margin-block: 1.975em 1.5em;
    text-align: justify;
  }
  #interview .title-jp + p {
    letter-spacing: 0.15em;
    line-height: 1.75;
    text-align: justify;
  }
  #interview .image-container {
    aspect-ratio: 1/1;
    border-radius: 60px;
    margin-block: 40px;
  }
  #interview .interview-container {
    border-radius: 40px;
    padding: 14.5px 30px;
    transition: border-radius 0.7s, padding 0.7s;
  }
  #interview .interview-container:has(.is-active) {
    border-radius: 60px;
    padding-block: 22px 31px;
  }
  #interview .interview-container:not(:last-of-type) {
    margin-block-end: 100px;
  }
  #interview .interview-item .headline {
    font-size: 20px;
    line-height: 1.6;
    padding-block-end: 29px;
    text-align: justify;
  }
  #interview .interview-item .headline:not(:first-child) {
    margin-block-start: 51px;
  }
  #interview .interview-item .headline.btn-toggle {
    font-size: 18px;
    line-height: 1.275;
    padding-block: 11px 11px;
    padding-inline-end: 55px;
  }
  #interview .interview-item .headline.btn-toggle:before, #interview .interview-item .headline.btn-toggle:after {
    width: 30px;
  }
  #interview .interview-item .toggle-content > .headline:first-of-type {
    margin-block-start: -8px;
  }
  #interview .interview-item .figure {
    margin-block: 20px 0;
  }
  #interview .interview-content {
    flex-direction: column;
    margin-block-start: 25px;
    row-gap: 26px;
  }
  #interview .interview-content:last-of-type {
    padding-block-end: 25px;
  }
  #interview .interview-content .block {
    max-width: none;
  }
  #interview .interview-content .block.columns {
    -moz-column-count: 1;
         column-count: 1;
  }
  #interview .interview-content .block.single p {
    font-size: 15px;
    line-height: 1.465;
    margin-block: 4px 0;
  }
  #interview .interview-content .q {
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
    line-height: 1.8;
    margin-block-end: 20px;
  }
  #interview .interview-content .a {
    font-feature-settings: "palt";
    font-size: 15px;
    letter-spacing: 0.112em;
    line-height: 1.8;
  }
  #interview .interview-content .a + .q {
    margin-block-start: 26px;
  }
  #interview .interview-content .figure {
    margin-block: 20px;
  }
  #interview .interview-content .figure:last-child {
    margin-block-end: 0;
  }
  #project-member {
    padding-block: 100px;
  }
  #project-member .title-jp.sub {
    letter-spacing: 0.11em;
    line-height: 1.875;
    margin-block: 2.5em 2.3em;
  }
  #project-member .field {
    font-size: 26px;
  }
  #project-member .field > span {
    padding-right: 0.25em;
  }
  #project-member .member-list {
    flex-wrap: wrap;
    margin-block: 35px 0;
    row-gap: 49px;
  }
  #project-member .member-list:not(:last-of-type) {
    margin-block-end: 85px;
  }
  #project-member .member-list:has(> li:nth-child(n+4)) .member-item {
    flex-basis: calc(50% - 13px);
  }
  #project-member .member-list:has(> li:nth-child(n+4)) .member-image {
    border-radius: 30px;
  }
  #project-member .member-list:has(> li:nth-child(n+4)) .member-text {
    margin-block-start: 22px;
  }
  #project-member .member-list:has(> li:nth-child(n+4)) .member-text .position {
    margin-block-start: 13px;
  }
  #project-member .member-item {
    flex-basis: calc(50% - 13px);
  }
  #contact {
    padding-block: 101px 75px;
  }
  #contact .link-mail-address {
    margin-block-start: 34px;
  }
  #contact .link-mail-address a {
    font-size: 15px;
  }
  #contact .link-privacy-policy {
    margin-block-start: 16px;
  }
}
@media (max-width: 640px) {
  #mainvisual .exhibition-link a {
    padding-block-start: 11px;
  }
}
@media (max-width: 540px) {
  .tingle-modal {
    display: block;
    padding-top: 60px;
    top: 0px;
    width: 100%;
  }
  .tingle-modal-box {
    border-radius: 0;
    width: auto;
  }
  .tingle-modal-box__content {
    overflow-y: scroll;
  }
  .tingle-modal--noClose {
    top: 0;
  }
  .tingle-modal--noOverlayClose {
    padding-top: 0;
  }
  .tingle-modal-box__footer .tingle-btn {
    display: block;
    float: none;
    margin-bottom: 1rem;
    width: 100%;
  }
  .tingle-modal__close {
    background-color: #2c3e50;
    border: none;
    box-shadow: none;
    color: #fff;
    display: block;
    height: 60px;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
  }
  .tingle-modal__closeLabel {
    display: inline-block;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    font-size: 1.6rem;
    vertical-align: middle;
  }
  .tingle-modal__closeIcon {
    display: inline-block;
    font-size: 0;
    margin-right: 0.8rem;
    vertical-align: middle;
    width: 1.6rem;
  }
  .tingle-modal {
    padding-top: 0;
  }
  .tingle-modal__close {
    background-color: transparent;
    right: 1px !important;
    top: 60px !important;
    transform: translateY(-35px);
  }
  .tingle-modal__closeIcon {
    margin-right: 0;
  }
  .tingle-modal__closeLabel {
    display: none;
  }
  .tingle-modal-box__content {
    overflow-y: auto;
  }
}
@media (max-width: 480px) {
  .js-modal-member .member-image, #article section .member-image {
    border-radius: 25px;
  }
  .js-modal-member .member-text, #article section .member-text {
    margin-block-start: 31px;
  }
  .btn-close {
    right: 20.5px;
    top: 25px;
  }
  .js-modal-iframe .tingle-modal__close {
    right: 20.5px !important;
  }
  .js-modal-member .modal-content .inner:has(.member-list-more) {
    max-width: 360px;
  }
  .js-modal-member .member-image {
    border-radius: 30px;
    max-width: 150px;
  }
  .js-modal-member .member-text {
    margin-block-start: 45px;
  }
  .js-modal-member .member-list-more {
    gap: 18px calc(100% - 260px);
    grid-template-rows: repeat(16, auto);
  }
  .js-modal-exhibition .modal-content .inner {
    padding-inline: 0;
  }
  #mainvisual .image:after {
    background-image: url(../images/fv_curve_sp01.svg);
    background-size: 100vw 100%;
    bottom: -124px;
    height: 398px;
  }
  #mainvisual h1 img {
    max-width: 241px;
  }
  #mainvisual .exhibition-link {
    bottom: 93px;
    width: 112px;
  }
  #mainvisual .exhibition-link a {
    font-size: 11px;
  }
  #function .block {
    flex-basis: 100%;
  }
  #function .function-item-images {
    row-gap: 21px;
  }
  #function .function-item-images .image-container {
    border-radius: 45px;
  }
  #interview .interview-container {
    padding-inline: 20px;
  }
  #project-member .member-item {
    flex-basis: 100%;
  }
}
@media (max-width: 360px) {
  .title-jp.sub.s {
    font-size: 15px;
    max-width: 290px;
  }
}
@media (min-width: 769px) {
  .tingle-modal {
    padding-inline: 40px;
  }
  .inner.tight {
    max-width: 828px;
  }
  .inner:has(> .block) {
    display: flex;
    justify-content: space-between;
  }
  .btn-menu {
    display: none;
  }
  .btn-close {
    display: none;
  }
  #header .global {
    display: grid;
  }
  .tingle-modal .tingle-modal-box .modal-content .flex-pc {
    display: flex;
  }
  #mainvisual .image #ratio-target {
    display: none;
  }
  #mainvisual h1 {
    opacity: 0;
  }
  #concept-movie .title-en {
    font-size: 40px;
  }
  #concept-movie .title-en small {
    display: inline-block;
    font-size: 23px;
  }
  #interview .interview-item .headline.long {
    font-size: 26px;
    padding-block-end: 21px;
  }
  #interview .interview-content .a.column-end {
    margin-block-end: 9em;
  }
}
@media (min-width: 1440px) {
  #mainvisual .image:after {
    background-size: 100vw 100%;
  }
}
@media (hover: hover) {
  .js-modal-member .member-link a:hover, #article section .member-link a:hover {
    opacity: 0.4;
  }
  #header .global .menu > li > a:hover:after {
    transform: scaleX(1);
    visibility: visible;
  }
  .btn > *:hover {
    background-color: #402020;
    color: #fff;
    opacity: 1;
  }
  .js-modal-exhibition .official-link .link a:hover {
    text-decoration: none;
  }
  #mainvisual .exhibition-link a:hover {
    background-color: #DBD0CC;
    border-color: #402020;
    color: #402020;
    transform: scale(1.025);
  }
  #mainvisual .exhibition-link a:hover .arrow:after {
    opacity: 1;
  }
  #concept-movie .movie-item:hover .play {
    transform: scale(1.1);
  }
  #concept-movie .movie-item:hover .play svg circle {
    fill: #fff;
  }
  #concept-movie .movie-item:hover .play svg polygon {
    fill: #402020;
  }
  #concept-movie .movie-item:hover img {
    filter: brightness(1.05);
    transform: scale(1.04);
  }
  #use-case .swiper .uc-pagination .swiper-pagination-bullet:hover {
    background-color: #402020;
    color: #fff;
  }
  #interview .interview-item .headline.btn-toggle:hover {
    opacity: 0.7;
  }
  #project-member .member-image a:hover img {
    transform: scale(1.04);
  }
  #project-member .member-image a img {
    transition: transform 0.4s;
  }
  #contact .link-mail-address a:hover {
    text-decoration: none;
  }
  #contact .link-privacy-policy a:hover {
    text-decoration: none;
  }
}