@charset "UTF-8";
.text-accent {
  color: #DD0012;
}

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

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

a {
  text-decoration: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: blur(10px);
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

:root {
  --header-height: 0px;
}

/* スナップ中はクリック系も遮断 */
html.is-snapping body {
  pointer-events: none;
}

/* 慣性や端での跳ね返りも抑制 */
html.is-snapping {
  overscroll-behavior: contain;
  touch-action: none;
}

body, html {
  overscroll-behavior-y: none;
  overscroll-behavior-x: none;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.0833333333vw;
  font-weight: 400;
  color: #1B1B1C;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

@media screen and (min-width: 768px) {
  body {
    font-size: clamp(12px, 1.1111111111vw, 16px);
  }
}
body.open {
  overflow: hidden;
  height: 100vh;
}

@media screen and (min-width: 768px) {
  body.open {
    overflow-y: visible;
  }
}
body.lock {
  overflow-y: hidden;
}

body:has(.jsFilter.open) {
  overflow-y: hidden;
}

.main {
  position: relative;
  z-index: 2;
  background-color: #fff;
  border-bottom: 0.2564102564vw solid #BBBBBB;
}

@media screen and (min-width: 768px) {
  .main {
    border-bottom: 1px solid #BBBBBB;
  }
}
img {
  pointer-events: none;
}

a:link,
a:visited,
a:hover,
a:active {
  color: inherit;
}

a {
  -webkit-touch-callout: none; /* 長押しでのコールアウトを無効化 */
}

.h-100vh {
  height: 100svh;
}

.ourBusiness .h-100vh {
  height: 100vh;
}

@media screen and (min-width: 768px) {
  .ourBusiness .h-100vh {
    height: 100svh;
  }
}
.h-200vh {
  height: 200vh;
}

.w-100p {
  width: 100% !important;
}

.grecaptcha-badge {
  bottom: 10.2564102564vw !important;
  z-index: 100000;
}

@media screen and (min-width: 768px) {
  .grecaptcha-badge {
    bottom: 3.125vw !important;
  }
}
.pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
}

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

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

@media screen and (min-width: 768px) {
  .mt-8 {
    margin-top: 8px;
  }
  .mt-16 {
    margin-top: 16px;
  }
  .mt-24 {
    margin-top: 24px;
  }
  .mt-32 {
    margin-top: 32px;
  }
  .mt-40 {
    margin-top: 40px;
  }
  .mt-48 {
    margin-top: 48px;
  }
  .mt-56 {
    margin-top: 56px;
  }
  .mt-64 {
    margin-top: 64px;
  }
  .mt-72 {
    margin-top: 72px;
  }
  .mt-80 {
    margin-top: 80px;
  }
  .mt-88 {
    margin-top: 88px;
  }
  .mt-96 {
    margin-top: 96px;
  }
  .mt-100 {
    margin-top: 100px;
  }
  .mt-120 {
    margin-top: 120px;
  }
  .mt-140 {
    margin-top: 140px;
  }
  .mt-160 {
    margin-top: 160px;
  }
}
@media screen and (max-width: 768px) {
  .mt-sp-8 {
    margin-top: 8px;
  }
  .mt-sp-16 {
    margin-top: 16px;
  }
  .mt-sp-24 {
    margin-top: 24px;
  }
  .mt-sp-32 {
    margin-top: 32px;
  }
  .mt-sp-40 {
    margin-top: 40px;
  }
  .mt-sp-48 {
    margin-top: 48px;
  }
  .mt-sp-56 {
    margin-top: 56px;
  }
  .mt-sp-64 {
    margin-top: 64px;
  }
  .mt-sp-72 {
    margin-top: 72px;
  }
  .mt-sp-80 {
    margin-top: 80px;
  }
  .mt-sp-88 {
    margin-top: 88px;
  }
  .mt-sp-96 {
    margin-top: 96px;
  }
  .mt-sp-100 {
    margin-top: 100px;
  }
  .mt-sp-120 {
    margin-top: 120px;
  }
  .mt-sp-140 {
    margin-top: 140px;
  }
  .mt-sp-160 {
    margin-top: 160px;
  }
}
.inner {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .inner {
    max-width: 1160px;
    padding-right: 25px;
    padding-left: 25px;
  }
}

.inner--sm {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .inner--sm {
    max-width: 1160px;
    padding-right: 25px;
    padding-left: 25px;
  }
}

.inner--wide {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .inner--wide {
    max-width: 1160px;
    padding-right: 25px;
    padding-left: 25px;
  }
}

.header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}

.headerNoClick.active {
  pointer-events: none;
}

.header__inner {
  padding: 4.6153846154vw 4.1025641026vw;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .header__inner {
    padding: 1.0416666667vw 1.3541666667vw;
  }
}
.bg-headerWhite {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.5);
  transition: opacity 0.3s ease-in-out;
}

.bg-blur {
  position: absolute;
  z-index: -2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  transition: opacity 0.3s ease-in-out;
}

.bg-headerWhite, .bg-blur {
  display: none;
}

.white-belt--pc {
  display: none;
}

@media screen and (min-width: 768px) {
  .white-belt--pc {
    display: block;
  }
}
.white-belt--sp {
  display: block;
}

@media screen and (min-width: 768px) {
  .white-belt--sp {
    display: none;
  }
}
.white-belt--pc.white-belt--sp {
  display: block;
}

.header__logo .header-logo__container {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
}

.header-logo__s {
  width: 6.4102564103vw;
  height: auto;
  aspect-ratio: 1/1;
}

@media screen and (min-width: 768px) {
  .header-logo__s {
    width: 2.0833333333vw;
  }
}
.header-logo__img {
  width: 22.8205128205vw;
  height: auto;
  aspect-ratio: 140/40;
  margin-left: 1.5384615385vw;
}

@media screen and (min-width: 768px) {
  .header-logo__img {
    width: 7.2916666667vw;
    margin-left: 0.46875vw;
  }
}
.hamburger__btn {
  position: fixed;
  top: 6.4102564103vw;
  right: 4.1025641026vw;
  z-index: 100;
  width: 7.6923076923vw;
  height: auto;
  aspect-ratio: 30/11;
}

@media screen and (min-width: 768px) {
  .hamburger__btn {
    width: 1.5625vw;
    top: 1.8229166667vw;
    right: 1.3541666667vw;
  }
}
.hamburger-btn__bars {
  position: relative;
  width: 100%;
  height: 100%;
}

.hamburger__bar {
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 0.2564102564vw;
  background-color: #1B1B1C;
}

@media screen and (min-width: 768px) {
  .hamburger__bar {
    height: max(1px, 0.0520833333vw);
  }
}
.hamburger__bar:nth-child(1) {
  top: 0;
}

.hamburger__bar:nth-child(2) {
  top: 1.2820512821vw;
}

@media screen and (min-width: 768px) {
  .hamburger__bar:nth-child(2) {
    top: max(5px, 0.2604166667vw);
  }
}
.hamburger__bar:nth-child(3) {
  top: 2.5641025641vw;
}

@media screen and (min-width: 768px) {
  .hamburger__bar:nth-child(3) {
    top: max(10px, 0.5208333333vw);
  }
}
.jsHamburgerBtn.open .hamburger__bar:nth-child(1) {
  transform: translate(-50%, -50%) rotate(-30deg);
  top: 50%;
  left: 50%;
}
.jsHamburgerBtn.open .hamburger__bar:nth-child(2) {
  opacity: 0;
  visibility: hidden;
}
.jsHamburgerBtn.open .hamburger__bar:nth-child(3) {
  transform: translate(-50%, -50%) rotate(30deg);
  top: 50%;
  left: 50%;
}

.whiteBgSquareSP {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  width: auto;
  height: var(--header-height);
  aspect-ratio: 1/1;
  background-color: rgba(255, 255, 255, 0.35);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
}

.whiteBgSquarePC {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  width: auto;
  height: var(--header-height);
  aspect-ratio: 1/1;
  background-color: rgba(255, 255, 255, 0.35);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
}

.whiteBgSquarePC.whiteBgSquareSP {
  display: block;
}

@media screen and (min-width: 768px) {
  .whiteBgSquareSP {
    display: none;
  }
  .whiteBgSquarePC {
    display: block;
  }
  .whiteBgSquarePC.whiteBgSquareSP {
    display: block;
  }
}
.hamburger-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 99;
  background-color: #fff;
  padding-top: 17.9487179487vw;
  padding-bottom: 61.5384615385vw;
  overflow-y: scroll;
  transform: translateY(-100%);
  --btnTime: .3s;
  transition: transform var(--btnTime) ease 0s;
}

@media screen and (min-width: 768px) {
  .hamburger-nav {
    padding-top: 3.9583333333vw;
    padding-bottom: 2.65625vw;
    height: auto;
    overflow-y: visible;
  }
}
.hamburger-nav.open {
  transform: translateY(0);
  transition: transform var(--btnTime) ease 0s;
}

.hamburger-nav__inner {
  width: 100%;
  margin-inline: auto;
  max-width: 86.6666666667vw;
}

@media screen and (min-width: 768px) {
  .hamburger-nav__inner {
    padding-left: 2.0833333333vw;
    padding-right: 2.0833333333vw;
    max-width: max(74.21875vw, 1425px);
  }
}
@media screen and (min-width: 768px) {
  .hamburger-nav__wrap {
    display: flex;
    justify-content: space-between;
  }
}
.hamburger-nav__list {
  display: flex;
  justify-content: space-between;
}

.hamburger-nav__list + .hamburger-nav__list {
  margin-top: 14.1025641026vw;
}

@media screen and (min-width: 768px) {
  .hamburger-nav__list {
    display: block;
  }
  .hamburger-nav__list + .hamburger-nav__list {
    padding-left: 0.625vw;
    margin-top: 0;
  }
}
.hamburger-nav__item + .hamburger-nav__item {
  min-width: 45.3846153846vw;
}

@media screen and (min-width: 768px) {
  .hamburger-nav__item + .hamburger-nav__item {
    margin-top: 3.3333333333vw;
    min-width: initial;
  }
}
.hamburger-nav-item__link span {
  display: block;
}

.hamburger-nav-item__text--en {
  font-family: "Roboto", sans-serif;
  font-size: 6.6666666667vw;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .hamburger-nav-item__text--en {
    font-size: max(18px, 1.3541666667vw);
  }
}
.hamburger-nav-item__text--jp {
  font-size: 3.0769230769vw;
  font-weight: 500;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  .hamburger-nav-item__text--jp {
    font-size: max(9px, 0.625vw);
  }
}
.hamburger-nav__list--level02 {
  margin-top: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .hamburger-nav__list--level02 {
    margin-top: 1.3020833333vw;
  }
}
.hamburger-nav__item--level02 + .hamburger-nav__item--level02 {
  margin-top: 3.8461538462vw;
}

@media screen and (min-width: 768px) {
  .hamburger-nav__item--level02 + .hamburger-nav__item--level02 {
    margin-top: 1.0416666667vw;
  }
}
.hamburger-nav-item__link--level02 {
  font-size: 4.6153846154vw;
  font-weight: 500;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  .hamburger-nav-item__link--level02 {
    font-size: max(10px, 0.9375vw);
  }
}
.hamburger-nav-item__text--level02 {
  position: relative;
  padding-right: 6.1538461538vw;
}

@media screen and (min-width: 768px) {
  .hamburger-nav-item__text--level02 {
    padding-right: max(13px, 1.25vw);
  }
}
.hamburger-nav-item__text--level02::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 4.6153846154vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/arrow--nav.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (min-width: 768px) {
  .hamburger-nav-item__text--level02::after {
    width: max(10px, 0.9375vw);
  }
}
.hamburger-nav__box {
  display: flex;
  border-top: 0.2564102564vw solid #888888;
  margin-top: 9.4871794872vw;
  padding-top: 10.2564102564vw;
}

@media screen and (min-width: 768px) {
  .hamburger-nav__box {
    flex-direction: column;
    padding-left: 3.6458333333vw;
    padding-top: 0;
    border-left: 0.0520833333vw solid #888888;
    border-top: none;
    margin-top: 0;
  }
}
.hamburger-nav-sns__list {
  display: flex;
  justify-content: flex-end;
  gap: 5.1282051282vw;
  margin-left: auto;
}

@media screen and (min-width: 768px) {
  .hamburger-nav-sns__list {
    margin-top: auto;
    gap: 1.0416666667vw;
    margin-left: 0;
  }
}
.hamburger-nav-sns__link {
  display: inline-block;
  width: 6.4102564103vw;
  height: auto;
  aspect-ratio: 1/1;
}

@media screen and (min-width: 768px) {
  .hamburger-nav-sns__link {
    width: max(14px, 1.3020833333vw);
  }
}
/* ラッパーの中だけに適用 */
.gtranslate_wrapper {
  display: inline-block; /* まわりの余白を詰めやすく */
  position: relative;
  margin-left: 3.5897435897vw;
}

@media screen and (min-width: 768px) {
  .gtranslate_wrapper {
    padding-left: 0;
  }
}
.gtranslate_wrapper::before {
  content: "";
  position: absolute;
  bottom: 0.7692307692vw;
  left: -3.8461538462vw;
  width: 3.3333333333vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/icon-language.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .gtranslate_wrapper::before {
    width: max(12px, 0.6770833333vw);
    left: min(-15px, -0.78125vw);
    bottom: 3px;
  }
}

/* 基本リセット＋シンプルな見た目 */
.gtranslate_wrapper select {
  /* 軽いリセット */
  font: inherit;
  color: inherit;
  background-color: #fff;
  border: none;
  border-radius: 0;
  padding: 0.35em 1em 0em 0em; /* 右は矢印ぶん余裕 */
  line-height: 1.2;
  margin: 0;
  /* ブラウザ既定の装飾をオフ（矢印は自分で描く） */
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  /* テキストにフィットさせる肝 */
  white-space: nowrap; /* 折り返さない */
  display: inline-block; /* shrink-to-fit させる */
  width: auto; /* 内容幅に */
  inline-size: auto; /* 論理プロパティ */
  min-width: 0; /* Safari対策 */
  width: -moz-fit-content; /* Firefox 保険 */
  width: fit-content; /* 近年ブラウザでOK */
  max-width: 100%; /* 親幅を超えない保険 */
  /* 簡易のカスタム矢印（任意） */
  background-image: url("../images/select-arrow.webp");
  background-repeat: no-repeat;
  background-position: right 0em center;
  background-size: 0.6em;
  text-align: center;
  border-bottom: 1px solid #1B1B1C;
  font-family: "Roboto", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 500;
  letter-spacing: 0.005em;
}
@media screen and (min-width: 768px) {
  .gtranslate_wrapper select {
    font-size: max(12px, 0.7291666667vw);
  }
}

/* optionもフォントだけ揃えておくと統一感が出る */
.gtranslate_wrapper option {
  font: inherit;
}

/* CSSで非表示にする */
#gtranslate_selector option[value=""] {
  display: none;
}

.mv {
  width: 100%;
  height: 100vh;
  background-color: #1B1B1C;
}

.mv video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  pointer-events: none;
}

.concept-map-box__list {
  --sTime: .5s;
  --sTimeRate: 2;
  --sChousei: .3s;
  transition: transform calc(var(--sTime)) ease 0s;
}

.concept-map-box__item .concept-map-box-item__img {
  opacity: 0;
  transform: translateY(8%);
  transition: transform calc(var(--sTime) * var(--sTimeRate)) ease 0s, opacity calc(var(--sTime) * var(--sTimeRate)) ease 0s;
}

.concept-map-box__item.is-active .concept-map-box-item__img {
  opacity: 1;
  transform: translateY(0%);
  transition: transform calc(var(--sTime)) ease calc(var(--sTime) + var(--sChousei)), opacity calc(var(--sTime)) ease calc(var(--sTime) + var(--sChousei));
}

@media screen and (min-width: 768px) {
  .concept-map-box__list:has(#s01Target.is-active),
  .concept-map-box__list:has(#s02Target.is-active) {
    transform: initial;
    transition: none;
  }
  .concept-map-box__item .concept-map-box-item__img {
    opacity: 1;
    transform: translateY(0%);
  }
  .concept-map-box__item.is-active .concept-map-box-item__img {
    opacity: 1;
    transform: translateY(0%);
  }
}
@media screen and (min-width: 768px) {
  .concept-map-box__item {
    opacity: 0;
    visibility: hidden;
    transition: opacity calc(var(--sTime) / var(--sTimeRate)) ease 0s, visibility calc(var(--sTime) / var(--sTimeRate)) ease 0s;
  }
  .concept-map-box__item.is-active {
    opacity: 1;
    visibility: visible;
    transition: opacity var(--sTime) ease 0s;
  }
}
.swipe-section-horizontal01 {
  display: flex;
  flex-wrap: nowrap;
  width: 900%;
  width: 1020.9375vw;
}

.panel-horizontal01 {
  flex-grow: 1;
  flex-shrink: 0;
}

.swipe-section-horizontal02 {
  display: flex;
  flex-wrap: nowrap;
  width: 900%;
  width: 396.71875vw;
}

.panel-horizontal02 {
  flex-grow: 1;
  flex-shrink: 0;
}

.floating {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  transform: translateY(0); /* 初期表示 */
  transition: transform 0.5s ease-in-out, opacity 0.3s ease-in-out;
  --btn-height: 0;
}

.floating--hidden {
  transform: translateY(calc(100% - var(--btn-height)));
  transition: transform 0.5s ease-in-out, opacity 0.3s ease-in-out;
}

.floating-btn {
  display: flex;
  align-items: center;
  background-color: #EBEBE7;
  margin-left: auto;
  margin-right: 11.2820512821vw;
  padding-top: 1.2820512821vw;
  padding-bottom: 1.2820512821vw;
  padding-left: 6.6666666667vw;
  padding-right: 4.6153846154vw;
  gap: 2.0512820513vw;
  color: #1b1b1c !important;
}

@media screen and (min-width: 768px) {
  .floating-btn {
    margin-right: 3.5416666667vw;
    padding-top: 0.2604166667vw;
    padding-bottom: 0.2604166667vw;
    padding-left: 1.3541666667vw;
    padding-right: 0.9375vw;
    gap: 0.4166666667vw;
  }
}
.floating-btn__text {
  font-size: 3.5897435897vw;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .floating-btn__text {
    font-size: max(0.7291666667vw, 11px);
  }
}
.floating-btn__arrow {
  width: 3.3333333333vw;
  height: auto;
  aspect-ratio: 13/9;
  transition: transform 0.3s ease;
}

@media screen and (min-width: 768px) {
  .floating-btn__arrow {
    width: 0.6770833333vw;
  }
}
.floating--hidden .floating-btn__arrow {
  transform: rotate(180deg);
}

.floating-container {
  background-color: #EBEBE7;
  padding-top: 5.1282051282vw;
  padding-bottom: 6.6666666667vw;
  padding-left: 6.6666666667vw;
  padding-right: 6.6666666667vw;
}

@media screen and (min-width: 768px) {
  .floating-container {
    padding: 1.3020833333vw;
  }
}
.floating__title {
  font-size: 6.1538461538vw;
  font-weight: 500;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .floating__title {
    font-size: 1.6666666667vw;
    line-height: 1.40625;
    flex-shrink: 0;
  }
}
.floating-item__wrap {
  margin-top: 1.5384615385vw;
  display: grid;
  -moz-column-gap: 4.1025641026vw;
       column-gap: 4.1025641026vw;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 4.8717948718vw max-content 1fr auto;
  grid-template-areas: "a b" "a c" "d d" "e e";
}
.floating-item__wrap .floating__img {
  grid-area: a;
}
.floating-item__wrap .floating-item__category {
  grid-area: b;
}
.floating-item__wrap .floating-item__title {
  grid-area: c;
}
.floating-item__wrap .floating-item__address {
  grid-area: d;
}
.floating-item__wrap .floating-item__link {
  grid-area: e;
}

@media screen and (min-width: 768px) {
  .floating-item__wrap {
    display: flex;
    -moz-column-gap: 0;
         column-gap: 0;
    margin-top: 0;
  }
}
.floating__img {
  aspect-ratio: 7/4;
  margin-left: 0.5128205128vw;
}

@media screen and (min-width: 768px) {
  .floating__img {
    display: block;
    width: 13.8541666667vw;
    height: auto;
    aspect-ratio: 266/150;
    margin-right: 1.3541666667vw;
    margin-left: 0;
    align-self: flex-start;
  }
}
.floating__item {
  display: contents;
}

@media screen and (min-width: 768px) {
  .floating__item {
    align-self: flex-start;
    display: flex;
    flex-direction: column;
    min-height: 7.8125vw;
    max-width: 26.0416666667vw;
  }
}
.floating-item__category {
  width: -moz-fit-content;
  width: fit-content;
  height: 4.8717948718vw;
  display: inline-block;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 0.5128205128vw 2.0512820513vw 0.7692307692vw;
  background-color: #fff;
  margin-right: 2.5641025641vw;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .floating-item__category {
    display: block;
    font-size: max(0.7291666667vw, 9px);
    padding: 0.3125vw 0.4166666667vw;
    margin-right: 0;
    height: initial;
  }
}
.floating-item__title {
  display: inline-block;
  font-size: 4.1025641026vw;
  font-weight: 700;
  line-height: 1.4166666667;
  letter-spacing: 0.05em;
  vertical-align: middle;
  margin-top: 1.5384615385vw;
}

@media screen and (min-width: 768px) {
  .floating-item__title {
    display: block;
    font-size: 1.6666666667vw;
    line-height: 1.40625;
    letter-spacing: 0.01em;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 0;
  }
}
.floating-item__address {
  display: block;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.2857142857;
  letter-spacing: 0.05em;
  margin-top: 1.5384615385vw;
}

@media screen and (min-width: 768px) {
  .floating-item__address {
    font-size: max(0.8333333333vw, 10px);
    line-height: 1.4;
    letter-spacing: 0.01em;
    margin-top: 0.15625vw;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
@media screen and (min-width: 1024px) {
  .floating-item__address {
    -webkit-line-clamp: 2;
  }
}
.floating-item__link {
  display: inline-block;
  background-color: #1B1B1C;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.01em;
  border: 1px solid #1B1B1C;
  transition: opacity 0.3s ease-in-out 0s;
  margin-top: 2.0512820513vw;
  padding: 1.0256410256vw 3.0769230769vw 1.2820512821vw;
  margin-left: 0.5128205128vw;
  width: -moz-fit-content;
  width: fit-content;
}

@media screen and (min-width: 768px) {
  .floating-item__link {
    padding: 0.2604166667vw 0.625vw;
    font-size: max(0.8333333333vw, 10px);
    margin-top: auto;
    margin-left: 0;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.floating-item__link:hover {
  opacity: 0.8;
}

.floating-item__link span {
  color: #fff;
  padding-right: 5.1282051282vw;
  position: relative;
  transition: color 0.3s ease-in-out 0s;
}

@media screen and (min-width: 768px) {
  .floating-item__link span {
    padding-right: 1.25vw;
  }
}
.floating-item__link span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 3.5897435897vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/floating-item-link__arrow--white.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: background-image 0.3s ease-in-out 0s;
}

@media screen and (min-width: 768px) {
  .floating-item__link span::after {
    width: 0.9375vw;
  }
}
@media screen and (min-width: 768px) {
  .floating-container__wrapper {
    max-height: 7.8125vw;
    display: flex;
    gap: 3.3854166667vw;
    align-items: center;
  }
}
.splide__floating {
  display: flex;
  flex-direction: column-reverse;
}

@media screen and (min-width: 768px) {
  .splide__floating {
    gap: 1.8229166667vw;
    flex-direction: row;
  }
}
.floating-arrows__container {
  display: flex;
  justify-content: space-between;
  margin-top: 5.1282051282vw;
}
.floating-arrows__container .pagination {
  font-size: 5.1282051282vw;
  font-weight: 500;
  letter-spacing: -0.15em;
  align-self: flex-end;
}

@media screen and (min-width: 768px) {
  .floating-arrows__container {
    flex-direction: column;
    align-items: center;
    margin-top: 0;
  }
  .floating-arrows__container .pagination {
    margin-top: auto;
    font-size: max(10px, 1.0416666667vw);
    align-self: center;
  }
}
.splide__arrows--ltr:has(.floating-arrow) {
  display: flex;
  gap: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .splide__arrows--ltr:has(.floating-arrow) {
    flex-direction: column-reverse;
    align-self: flex-start;
    gap: 0.5208333333vw;
  }
}
.floating-arrow {
  position: inherit;
  transform: translateY(0);
  background-color: transparent;
  width: 12.8205128205vw;
  height: auto;
  aspect-ratio: 1/1;
}

@media screen and (min-width: 768px) {
  .floating-arrow {
    width: max(20px, 2.0833333333vw);
  }
}
.float-btn__container {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
}

@media screen and (min-width: 768px) {
  .float-btn__container {
    left: initial;
    right: 0;
    bottom: 4.1666666667vw;
  }
}
.float-btn {
  display: flex;
  align-items: center;
  gap: 3.5897435897vw;
  background-color: #1B1B1C;
  color: #fff !important;
  min-width: 74.358974359vw;
  max-width: 82.0512820513vw;
  padding-top: 0.7692307692vw;
  padding-bottom: 2.0512820513vw;
  padding-left: 6.6666666667vw;
  padding-right: 9.7435897436vw;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .float-btn {
    min-width: max(264px, 16.5104166667vw);
    padding-top: max(8px, 0.5208333333vw);
    padding-bottom: max(12px, 0.78125vw);
    padding-left: max(23px, 1.4583333333vw);
    padding-right: max(10px, 0.625vw);
  }
}
.float-btn__texts {
  flex-shrink: 0;
}

.float-btn__arrow {
  width: 4.6153846154vw;
  height: auto;
  aspect-ratio: 1/1;
}

@media screen and (min-width: 768px) {
  .float-btn__arrow {
    position: absolute;
    z-index: -1;
    width: max(15px, 0.9375vw);
    top: 100%;
    right: max(10px, 0.625vw);
    transform: translateY(calc(-100% - max(9px, 0.5729166667vw)));
  }
}
.float-btn__text--jp {
  font-size: 6.1538461538vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4166666667;
}

@media screen and (min-width: 768px) {
  .float-btn__text--jp {
    font-size: max(26px, 1.6666666667vw);
    line-height: 1.40625;
  }
}
.float-btn__text--en {
  font-family: "Roboto", sans-serif;
  font-size: 3.0769230769vw;
  font-weight: 500;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .float-btn__text--en {
    font-size: max(10px, 0.625vw);
    line-height: 1.4166666667;
  }
}
.jsWorksImage {
  opacity: 0;
  transition: opacity 0.3s ease-in-out 0s;
}

.jsWorksImage.active {
  opacity: 1;
  transition: opacity 0.3s ease-in-out 0s;
}

.jsHistoryContainer {
  display: grid;
  grid-template-rows: 1fr;
}

.jsHistoryItemLevel02.active .jsHistoryContainer {
  grid-template-rows: 1fr !important;
  transition: grid-template-rows 0.5s ease-in-out 0s;
}

.p-business-history-item__outer {
  overflow: hidden;
}

.p-business-history__map {
  opacity: 0;
  --time: .2s;
  transition-property: opacity;
  transition-timing-function: ease;
  transition-duration: var(--time);
}

.p-business-history__map.active {
  opacity: 1;
}

.jsHistoryItem {
  position: relative;
}

.jsHistoryTrigger {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 300px;
  z-index: -1;
}

.footer {
  background-color: #fff;
  padding-top: 12.5641025641vw;
  padding-bottom: 2.5641025641vw;
}

@media screen and (min-width: 768px) {
  .footer {
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  .footer-sticky {
    position: sticky;
    z-index: 1;
    bottom: 0;
  }
}
.footer__wrap {
  display: contents;
}

@media screen and (min-width: 768px) {
  .footer__wrap {
    display: flex;
    align-items: flex-start;
    padding: 1.875vw 5.46875vw;
  }
}
.footer__logo {
  display: inline-block;
  width: 62.5641025641vw;
  height: auto;
}

@media screen and (min-width: 768px) {
  .footer__logo {
    width: 12.7083333333vw;
    aspect-ratio: 244/72;
  }
}
.footer-info__container01 {
  font-family: "Roboto", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  align-self: stretch;
  padding-left: 5.8974358974vw;
  padding-right: 5.8974358974vw;
}

@media screen and (min-width: 768px) {
  .footer-info__container01 {
    font-size: max(10px, 0.625vw);
    display: flex;
    flex-direction: column;
    padding: 0;
  }
}
.footer__privacy {
  margin-top: 14.8717948718vw;
}

@media screen and (min-width: 768px) {
  .footer__privacy {
    margin-top: auto;
  }
}
.footer-info__container {
  display: contents;
}

@media screen and (min-width: 768px) {
  .footer-info__container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 7.2916666667vw;
    margin-left: auto;
    margin-top: 0;
  }
}
.footer__info {
  padding-left: 5.8974358974vw;
  padding-right: 5.8974358974vw;
}

@media screen and (min-width: 768px) {
  .footer__info {
    padding: 0;
  }
}
.footer__info + .footer__info {
  margin-top: 10.2564102564vw;
}

@media screen and (min-width: 768px) {
  .footer__info + .footer__info {
    margin-top: 0;
  }
}
.footer__address {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .footer__address {
    margin-top: 0;
  }
}
.footer__title {
  font-family: "Roboto", sans-serif;
  font-size: 5.641025641vw;
  font-weight: 500;
  line-height: 1.6363636364;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .footer__title {
    font-size: 1.1458333333vw;
  }
}
.footer__text {
  font-size: 3.5897435897vw;
  letter-spacing: 0.01em;
  line-height: 1.7142857143;
  margin-top: -1.0256410256vw;
}

@media screen and (min-width: 768px) {
  .footer__text {
    font-size: max(0.8333333333vw, 12px);
    line-height: 1.875;
    margin-top: 1.25vw;
  }
}
.footer-text__link {
  font-size: 4.6153846154vw;
  font-weight: 500;
  letter-spacing: 0.005em;
  line-height: 1.9444444444;
  padding-right: 6.1538461538vw;
  position: relative;
}

@media screen and (min-width: 768px) {
  .footer-text__link {
    font-size: max(12px, 0.9375vw);
    padding-right: 1.25vw;
  }
}
.footer-text__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 4.6153846154vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/footer-arrow.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media screen and (min-width: 768px) {
  .footer-text__link::after {
    width: max(12px, 0.9375vw);
  }
}
.footer__sns {
  display: none;
}

@media screen and (min-width: 768px) {
  .footer__sns {
    display: block;
  }
}
.footer-sns__list {
  display: flex;
  align-items: center;
  gap: 7.6923076923vw;
  margin-top: 2.3076923077vw;
}

@media screen and (min-width: 768px) {
  .footer-sns__list {
    gap: 1.5625vw;
    margin-top: 1.9270833333vw;
  }
}
.footer-sns__item {
  width: 10.2564102564vw;
  height: auto;
  aspect-ratio: 1/1;
}

@media screen and (min-width: 768px) {
  .footer-sns__item {
    width: 2.0833333333vw;
  }
}
.footer__supporting {
  display: none;
}

@media screen and (min-width: 768px) {
  .footer__supporting {
    display: block;
  }
}
.footer-supporting-img__wrap {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 5.3846153846vw;
  margin-top: 2.3076923077vw;
}

@media screen and (min-width: 768px) {
  .footer-supporting-img__wrap {
    margin-top: 1.6666666667vw;
    margin-left: 0.2083333333vw;
    gap: 1.09375vw;
  }
}
.footer-supporting__img {
  display: block;
  height: auto;
}

.footer-supporting__img01 {
  width: 11.7948717949vw;
  aspect-ratio: 46/59;
}

@media screen and (min-width: 768px) {
  .footer-supporting__img01 {
    width: 2.3958333333vw;
  }
}
.footer-supporting__img02 {
  width: 16.4102564103vw;
  aspect-ratio: 64/59;
}

@media screen and (min-width: 768px) {
  .footer-supporting__img02 {
    width: 3.3333333333vw;
  }
}
.copyright {
  font-family: "Roboto", sans-serif;
  font-size: 3.0769230769vw;
  letter-spacing: 0.01em;
  padding: 5.8974358974vw 6.6666666667vw;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  text-align: center;
}

@media screen and (min-width: 768px) {
  .copyright {
    margin: 0;
    width: initial;
    margin-top: 0;
    font-size: max(0.7291666667vw, 10px);
    padding: 0 5.46875vw;
    padding-top: 0.5729166667vw;
    padding-bottom: 0.6770833333vw;
  }
}
.footer__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 0.2564102564vw solid #BBBBBB;
  width: 100vw;
  margin-top: 9.7435897436vw;
}

@media screen and (min-width: 768px) {
  .footer__list {
    width: initial;
    margin: 0;
    grid-template-columns: repeat(6, 1fr);
    border-top: 0.0520833333vw solid #BBBBBB;
  }
}
.footer__item {
  height: 19.2307692308vw;
  display: grid;
  place-content: center;
  border-bottom: 0.2564102564vw solid #BBBBBB;
  border-right: 0.2564102564vw solid #BBBBBB;
}
.footer__item.sp {
  border-bottom: none;
  border-right: none;
}

.footer__item:nth-child(even) {
  border-right: none;
}

@media screen and (min-width: 768px) {
  .footer__item {
    height: 5.2604166667vw;
    border-bottom: 0.0520833333vw solid #BBBBBB;
    border-right: 0.0520833333vw solid #BBBBBB;
  }
}
@media screen and (min-width: 768px) {
  .footer__item:nth-child(even) {
    border-right: 0.0520833333vw solid #BBBBBB;
  }
  .footer__item:last-child {
    border-right: none;
  }
}
.footer-item__img img {
  -o-object-fit: contain;
     object-fit: contain;
}

.footer-business01 {
  width: 36.9230769231vw;
  height: auto;
  aspect-ratio: 186/46;
}

@media screen and (min-width: 768px) {
  .footer-business01 {
    width: 9.6875vw;
  }
}
.footer-business02 {
  width: 23.8461538462vw;
  height: auto;
  aspect-ratio: 120/51;
}

@media screen and (min-width: 768px) {
  .footer-business02 {
    width: 6.25vw;
  }
}
.footer-business03 {
  width: 34.8717948718vw;
  height: auto;
  aspect-ratio: 176/42;
}

@media screen and (min-width: 768px) {
  .footer-business03 {
    width: 9.1666666667vw;
  }
}
.footer-business04 {
  width: 35.8974358974vw;
  height: auto;
  aspect-ratio: 183/40;
}

@media screen and (min-width: 768px) {
  .footer-business04 {
    width: 9.53125vw;
  }
}
.footer-business05 {
  width: 28.4615384615vw;
  height: auto;
  aspect-ratio: 144/54;
}

@media screen and (min-width: 768px) {
  .footer-business05 {
    width: 7.5vw;
  }
}
.footer__grid--sp {
  display: grid;
  grid-template-areas: "a" "b" "c" "d" "e" "f" "g";
}

@media screen and (min-width: 768px) {
  .footer__grid--sp {
    display: contents;
  }
}
.footer__logo {
  grid-area: a;
}

.footer__address {
  grid-area: b;
}

.footer__contact {
  grid-area: c;
}

.footer__sns {
  grid-area: d;
}

.footer__supporting {
  grid-area: f;
}

.copyright {
  grid-area: g;
}

.footer__list {
  grid-area: e;
}

.p-btn__link {
  display: inline-block;
  background-color: #1B1B1C;
  color: #fff !important;
  width: 100%;
  max-width: 100%;
  padding: 2.5641025641vw 6.1538461538vw;
}

@media screen and (min-width: 768px) {
  .p-btn__link {
    width: initial;
    padding: clamp(16px, 1.6181229773vw, 20px) clamp(36px, 3.640776699vw, 45px);
    border: 2px solid #1B1B1C;
    --time: .15s;
    --timeRate: 2;
    transition-property: background-color, color;
    transition-timing-function: ease;
    transition-duration: calc(var(--time) * var(--timeRate));
  }
  .p-btn__link:hover {
    background-color: #484849;
    font-weight: 500;
    transition-duration: var(--time);
  }
}
@media screen and (min-width: 1920px) {
  .p-btn__link {
    padding: 1.0416666667vw 2.34375vw;
    border: 0.1041666667vw solid #1B1B1C;
  }
}
.p-btn-link__text {
  padding-left: 10vw;
  position: relative;
  z-index: 1;
  font-size: 3.8461538462vw;
  font-weight: 500;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .p-btn-link__text {
    padding-left: clamp(16px, 2.0226537217vw, 25px);
    font-size: clamp(12px, 1.2944983819vw, 16px);
  }
}
@media screen and (min-width: 1920px) {
  .p-btn-link__text {
    padding-left: 1.3020833333vw;
    font-size: 0.8333333333vw;
  }
}
.p-btn-link__text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 3.8461538462vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/icon--link.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (min-width: 768px) {
  .p-btn-link__text::before {
    width: clamp(12px, 1.213592233vw, 15px);
  }
}
@media screen and (min-width: 1920px) {
  .p-btn-link__text::before {
    width: 0.78125vw;
  }
}
.p-btn02__link {
  width: 100%;
  max-width: 100%;
  display: inline-block;
  padding-top: 1.7948717949vw;
  padding-bottom: 2.0512820513vw;
  padding-left: 5.1282051282vw;
  padding-right: 5.1282051282vw;
  border: 0.5128205128vw solid #1B1B1C;
  background-color: #1B1B1C;
  color: #fff !important;
}

@media screen and (min-width: 768px) {
  .p-btn02__link {
    width: initial;
    padding-top: clamp(4px, 0.5663430421vw, 7px);
    padding-bottom: clamp(5px, 0.6472491909vw, 8px);
    padding-left: clamp(16px, 1.6181229773vw, 20px);
    padding-right: clamp(16px, 1.6181229773vw, 20px);
    border: 2px solid #1B1B1C;
    --time: .15s;
    --timeRate: 2;
    transition-property: background-color, color;
    transition-timing-function: ease;
    transition-duration: calc(var(--time) * var(--timeRate));
  }
}
@media screen and (min-width: 1920px) {
  .p-btn02__link {
    padding-top: 0.3645833333vw;
    padding-bottom: 0.4166666667vw;
    padding-left: 1.0416666667vw;
    padding-right: 1.0416666667vw;
    border: 0.1041666667vw solid #1B1B1C;
  }
}
.p-btn02__link:hover {
  background-color: #484849;
  transition-duration: var(--time);
}

.p-btn02-link__text {
  display: block;
  position: relative;
  z-index: 1;
  padding-right: 6.1538461538vw;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .p-btn02-link__text {
    padding-right: clamp(15px, 1.9417475728vw, 24px);
  }
}
@media screen and (min-width: 1920px) {
  .p-btn02-link__text {
    padding-right: 1.25vw;
  }
}
.p-btn02-link__text::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 4.6153846154vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/btn-arrow.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  --time: .15s;
  --timeRate: 2;
  transition-property: background-image;
  transition-timing-function: ease;
  transition-duration: calc(var(--time) * var(--timeRate));
}

.p-btn02__link:hover .p-btn02-link__text::after {
  transition-duration: var(--time);
}

@media screen and (min-width: 768px) {
  .p-btn02-link__text::after {
    width: clamp(14px, 1.4563106796vw, 18px);
  }
}
@media screen and (min-width: 1920px) {
  .p-btn02-link__text::after {
    width: 0.9375vw;
  }
}
.p-btn03__link {
  width: 78%;
  max-width: 100%;
  display: inline-block;
  padding-top: 4.8717948718vw;
  padding-bottom: 4.8717948718vw;
  padding-left: 10vw;
  padding-right: 10vw;
  border: 0.5128205128vw solid #1B1B1C;
  background-color: #1B1B1C;
  color: #fff !important;
}

@media screen and (min-width: 768px) {
  .p-btn03__link {
    width: initial;
    padding-top: clamp(11px, 1.5372168285vw, 19px);
    padding-bottom: clamp(11px, 1.5372168285vw, 19px);
    padding-left: clamp(30px, 3.1553398058vw, 39px);
    padding-right: clamp(30px, 3.1553398058vw, 39px);
    border: 2px solid #1B1B1C;
    --time: .15s;
    --timeRate: 2;
    transition-property: background-color, color;
    transition-timing-function: ease;
    transition-duration: calc(var(--time) * var(--timeRate));
  }
}
@media screen and (min-width: 1920px) {
  .p-btn03__link {
    padding-top: 0.9895833333vw;
    padding-bottom: 0.9895833333vw;
    padding-left: 2.03125vw;
    padding-right: 2.03125vw;
    border: 0.1041666667vw solid #1B1B1C;
  }
}
.p-btn03__link:hover {
  background-color: #484849;
  transition-duration: var(--time);
}

.p-btn03-link__text {
  display: block;
  position: relative;
  z-index: 1;
  padding-right: 6.1538461538vw;
}

@media screen and (min-width: 768px) {
  .p-btn03-link__text {
    padding-right: clamp(15px, 1.9417475728vw, 24px);
  }
}
@media screen and (min-width: 1920px) {
  .p-btn03-link__text {
    padding-right: 1.25vw;
  }
}
.p-btn03-link__text::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 4.6153846154vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/btn-arrow.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  --time: .15s;
  --timeRate: 2;
  transition-property: background-image;
  transition-timing-function: ease;
  transition-duration: calc(var(--time) * var(--timeRate));
}

.p-btn03__link:hover .p-btn03-link__text::after {
  transition-duration: var(--time);
}

@media screen and (min-width: 768px) {
  .p-btn03-link__text::after {
    width: clamp(14px, 1.4563106796vw, 18px);
  }
}
@media screen and (min-width: 1920px) {
  .p-btn03-link__text::after {
    width: 0.9375vw;
  }
}
.viewMoreBtn__wrap {
  text-align: center;
  padding-top: 7.6923076923vw;
  padding-bottom: 12.8205128205vw;
  margin-top: 15.3846153846vw;
  border-top: 0.2564102564vw solid #BBBBBB;
}

@media screen and (min-width: 768px) {
  .viewMoreBtn__wrap {
    padding-top: 2.0833333333vw;
    padding-bottom: 2.6041666667vw;
    margin-top: 2.6041666667vw;
    border-top: 1px solid #BBBBBB;
  }
}
.viewMoreBtn {
  display: inline-block;
  font-family: "Roboto", sans-serif;
  font-size: 6.1538461538vw;
  font-weight: 700;
  letter-spacing: 0.01em;
  padding-right: 10vw;
  position: relative;
  color: #1B1B1C !important;
}

@media screen and (min-width: 768px) {
  .viewMoreBtn {
    font-size: max(24px, 1.25vw);
    padding-right: max(40px, 2.0833333333vw);
  }
}
.viewMoreBtn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 6.1538461538vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/icon-plus.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media screen and (min-width: 768px) {
  .viewMoreBtn::after {
    width: max(24px, 1.25vw);
  }
}
.viewMoreBtn span {
  position: relative;
}

.viewMoreBtn span::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.2564102564vw;
  background-color: #1B1B1C;
}

@media screen and (min-width: 768px) {
  .viewMoreBtn span::after {
    height: max(1px, 0.0520833333vw);
    transform-origin: center left;
    transform: scaleX(0);
    --time: .3s;
    --timeRate: 2;
    transition-property: transform;
    transition-timing-function: ease;
    transition-duration: calc(var(--time) * var(--timeRate));
  }
}
.viewMoreBtn:hover span::after {
  transform: scaleX(1);
  transition-duration: var(--time);
}

.archive-works-filter__form-container label,
.home-news-filter__form-container label,
.archive-preview-filter__form-container label,
.archive-rental-filter__form-container label {
  display: flex;
  align-items: center;
  gap: max(5px, 0.2604166667vw);
}
.archive-works-filter__form-container input[type=checkbox],
.home-news-filter__form-container input[type=checkbox],
.archive-preview-filter__form-container input[type=checkbox],
.archive-rental-filter__form-container input[type=checkbox] {
  position: relative;
  width: 3.5897435897vw;
  height: 3.5897435897vw;
  background-color: #fff;
  border-radius: 50%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .archive-works-filter__form-container input[type=checkbox],
  .home-news-filter__form-container input[type=checkbox],
  .archive-preview-filter__form-container input[type=checkbox],
  .archive-rental-filter__form-container input[type=checkbox] {
    width: max(14px, 0.7291666667vw);
    height: max(14px, 0.7291666667vw);
  }
}
.archive-works-filter__form-container input[type=checkbox]:checked:before,
.home-news-filter__form-container input[type=checkbox]:checked:before,
.archive-preview-filter__form-container input[type=checkbox]:checked:before,
.archive-rental-filter__form-container input[type=checkbox]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #DD0012;
  width: 2.0512820513vw;
  height: 2.0512820513vw;
  border-radius: 50%;
  content: "";
}
@media screen and (min-width: 768px) {
  .archive-works-filter__form-container input[type=checkbox]:checked:before,
  .home-news-filter__form-container input[type=checkbox]:checked:before,
  .archive-preview-filter__form-container input[type=checkbox]:checked:before,
  .archive-rental-filter__form-container input[type=checkbox]:checked:before {
    width: max(8px, 0.4166666667vw);
    height: max(8px, 0.4166666667vw);
  }
}

.acf-map {
  height: 100%;
}

.single-form input, .single-form textarea {
  margin: 0;
  background: #fff;
  border: none;
}
.single-form input[type=text],
.single-form input[type=email],
.single-form input[type=tel],
.single-form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  width: 100%;
  border-radius: 0px;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
}
.single-form input {
  height: 10.2564102564vw;
  font-size: 3.5897435897vw;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .single-form input {
    height: max(2.1875vw, 42px);
    font-size: max(1.0416666667vw, 14px);
  }
}
.single-form textarea {
  height: 19.2307692308vw;
  font-size: 3.5897435897vw;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .single-form textarea {
    height: max(5.1041666667vw, 98px);
    font-size: max(1.0416666667vw, 14px);
  }
}
.single-form input, .single-form textarea {
  padding: 0.5em;
}
.single-form input[type=checkbox] {
  border: 0.2564102564vw solid #BBBBBB;
  width: 5.1282051282vw;
  height: 5.1282051282vw;
}
@media screen and (min-width: 768px) {
  .single-form input[type=checkbox] {
    border: 1px solid #BBBBBB;
    width: max(1.0416666667vw, 20px);
    height: max(1.0416666667vw, 20px);
  }
}
.single-form input[type=checkbox] + .wpcf7-list-item-label {
  font-size: 4.1025641026vw;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 768px) {
  .single-form input[type=checkbox] + .wpcf7-list-item-label {
    font-size: max(10px, 0.8333333333vw);
  }
}
.single-form input[type=checkbox] + .wpcf7-list-item-label a {
  font-weight: 500;
  text-decoration: underline;
}
.single-form .wpcf7-acceptance .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 2.0512820513vw;
}
@media screen and (min-width: 768px) {
  .single-form .wpcf7-acceptance .wpcf7-list-item label {
    gap: 8px;
  }
}
.single-form .single-form__submit {
  font-size: 4.1025641026vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #fff;
  background-color: #1B1B1C;
  border-radius: 0;
  padding-top: 1.7948717949vw;
  padding-bottom: 2.0512820513vw;
  padding-left: 5.641025641vw;
  padding-right: 11.5384615385vw;
}
@media screen and (min-width: 768px) {
  .single-form .single-form__submit {
    font-size: max(12px, 0.8333333333vw);
    padding-top: 0.3645833333vw;
    padding-bottom: 0.4166666667vw;
    padding-left: 1.1458333333vw;
    padding-right: 2.34375vw;
  }
}
.single-form .single-form__submit:not(:disabled):hover {
  cursor: pointer;
}
.single-form .single-form__submit {
  --time: .3s;
  --timeRate: 1;
  transition-property: opacity;
  transition-timing-function: ease;
  transition-duration: calc(var(--time) * var(--timeRate));
}
.single-form .single-form__submit:disabled {
  opacity: 0.5;
  transition-duration: var(--time);
}
.single-form .single-form__action {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 1;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .single-form .single-form__action {
    margin-inline: initial;
  }
}
.single-form .single-form__action::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 5.641025641vw;
  transform: translateY(-50%);
  width: 4.6153846154vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/btn-arrow.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .single-form .single-form__action::after {
    width: 0.9375vw;
    right: 1.1458333333vw;
  }
}
.single-form .wpcf7-spinner {
  position: absolute;
  top: -100%;
  left: -100%;
}
.single-form .wpcf7-list-item {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .single-form__row {
    display: flex;
    align-items: flex-start;
  }
}
.single-form__row + .single-form__row {
  margin-top: 10.2564102564vw;
}

@media screen and (min-width: 768px) {
  .single-form__row + .single-form__row {
    margin-top: max(35px, 1.8229166667vw);
  }
}
.single-form__attention {
  display: inline-block;
  font-size: 3.5897435897vw;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .single-form__attention {
    font-size: max(10px, 0.7291666667vw);
    margin-top: max(0.5208333333vw, 10px);
  }
}
.single-form__row--message {
  padding-bottom: 10.2564102564vw;
  border-bottom: 0.2564102564vw solid #BBBBBB;
}

@media screen and (min-width: 768px) {
  .single-form__row--message {
    padding-bottom: max(40px, 2.0833333333vw);
    border-bottom: 1px solid #BBBBBB;
  }
}
.single-form__row--privacy {
  padding-top: 10.2564102564vw;
  margin-top: 0 !important;
}

@media screen and (min-width: 768px) {
  .single-form__row--privacy {
    padding-top: max(40px, 2.0833333333vw);
  }
}
.single-form__label,
.single-form__box,
.single-form__title {
  font-size: 5.1282051282vw;
  font-weight: 700;
  line-height: 1.7;
}

@media screen and (min-width: 768px) {
  .single-form__label,
  .single-form__box,
  .single-form__title {
    font-size: max(14px, 1.0416666667vw);
    width: 12.34375vw;
    flex-shrink: 0;
  }
}
@media screen and (min-width: 768px) {
  .single-form__label + .wpcf7-form-control-wrap, .single-form__privacy {
    width: calc(100% - 12.34375vw);
  }
}
.single-form__label + * {
  width: 100%;
}

.jsMvImgTarget {
  clip-path: inset(50%);
  overflow: hidden;
}

.jsFloatBtnTarget {
  clip-path: inset(0 100% 0 0);
  --time: .6s;
  --timeRate: 2;
  transition-property: clip-path;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  transition-duration: calc(var(--time) * var(--timeRate));
}

@media screen and (min-width: 768px) {
  .jsFloatBtnTarget {
    clip-path: inset(0 0 0 100%);
  }
}
.jsFloatBtnTarget.show {
  clip-path: inset(0 0% 0 0%);
  transition-duration: var(--time);
}

/* 1) 初期状態はキーフレームで定義 */
@keyframes fade {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.FadeItem {
  opacity: 0;
}

.home-news-contents__item.FadeItem {
  animation: fade 0.6s ease-out both;
}

@media (prefers-reduced-motion: reduce) {
  .home-news-contents__item.FadeItem {
    animation: none !important;
  }
}
.jsRecruitTarget01, .jsRecruitTarget03 {
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
}

@media screen and (min-width: 768px) {
  .jsRecruitTarget04, .jsRecruitTarget05 {
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
  }
}
.jsRecruitTarget10 {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-100px);
}

.jsRecruitTarget02, .jsRecruitTarget06, .jsRecruitTarget08 {
  clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);
}

.jsRecruitTarget07 {
  clip-path: inset(0 0 100% 0);
}

.jsRecruitTarget09 {
  clip-path: inset(0 100% 0 0);
}

.jsRecruitTarget04SP {
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
}

@media screen and (min-width: 768px) {
  .jsRecruitTarget04SP {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}
.snap {
  scroll-snap-type: y mandatory;
  scroll-behavior: smooth;
}

.slide-vertical {
  position: relative;
  height: 600svh;
}

.slide-vertical .panel {
  position: sticky;
  top: 0;
  left: 0;
  overflow: hidden;
  scroll-snap-align: center;
  scroll-snap-stop: always;
}

.slide-vertical .panel.jsSummaryListTrigger {
  z-index: -1000;
}

.panel {
  flex-shrink: 0;
}

.slide-vertical .panel > * {
  width: 100%;
  height: 100%;
}

.slide-horizontal01-container {
  --slides-count: 1;
  height: calc(100svh * var(--slides-count));
}

.slide-horizontal02-container {
  --slides-count02: 1;
  height: calc(100svh * var(--slides-count02));
}

.slides01 {
  will-change: transform;
  transform: translate3d(0, 0, 0); /* レイヤー化 */
}

.slide-panel {
  flex-shrink: 0;
  contain: paint; /* パネル内の塗り直しを閉じ込める */
  overflow: hidden; /* スライドイン時の再描画範囲を縮小 */
}

.slide-panel > * {
  height: 100%;
}

.slidesPin {
  width: 100%;
  height: 100svh;
  overflow-x: hidden;
}

.slidesPin,
.flickFakes,
.flickFakes02 {
  position: absolute;
}

.flickFakes,
.flickFakes02 {
  z-index: -10000;
}

.flickFakes div,
.flickFakes02 div {
  scroll-snap-align: center;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  width: 150px;
  height: 100svh;
  outline: 1px solid red;
  background-color: #000;
  opacity: 0.5;
  visibility: hidden;
}

.slides {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  justify-content: start;
}

/* 動く要素（フェードやスライド対象） */
.js-fadein,
.js-slideIn img {
  will-change: transform, opacity;
  backface-visibility: hidden;
}

*:has(.jsSummaryImgTarget) {
  position: relative;
}

.jsSummaryImgTarget {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9;
  width: 120% !important;
  opacity: 0;
  --time: .3s;
  --timeRate: 1;
  filter: blur(20px);
  transition-property: opacity;
  transition-timing-function: ease;
  transition-duration: calc(var(--time) * var(--timeRate));
}

.jsSummaryImgTarget.blur {
  opacity: 1;
  transition-duration: var(--time);
}

/* iOS強制オーバーライド：SVG/CSSのfilterは一切使わない */
@supports (-webkit-touch-callout: none) {
  .jsSummaryImgTarget {
    filter: none !important;
    -webkit-backdrop-filter: none !important;
            backdrop-filter: none !important; /* 念のため */
  }
}
.jsMapTarget {
  opacity: 0;
  visibility: hidden;
  --time: .3s;
  transition-property: opacity, visibility;
  transition-timing-function: ease;
  transition-duration: var(--time);
}

.toTopBtn__container {
  position: sticky;
  z-index: 1001;
  bottom: 0;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-top: -11.2820512821vw;
}

@media screen and (min-width: 768px) {
  .toTopBtn__container {
    margin-top: -3.4375vw;
  }
}
.toTopBtn {
  display: block;
  width: 10.2564102564vw;
  height: auto;
  aspect-ratio: 1/1;
  display: grid;
  place-content: center;
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  background-color: rgba(255, 255, 255, 0.5);
}

@media screen and (min-width: 768px) {
  .toTopBtn {
    width: 3.125vw;
  }
}
.toTopBtn__arrow {
  width: 3.3333333333vw;
  height: auto;
  aspect-ratio: 20/12;
}

@media screen and (min-width: 768px) {
  .toTopBtn__arrow {
    width: 1.0416666667vw;
  }
}
.toTopBtn__container {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.toTopBtn__container.is-show {
  opacity: 1;
  visibility: visible;
}

/* ===============================================
    top
==================================================*/
/* ------------------------
    Latest News
---------------------------*/
.news {
  padding-top: 23.5897435897vw;
  padding-bottom: 25.641025641vw;
  background-color: #1B1B1C;
  overflow-x: hidden;
}

@media screen and (min-width: 768px) {
  .news {
    padding-top: 7.03125vw;
    padding-bottom: 10.4166666667vw;
  }
}
.news__container {
  width: 100%;
}

.news__title {
  font-family: "Roboto", sans-serif;
  color: #fff;
  font-size: 16.6666666667vw;
  font-weight: 500;
  line-height: 1.1538461538;
  letter-spacing: 0.01em;
  margin: 0 6.6666666667vw;
}

@media screen and (min-width: 768px) {
  .news__title {
    font-size: 5.2083333333vw;
    margin: 0 5.46875vw;
  }
}
.news__title span {
  display: block;
}

@media screen and (min-width: 768px) {
  .news__title span {
    display: inline-block;
  }
}
.news-slide__container {
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .news-slide__container {
    margin-top: 1.40625vw;
  }
}
.newsSlide__card {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 1;
  width: 86.6666666667vw;
}

@media screen and (min-width: 768px) {
  .newsSlide__card {
    width: 25.9375vw;
  }
}
.newsSlide__link {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.newsSlide__img {
  height: auto;
  aspect-ratio: 338/190;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .newsSlide__img {
    aspect-ratio: 498/280;
  }
}
.newsSlide__text {
  padding-top: 6.4102564103vw;
  padding-bottom: 8.7179487179vw;
}

@media screen and (min-width: 768px) {
  .newsSlide__text {
    padding-top: 1.4583333333vw;
    padding-bottom: 1.3020833333vw;
    padding-left: 1.4583333333vw;
    padding-right: 1.25vw;
  }
}
.newsSlide__date {
  font-size: 5.1282051282vw;
  font-weight: 500;
  line-height: 1.7;
}

@media screen and (min-width: 768px) {
  .newsSlide__date {
    font-size: max(10px, 1.0416666667vw);
  }
}
.newsSlide__category {
  font-size: 3.5897435897vw;
  letter-spacing: 0.01em;
  line-height: 1.8571428571;
}

@media screen and (min-width: 768px) {
  .newsSlide__category {
    font-size: max(10px, 0.7291666667vw);
  }
}
.newsSlide-category-link__box {
  position: relative;
}

.newsSlide-category__link {
  position: relative;
  z-index: 3;
}

.newsSlide__title {
  font-size: 5.1282051282vw;
  font-weight: 700;
  line-height: 1.7;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .newsSlide__title {
    font-size: max(10px, 1.0416666667vw);
  }
}
.newsSlide__arrows {
  display: flex;
  align-items: center;
  padding: 0 6.6666666667vw;
  justify-content: space-between;
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .newsSlide__arrows {
    padding: 0 5.46875vw;
    justify-content: flex-start;
    gap: 2.0833333333vw;
    margin-top: 1.25vw;
  }
}
.newsSlide-arrow__wrap {
  display: flex;
  align-items: center;
  gap: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .newsSlide-arrow__wrap {
    gap: 1.0416666667vw;
  }
}
.newsSlide__arrow {
  position: static;
  transform: translate(0);
  background-color: transparent;
  height: auto;
  width: 12.8205128205vw;
  aspect-ratio: 1/1;
  height: auto;
}

@media screen and (min-width: 768px) {
  .newsSlide__arrow {
    width: 2.6041666667vw;
  }
}
.newsSlide__arrow--next {
  transform: rotate(180deg);
}

.newsSlide__img img {
  --time: 0.3s;
  --timeRate: 2;
  transition-property: transform;
  transition-timing-function: ease;
  transition-duration: calc(var(--time) * var(--timeRate));
}

.newsSlide__link:hover ~ .newsSlide__img img {
  transform: scale(1.1);
  transition-duration: var(--time);
}

.news__btn {
  text-align: center;
}

.more-btn {
  line-height: 1;
}

.more-btn a {
  display: inline-block;
  position: relative;
  color: #fff;
  line-height: 1;
  padding-right: 10vw;
}

@media screen and (min-width: 768px) {
  .more-btn a {
    padding-right: 1.875vw;
  }
}
.more-btn a span {
  font-family: "Figtree", sans-serif;
  font-size: 6.1538461538vw;
  font-weight: 700;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .more-btn a span {
    font-size: 1.25vw;
  }
}
.more-btn__link {
  position: relative;
}

.more-btn__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 6.1538461538vw;
  height: 6.1538461538vw;
  background-image: url(../images/arrow--viewMore.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (min-width: 768px) {
  .more-btn__link::after {
    width: 1.25vw;
    height: 1.25vw;
  }
}
.more-btn__link span {
  position: relative;
}

.more-btn__link span::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.2564102564vw;
  background-color: #fff;
  transform-origin: center left;
  transform: scaleX(0);
  --time: 0.3s;
  --timeRate: 2;
  transition-property: transform;
  transition-timing-function: ease;
  transition-duration: var(--time);
  transition-duration: calc(var(--time) * var(--timeRate));
}

@media screen and (min-width: 768px) {
  .more-btn__link span::before {
    height: 1px;
  }
}
.more-btn__link:hover span::before {
  transform: scaleX(1);
  transition-duration: var(--time);
}

/* ------------------------
    旧東海道、府中宿、鞠子宿をつなぎ 人が宿る場を創る
---------------------------*/
.concept {
  padding-top: 25.3846153846vw;
  padding-bottom: 25.641025641vw;
  overflow-x: hidden;
}

@media screen and (min-width: 768px) {
  .concept {
    padding-top: 9.7395833333vw;
    padding-bottom: 0;
  }
}
.concept-container {
  position: relative;
}

@media screen and (min-width: 768px) {
  .concept-container {
    padding-bottom: 70.625vw;
  }
}
.concept__title {
  font-size: 9.7435897436vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.8421052632;
  text-align: left;
  padding: 0 5.1282051282vw;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .concept__title {
    font-size: 2.8645833333vw;
    line-height: 1.6727272727;
    text-align: center;
    padding: 0;
  }
}
.concept-title__text {
  display: inline-block;
}

.concept__texts {
  margin-top: 10.2564102564vw;
  padding: 0 5.1282051282vw;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .concept__texts {
    margin-top: 2.5520833333vw;
    padding: 0;
  }
}
.concept__text {
  font-size: 3.8461538462vw;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .concept__text {
    font-size: max(0.8333333333vw, 12px);
    text-align: center;
  }
}
.concept__text + .concept__text {
  margin-top: 6.1538461538vw;
}

@media screen and (min-width: 768px) {
  .concept__text + .concept__text {
    margin-top: 0;
  }
}
.concept-map__container {
  position: absolute;
  left: 0;
}

@media screen and (min-width: 768px) {
  .concept-map__container {
    top: initial;
    left: 0;
    bottom: 0;
  }
}
.concept-map__box {
  position: relative;
  width: 100vw;
  padding-bottom: 76.9230769231vw;
}

@media screen and (min-width: 768px) {
  .concept-map__box {
    position: relative;
    width: 100%;
    padding-bottom: 0;
  }
}
.concept-map__box-inner {
  width: 100vw;
  overflow-x: scroll;
  /*スクロールバー非表示（IE・Edge）*/
  -ms-overflow-style: none;
  /*スクロールバー非表示（Firefox）*/
  scrollbar-width: none;
}

.home-news-filter__wrap::-webkit-scrollbar {
  display: none;
}

@media screen and (min-width: 768px) {
  .concept-map__box-inner {
    width: 100%;
    overflow-x: visible;
  }
}
.concept-map {
  width: 256.4102564103vw;
  height: auto;
  aspect-ratio: 1134/543;
  position: relative;
}

@media screen and (min-width: 768px) {
  .concept-map {
    width: 100%;
    aspect-ratio: 1920/1499;
  }
}
.concept-map__img {
  width: 100%;
  height: 100%;
  background-color: #fff;
}

.concept-map__img01,
.concept-map__img02 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  --time: 0.3s;
  --timeRate: 2;
  transition-property: opacity, visibility;
  transition-timing-function: ease;
  transition-duration: var(--time);
  transition-duration: calc(var(--time) * var(--timeRate));
}

.concept-map__img01.is-active,
.concept-map__img02.is-active {
  opacity: 1;
  visibility: visible;
}

.concept-map__img-root {
  position: absolute;
  top: 35.3846153846vw;
  left: 93.0769230769vw;
  width: 76.9230769231vw;
  height: auto;
  aspect-ratio: 287/72;
}

@media screen and (min-width: 768px) {
  .concept-map__img-root {
    top: 23.59375vw;
    left: 27.8645833333vw;
    width: 41.6666666667vw;
    aspect-ratio: 800/202;
  }
}
.logo__s {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  transition: opacity 0.3s ease 0s, visibility 0.3s ease 0s;
}

.logo__s01 {
  top: 23.0769230769vw;
  left: 86.9230769231vw;
}

@media screen and (min-width: 768px) {
  .logo__s01 {
    top: 20.9375vw;
    left: 25.7291666667vw;
  }
}
.logo__s02 {
  top: 17.9487179487vw;
  left: 163.3333333333vw;
}

@media screen and (min-width: 768px) {
  .logo__s02 {
    top: 17.4479166667vw;
    left: 66.9270833333vw;
  }
}
.logo__s01.is-hidden,
.logo__s02.is-hidden {
  opacity: 0;
  visibility: hidden;
}

.logo__s-img-text {
  font-size: 3.0769230769vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #717171;
}

@media screen and (min-width: 768px) {
  .logo__s-img-text {
    font-size: max(14px, 1.0416666667vw);
  }
}
.logo__s-img {
  width: 12.8205128205vw;
  height: auto;
  aspect-ratio: 90/62;
  position: relative;
  z-index: 1;
  margin-top: 4.1025641026vw;
}

@media screen and (min-width: 768px) {
  .logo__s-img {
    width: 4.6875vw;
    margin-top: 1.6666666667vw;
  }
}
.logo__s-img::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 15.3846153846vw;
  height: auto;
  aspect-ratio: 1/1;
  background-color: #1b1b1c;
  border-radius: 50%;
  opacity: 0;
  --time: 0.15s;
  --timeRate: 2;
  transition-property: opacity;
  transition-timing-function: ease;
  transition-duration: calc(var(--time) * var(--timeRate));
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .logo__s-img::before {
    width: 5.5208333333vw;
    transform: translate(-50%, calc(-50% - 5px));
    transition-duration: var(--time);
  }
  .logo__s01:hover .logo__s-img::before {
    opacity: 0.3;
    transition-duration: calc(var(--time) * 4);
  }
  .logo__s02:hover .logo__s-img::before {
    opacity: 0.3;
    transition-duration: calc(var(--time) * 4);
  }
}
.logo__s.is-active .logo__s-img::before {
  opacity: 0.3;
}

.hover-area__wrap {
  width: 100%;
  height: 100%;
  position: relative;
}

.hover-area {
  position: absolute;
  z-index: 11;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 200%;
  height: 200%;
}

.concept-map-box__list-container {
  width: 100vw;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 4;
  overflow-x: scroll;
  /*スクロールバー非表示（IE・Edge）*/
  -ms-overflow-style: none;
  /*スクロールバー非表示（Firefox）*/
  scrollbar-width: none;
}

.concept-map-box__list-container::-webkit-scrollbar {
  display: none;
}

@media screen and (min-width: 768px) {
  .concept-map-box__list-container {
    display: contents;
    z-index: 1;
  }
}
.concept-map-box__list {
  display: flex;
  width: 200vw;
}

@media screen and (min-width: 768px) {
  .concept-map-box__list {
    display: contents;
  }
}
.concept-map-box__item {
  width: 100vw;
}

@media screen and (min-width: 768px) {
  .concept-map-box__item {
    position: absolute;
    z-index: 10;
    width: max(350px, 28.4375vw);
  }
}
.concept-map-box__item + .concept-map-box__item .concept-map-box-item__texts {
  border-left: 0.2564102564vw solid #888888;
}

@media screen and (min-width: 768px) {
  .concept-map-box__item + .concept-map-box__item .concept-map-box-item__texts {
    border-left: none;
  }
}
@media screen and (min-width: 768px) {
  .concept-map-box__item--s01 {
    top: 26.7708333333vw;
    left: 30.8854166667vw;
  }
}
@media screen and (min-width: 768px) {
  .concept-map-box__item--s02 {
    top: 27.6041666667vw;
    left: 50vw;
  }
}
@media screen and (min-width: 1024px) {
  .concept-map-box__item--s02 {
    top: 27.6041666667vw;
    left: 62.34375vw;
  }
}
.concept-map-box-item__img {
  height: auto;
  aspect-ratio: 390/186;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .concept-map-box-item__img {
    aspect-ratio: 1920/1218;
  }
}
.concept-map-box-item__texts {
  display: flex;
  padding: 5.641025641vw 0;
  background-color: #fff;
  border-bottom: 0.2564102564vw solid #888888;
  min-height: 68.125vw;
  position: relative;
  z-index: 2;
}
.concept-map-box-item__texts.flex-revers .concept-map-box-item__title {
  border-left: 0.2564102564vw solid #888888;
}
.concept-map-box-item__texts.flex-revers--sp {
  flex-direction: row-reverse;
}
.concept-map-box-item__texts.flex-revers--sp .concept-map-box-item__title {
  border-left: none;
  border-right: 0.2564102564vw solid #888888;
}

@media screen and (min-width: 768px) {
  .concept-map-box-item__texts {
    padding: 1.25vw 0;
    padding-left: 0.1041666667vw;
    border-bottom: none;
    min-height: initial;
  }
  .concept-map-box-item__texts.flex-revers--sp {
    flex-direction: row;
  }
  .concept-map-box-item__texts.flex-revers--sp .concept-map-box-item__title {
    border-right: 0.0520833333vw solid #888888;
  }
  .concept-map-box-item__texts.flex-revers {
    flex-direction: row-reverse;
  }
  .concept-map-box-item__texts.flex-revers .concept-map-box-item__title {
    border-left: none;
    border-right: 0.0520833333vw solid #888888;
  }
}
.concept-map-box-item__text {
  font-size: 3.0769230769vw;
  letter-spacing: 0.01em;
  line-height: 1.6666666667;
  padding: 0 6.1538461538vw;
}

.concept-map-box__item--s01 .concept-map-box-item__text {
  padding-left: 11.5384615385vw;
}

.concept-map-box__item--s02 .concept-map-box-item__text {
  padding-right: 11.5384615385vw;
}

@media screen and (min-width: 768px) {
  .concept-map-box__item--s01 .concept-map-box-item__text {
    padding-left: 11.5384615385vw;
  }
  .concept-map-box__item--s02 .concept-map-box-item__text {
    padding-right: 11.5384615385vw;
  }
  .concept-map-box-item__text {
    font-size: max(12px, 0.625vw);
    padding: 0 1.5625vw !important;
  }
}
.concept-map-box-item__title {
  flex-shrink: 0;
  padding-top: 12.0512820513vw;
  padding-bottom: 15.1282051282vw;
  padding-left: 5.1282051282vw;
  padding-right: 5.8974358974vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 46.1538461538vw;
  min-width: 36.875vw;
}
.concept-map-box-item__title span {
  display: block;
  text-align: center;
}
.concept-map-box-item__title .text-lg {
  font-size: 5.641025641vw;
  font-weight: 500;
}
.concept-map-box-item__title .text-sm {
  font-size: max(2.5641025641vw, 10px);
}

@media screen and (min-width: 768px) {
  .concept-map-box-item__title {
    flex-shrink: 0;
    padding-top: 0.8854166667vw;
    padding-bottom: 1.1979166667vw;
    padding-right: 1.1458333333vw;
    padding-left: 1.1458333333vw;
    min-height: initial;
    min-width: initial;
  }
  .concept-map-box-item__title .text-lg {
    font-size: max(16px, 1.3541666667vw);
  }
  .concept-map-box-item__title .text-sm {
    font-size: max(10px, 0.78125vw);
  }
}
.concept-map__wrap {
  padding: 0 6.6666666667vw;
  margin-top: 236.9230769231vw;
  display: flex;
  flex-direction: column-reverse;
}

@media screen and (min-width: 768px) {
  .concept-map__wrap {
    margin-top: 0;
    position: absolute;
    bottom: 21.875vw;
    left: 0;
    flex-direction: row;
    align-items: flex-start;
    gap: 1.3541666667vw;
    padding-left: 9.5833333333vw;
    padding-right: 8.28125vw;
  }
}
.concept-map__text {
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
  line-height: 2;
  margin-top: 10.2564102564vw;
}

@media screen and (min-width: 768px) {
  .concept-map__text {
    width: 35.5729166667vw;
    font-size: max(10px, 0.8333333333vw);
    margin-top: 0;
  }
}
.concept-map__list {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}

.concept-map__item {
  padding: 0 4.8717948718vw;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .concept-map__item {
    padding: 0 2.0833333333vw;
  }
}
.concept-map__item + .concept-map__item {
  border-left: 0.2564102564vw solid #bbbbbb;
}

@media screen and (min-width: 768px) {
  .concept-map__item + .concept-map__item {
    border-left: 0.0520833333vw solid #bbbbbb;
  }
}
.concept-map-item__numbers {
  font-family: "Roboto", sans-serif;
  font-size: 10.2564102564vw;
  letter-spacing: 0.01em;
  white-space: nowrap;
  text-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .concept-map-item__numbers {
    font-size: 5.2083333333vw;
  }
}
.concept-map-item__plus {
  font-weight: 300;
}

.concept-map-item__label {
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
  margin-top: 4.1025641026vw;
}

@media screen and (min-width: 768px) {
  .concept-map-item__label {
    font-size: 1.1458333333vw;
    margin-top: 0;
  }
}
.concept-map-box__arrow {
  position: absolute;
  z-index: 5;
  bottom: 1.2820512821vw;
  height: 64.1025641026vw;
  width: 10vw;
  background-color: #fff;
}

.concept-map-box-arrow__img {
  --time: .3s;
  transition-property: transform;
  transition-timing-function: ease;
  transition-duration: var(--time);
}

.concept-map-box__arrow--left {
  left: 0;
}
.concept-map-box__arrow--left.is-active .concept-map-box-arrow__img {
  transform: rotate(180deg);
}
.concept-map-box__arrow--left.is-hidden {
  opacity: 0;
  visibility: hidden;
}

.concept-map-box__arrow--right {
  right: 0;
}
.concept-map-box__arrow--right.is-active .concept-map-box-arrow__img {
  transform: rotate(-180deg);
}
.concept-map-box__arrow--right.is-hidden {
  opacity: 0;
  visibility: hidden;
}

.concept-map-box-arrow__img {
  width: 3.5897435897vw;
  height: auto;
  aspect-ratio: 14/21;
  margin-inline: auto;
}

.concept-map__spot-pin,
.concept-map__spot-name {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.concept-map__spot-pin {
  width: 6.6666666667vw;
  height: auto;
  aspect-ratio: 1/1;
}

@media screen and (min-width: 768px) {
  .concept-map__spot-pin {
    width: 1.9791666667vw;
  }
}
.concept-map__spot-name {
  font-size: 2.5641025641vw;
  letter-spacing: 0.01em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .concept-map__spot-name {
    font-size: 0.8333333333vw;
  }
}
.concept-map__spot01-pin {
  left: 178.7179487179vw;
  top: 13.5897435897vw;
}

@media screen and (min-width: 768px) {
  .concept-map__spot01-pin {
    left: 70.15625vw;
    top: 14.6354166667vw;
  }
}
.concept-map__spot01-name {
  left: 185.3846153846vw;
  top: 11.2820512821vw;
}

@media screen and (min-width: 768px) {
  .concept-map__spot01-name {
    left: 72.2395833333vw;
    top: 13.4375vw;
  }
}
.concept-map__spot02-pin {
  left: 176.9230769231vw;
  top: 18.2051282051vw;
}

@media screen and (min-width: 768px) {
  .concept-map__spot02-pin {
    left: 69.2708333333vw;
    top: 16.09375vw;
  }
}
.concept-map__spot02-name {
  left: 184.6153846154vw;
  top: 19.2307692308vw;
}

@media screen and (min-width: 768px) {
  .concept-map__spot02-name {
    left: 71.5625vw;
    top: 16.4583333333vw;
  }
}
.concept-map__spot03-pin {
  left: 159.4871794872vw;
  top: 32.0512820513vw;
}

@media screen and (min-width: 768px) {
  .concept-map__spot03-pin {
    left: 65.9895833333vw;
    top: 22.2916666667vw;
  }
}
.concept-map__spot03-name {
  left: 149.2307692308vw;
  top: 32.3076923077vw;
}

@media screen and (min-width: 768px) {
  .concept-map__spot03-name {
    left: 62.1354166667vw;
    top: 22.3958333333vw;
  }
}
.concept-map__spot04-pin {
  left: 195.3846153846vw;
  top: 60vw;
}

@media screen and (min-width: 768px) {
  .concept-map__spot04-pin {
    left: 76.5104166667vw;
    top: 40.1041666667vw;
  }
}
.concept-map__spot04-name {
  left: 194.1025641026vw;
  top: 55.3846153846vw;
}

@media screen and (min-width: 768px) {
  .concept-map__spot04-name {
    left: 75.8333333333vw;
    top: 38.1770833333vw;
  }
}
.concept-map__spot05-name {
  left: 172.3076923077vw;
  top: 40.5128205128vw;
}

@media screen and (min-width: 768px) {
  .concept-map__spot05-name {
    left: 72.9166666667vw;
    top: 26.0416666667vw;
  }
}
/* ------------------------
    OUR BUSINESS
---------------------------*/
.ourBusiness {
  position: relative;
  z-index: 101;
  scroll-snap-align: center;
  scroll-snap-stop: always;
}

.ourBusiness-container {
  width: 100%;
}

.ourBusiness-head {
  width: 100%;
  padding: 6.6666666667vw;
  display: flex;
  scroll-snap-align: start;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .ourBusiness-head {
    padding: 0;
    justify-content: center;
  }
}
.ourBusiness-head__wrap {
  margin-top: 0.5128205128vw;
}

@media screen and (min-width: 768px) {
  .ourBusiness-head__wrap {
    margin-top: 0.2604166667vw;
  }
}
.ourBusiness__title {
  font-family: "Roboto", sans-serif;
  font-size: 16.6666666667vw;
  font-weight: 500;
  line-height: 1.0769230769;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .ourBusiness__title {
    font-size: 5.2083333333vw;
    line-height: 1;
  }
}
.ourBusiness__title span {
  display: block;
}

@media screen and (min-width: 768px) {
  .ourBusiness__title span {
    display: inline-block;
  }
}
.ourBusiness__sub-title {
  font-family: "Roboto", sans-serif;
  font-size: 4.6153846154vw;
  letter-spacing: 0.01em;
  display: flex;
  align-items: center;
  gap: 0.7692307692vw;
}

@media screen and (min-width: 768px) {
  .ourBusiness__sub-title {
    font-size: 1.0416666667vw;
    gap: 0.3645833333vw;
    justify-content: center;
    margin: -0.9375vw;
  }
}
.ourBusiness-sub-title__line {
  width: 19.2307692308vw;
  height: 0.2564102564vw;
  background-color: #1B1B1C;
}

@media screen and (min-width: 768px) {
  .ourBusiness-sub-title__line {
    width: 4.7916666667vw;
    height: 0.0520833333vw;
    margin-right: 1.5104166667vw;
  }
}
.ourBusiness__item {
  position: relative;
  z-index: 1;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .ourBusiness__item .splide-business,
  .ourBusiness__item .splide__track {
    height: 100%;
  }
}

.ourBusiness-item__img {
  width: 100%;
  height: 59.9526066351vh;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media screen and (min-width: 768px) {
  .ourBusiness-item__img {
    height: 100%;
  }
}
.ourBusiness-item__img video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.ourBusiness-item__texts {
  height: calc(100% - 71.0900473934vh);
  padding: 3.0805687204vh 6.6666666667vw;
}

@media screen and (min-width: 768px) {
  .ourBusiness-item__texts {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    padding: 3.8020833333vw 4.9479166667vw;
    height: initial;
  }
}
.ourBusiness-item__head-wrap {
  padding-top: 1.2820512821vw;
  padding-bottom: 1.2820512821vw;
}

@media screen and (min-width: 768px) {
  .ourBusiness-item__head-wrap {
    padding: 0;
  }
}
.ourBusiness-item__head {
  display: flex;
  align-items: flex-end;
  gap: 3.8461538462vw;
}

@media screen and (min-width: 768px) {
  .ourBusiness-item__head {
    color: #fff;
    gap: 1.0416666667vw;
  }
}
.ourBusiness-item__title {
  font-size: 4.7393364929vh;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .ourBusiness-item__title {
    font-size: 3.125vw;
  }
}
.ourBusiness-item__link {
  padding-right: 6.5165876777vh;
  position: relative;
}

@media screen and (min-width: 768px) {
  .ourBusiness-item__link {
    padding-right: 3.6458333333vw;
  }
}
.ourBusiness-item__link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(calc(-50% + 0.7692307692vw));
  width: 4.7393364929vh;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/arrow--viewMore--black.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (min-width: 768px) {
  .ourBusiness-item__link::before {
    width: 2.6041666667vw;
    background-image: url(../images/arrow--viewMore.svg);
    transform: translateY(calc(-50% + 0.2604166667vw));
  }
}
.ourBusiness-item__link--textLine2::before {
  top: initial;
  bottom: 0;
  transform: translateY(0.5128205128vw);
}

@media screen and (min-width: 768px) {
  .ourBusiness-item__link--textLine2::before {
    top: 50%;
    bottom: initial;
    transform: translateY(calc(-50% + 0.2604166667vw));
  }
}
.ourBusiness-item__list {
  display: flex;
  row-gap: 2.5641025641vw;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 1.8957345972vh;
}

@media screen and (min-width: 768px) {
  .ourBusiness-item__list {
    margin-top: 0.7291666667vw;
    row-gap: 0;
  }
}
.ourBusiness-item__item {
  display: inline-block;
  font-size: 2.3696682464vh;
  font-weight: 700;
  line-height: 1;
  padding: 0 3.0769230769vw;
  position: relative;
  --barRate: 0;
}

@media screen and (min-width: 768px) {
  .ourBusiness-item__item {
    color: #fff;
    font-size: 1.0416666667vw;
    padding: 0 0.625vw;
  }
}
.ourBusiness-item__item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%) scaleY(var(--barRate));
  width: 1.5px;
  height: 100%;
  background-color: #1B1B1C;
}

@media screen and (min-width: 768px) {
  .ourBusiness-item__item::before {
    background-color: #fff;
  }
}
.ourBusiness-item__item:last-child::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) scaleY(var(--barRate));
  width: 1.5px;
  height: 100%;
  background-color: #1B1B1C;
}

@media screen and (min-width: 768px) {
  .ourBusiness-item__item:last-child::after {
    background-color: #fff;
  }
}
.ourBusiness-item__item span {
  display: inline-block;
}

.ourBusiness-item__catch {
  position: absolute;
  top: 3.7914691943vh;
  right: 6.6666666667vw;
  height: auto;
}

@media screen and (min-width: 768px) {
  .ourBusiness-item__catch {
    top: 2.2395833333vw;
    right: 5.5729166667vw;
  }
}
.ourBusiness-item__catch01 {
  width: 37.5592417062vh;
  aspect-ratio: 317/97;
  max-width: 85vw;
}

@media screen and (min-width: 768px) {
  .ourBusiness-item__catch01 {
    width: 25.2083333333vw;
    aspect-ratio: 484/180;
  }
}
.ourBusiness-item__catch02 {
  width: 35.0710900474vh;
  aspect-ratio: 296/92;
  max-width: 85vw;
}

@media screen and (min-width: 768px) {
  .ourBusiness-item__catch02 {
    width: 26.0416666667vw;
    aspect-ratio: 500/170;
  }
}
.ourBusiness-item__catch03 {
  width: 35.9004739336vh;
  aspect-ratio: 303/77;
  max-width: 85vw;
}

@media screen and (min-width: 768px) {
  .ourBusiness-item__catch03 {
    width: 26.0416666667vw;
    aspect-ratio: 500/137;
  }
}
.ourBusiness-summary__list {
  position: relative;
  height: 100%;
  display: grid;
}

.jsSummaryListTarget {
  --columnsRate: 0fr;
  grid-template-rows: var(--columnsRate) var(--columnsRate) 1fr;
}

@media screen and (min-width: 768px) {
  .jsSummaryListTarget {
    grid-template-rows: repeat(1, 1fr);
    grid-template-columns: var(--columnsRate) var(--columnsRate) 1fr;
  }
}
.jsSummaryCoverTarget {
  opacity: 0;
}

.jsSummaryCatchTarget {
  opacity: 0;
  transform: scale(1.1);
}

.jsSummaryBoxTarget {
  opacity: 0;
  transform: translateY(100px);
}

.ourBusiness-item__box {
  height: 100%;
}

.ourBusiness-summary__item {
  position: relative;
  height: 100%;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .ourBusiness-summary__item {
    height: 100%;
  }
}
.ourBusiness-summary__img {
  width: 100%;
  height: 100%;
}

.ourBusiness-summary__text {
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  display: none;
  opacity: 0;
  transform: translateX(-10px);
}

@media screen and (min-width: 768px) {
  .ourBusiness-summary__text {
    top: 3.90625vw;
    left: 1.3020833333vw;
    display: block;
    font-size: 2.6041666667vw;
    font-weight: 500;
    letter-spacing: 0.01em;
  }
}
.bg-cover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  pointer-events: none;
}

.ourBusiness-summary-box__wrap {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 13;
  width: 100%;
}

.ourBusiness-summary__box {
  position: relative;
  z-index: 2;
  background-color: rgba(255, 255, 255, 0.7);
}

.ourBusiness-summary__catch {
  position: relative;
  width: 33.4123222749vh;
  max-width: 85vw;
  height: auto;
  aspect-ratio: 282/81;
  margin-top: 14.691943128vh;
}

@media screen and (min-width: 768px) {
  .ourBusiness-summary__catch {
    margin-inline: auto;
    width: 23.6458333333vw;
    aspect-ratio: 454/130;
    margin-top: 4.53125vw;
  }
}
.ourBusiness-summary-catch__text {
  position: absolute;
  top: 0;
  left: 0;
}

.ourBusiness-summary-box__wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 0 20px;
}

@media screen and (min-width: 768px) {
  .ourBusiness-summary-box__wrap {
    display: grid;
    place-content: center;
    padding: 0;
  }
}
.ourBusiness-summary-box__container {
  width: 100%;
  margin-top: 7.345971564vh;
  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .ourBusiness-summary-box__container {
    margin-top: 11.4583333333vw;
    width: 47.9166666667vw;
  }
}
.ourBusiness-summary-box__title {
  font-family: "Roboto", sans-serif;
  font-size: 3.7914691943vh;
  line-height: 1.3125;
  font-weight: 500;
  letter-spacing: 0.01em;
  padding-bottom: 1.7772511848vh;
  border-bottom: 0.2369668246vh solid #1B1B1C;
}

@media screen and (min-width: 768px) {
  .ourBusiness-summary-box__title {
    font-size: 2.0833333333vw;
    line-height: 1.25;
    padding-bottom: 0.8333333333vw;
    border-bottom: 0.1041666667vw solid #1B1B1C;
  }
}
.ourBusiness-summary-box__list {
  margin-top: 2.3696682464vh;
}

@media screen and (min-width: 768px) {
  .ourBusiness-summary-box__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 1.40625vw;
  }
}
.ourBusiness-summary-box__item {
  display: flex;
  align-items: center;
  gap: 2.5641025641vw;
  font-size: 2.8436018957vh;
  font-weight: 500;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .ourBusiness-summary-box__item {
    font-size: 1.5625vw;
    gap: 0.5208333333vw;
  }
}
.ourBusiness-summary-box__item + .ourBusiness-summary-box__item {
  margin-top: 2.1327014218vh;
}

@media screen and (min-width: 768px) {
  .ourBusiness-summary-box__item + .ourBusiness-summary-box__item {
    margin-top: 0;
  }
}
.ourBusiness-summary-box__item a {
  padding-right: 10.2564102564vw;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .ourBusiness-summary-box__item a {
    padding-right: 2.0833333333vw;
  }
}
.ourBusiness-summary-box__item a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transform: translateY(calc(-50% + 0.5128205128vw));
  width: 6.1538461538vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/arrow--viewMore--black.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (min-width: 768px) {
  .ourBusiness-summary-box__item a::after {
    width: 1.25vw;
    transform: translateY(calc(-50% + 0.1041666667vw));
  }
}
@media screen and (min-width: 768px) {
  .ourBusiness-summary-box__item a span {
    position: relative;
  }
  .ourBusiness-summary-box__item a span::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #1b1b1c;
    transform-origin: center left;
    transform: scaleX(0) scaleY(1);
    --time: 0.15s;
    --timeRate: 2;
    transition-property: transform;
    transition-timing-function: ease;
    transition-duration: calc(var(--time) * var(--timeRate));
  }
  .ourBusiness-summary-box__item a:hover span::after {
    transform: scaleX(1) scaleY(1);
    transition-duration: var(--time);
  }
}
/* ------------------------
    works
---------------------------*/
.works-outer {
  position: relative;
}

.works {
  overflow: hidden;
}

.works__contents {
  display: flex;
}

@media screen and (min-width: 768px) {
  .works-texts__wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
}
.works__texts {
  width: 35.5450236967vh;
  flex-shrink: 0;
  display: grid;
  place-content: center;
  padding: 0 6.6666666667vw;
}

@media screen and (min-width: 768px) {
  .works__texts {
    width: 29.0625vw;
    padding-left: 5.46875vw;
    padding-right: 5.46875vw;
    padding-top: 8.1481481481svh;
    padding-bottom: 8.1481481481svh;
    display: block;
    place-content: initial;
  }
}
.works__title {
  font-family: "Roboto", sans-serif;
  font-size: 6.8720379147vh;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.1538461538;
}

@media screen and (min-width: 768px) {
  .works__title {
    font-size: 3.90625vw;
    line-height: 1.73;
  }
}
.works__sub-title {
  margin-top: 1.7772511848vh;
  font-size: 1.7772511848vh;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .works__sub-title {
    margin-top: 0px;
    font-size: max(0.8333333333vw, 12px);
  }
}
.works-contents__list {
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 5.9241706161vh;
  padding-top: 2.3696682464vh;
  padding-bottom: 2.3696682464vh;
  padding-left: 1.2820512821vw;
  padding-right: 6.4102564103vw;
}

@media screen and (min-width: 768px) {
  .works-contents__list {
    margin-top: auto;
    padding-top: 0;
    padding-bottom: 1.3020833333vw;
    padding-bottom: 0;
    padding-left: 0.2604166667vw;
    padding-right: 1.25vw;
    display: none;
  }
}
.works-contents__item {
  font-size: 1.6968325792vh;
  font-weight: 500;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .works-contents__item {
    font-size: max(10px, 0.8333333333vw);
  }
}
.works-contents__item + .works-contents__item {
  margin-top: 2.3696682464vh;
}

@media screen and (min-width: 768px) {
  .works-contents__item + .works-contents__item {
    margin-top: 0.8333333333vw;
  }
}
.works-contents__img {
  width: 47.3933649289vh;
  height: 100%;
  flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .works-contents__img {
    width: 100vw;
    width: 84.375vw;
  }
}
.works__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 82.9383886256vh;
  padding-bottom: 20vh;
}

@media screen and (min-width: 768px) {
  .works__item {
    flex-direction: row;
    align-items: stretch;
    margin-left: 0;
    width: initial;
    padding-bottom: 0;
  }
}
.slide-panel:nth-child(odd) .works__item {
  flex-direction: column-reverse;
}

@media screen and (min-width: 768px) {
  .slide-panel:nth-child(odd) .works__item {
    flex-direction: row;
  }
}
.works-item__texts {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
}

@media screen and (min-width: 768px) {
  .works-item__texts {
    width: 26.0416666667vw;
    width: 29.0625vw;
    padding-right: 1.3020833333vw;
    padding-left: 5.46875vw;
  }
}
.works-item__head {
  padding: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .works-item__head {
    padding: 0;
  }
}
.works-item-head__wrap {
  display: flex;
  align-items: center;
  gap: 3.8461538462vw;
}

@media screen and (min-width: 768px) {
  .works-item-head__wrap {
    gap: 1.0416666667vw;
  }
}
.works-item__title {
  font-size: 8.2051282051vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  white-space: nowrap;
  word-break: break-all;
}

@media screen and (min-width: 768px) {
  .works-item__title {
    font-size: 3.125vw;
  }
}
html:not([lang=ja]) .works-item__title {
  white-space: normal;
}

.works-item__link {
  padding-right: 12.3076923077vw;
  position: relative;
}

@media screen and (min-width: 768px) {
  .works-item__link {
    padding-right: 3.90625vw;
  }
}
.works-item__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transform: translateY(calc(-50% + 0.5128205128vw));
  width: 8.2051282051vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/arrow--viewMore--black.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (min-width: 768px) {
  .works-item__link::after {
    width: 2.6041666667vw;
    transform: translateY(calc(-50% + 0.2083333333vw));
  }
}
.works-item__arrow {
  width: 2.3076923077vw;
  height: 3.5897435897vw;
}

@media screen and (min-width: 768px) {
  .works-item__arrow {
    width: 0.625vw;
    height: 0.9375vw;
  }
}
.works-item__desc {
  line-height: 1.75;
  font-size: 3.8461538462vw;
  line-height: 2;
  margin-top: 4.1025641026vw;
}

@media screen and (min-width: 768px) {
  .works-item__desc {
    margin-top: 2.8645833333vw;
    font-size: max(0.8333333333vw, 12px);
    line-height: 1.75;
  }
}
.works-item__img {
  flex-shrink: 0;
  width: 100vw;
  overflow-x: hidden;
  height: 30vh;
}

@media screen and (min-width: 768px) {
  .works-item__img {
    width: calc(100% - 26.0416666667vw);
    width: 84.375vw;
    height: initial;
  }
}
.works-item__img img {
  max-width: initial;
  width: 120vw;
  -o-object-position: center bottom;
     object-position: center bottom;
}

@media screen and (min-width: 768px) {
  .works-item__img img {
    width: 100vw;
  }
}
.slide-horizontal01-nav__container {
  position: absolute;
  z-index: 1000;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  width: 0%;
}

.slide-horizontal01-nav__box {
  position: sticky;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.slide-horizontal01-nav__inner {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

@media screen and (min-width: 768px) {
  .slide-horizontal01-nav__inner {
    width: -moz-fit-content;
    width: fit-content;
  }
}
.slide-horizontal01-nav__list {
  margin-inline: auto;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding-top: 3.0769230769vw;
  padding-bottom: 3.5897435897vw;
  margin-bottom: 15svh;
  opacity: 0;
}

@media screen and (min-width: 768px) {
  .slide-horizontal01-nav__list {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: initial;
    display: block;
    justify-content: flex-start;
    padding-top: max(9px, 0.46875vw);
    padding-bottom: max(11px, 0.5729166667vw);
    padding-left: 5.46875vw;
    padding-right: max(11px, 0.5729166667vw);
    margin-bottom: max(28px, 1.4583333333vw);
    align-items: center;
    flex-wrap: nowrap;
    opacity: 1;
  }
}
.slide-horizontal01-nav__list::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0.8;
}

@media screen and (min-width: 768px) {
  .slide-horizontal01-nav__list::after {
    display: none;
  }
}
.slide-horizontal01-nav__item {
  flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .slide-horizontal01-nav__item + .slide-horizontal01-nav__item {
    margin-top: 0.8333333333vw;
  }
}
.slide-horizontal01-nav__link {
  display: block;
  font-size: 3.5897435897vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #bbbbbb !important;
  padding: 0 6.1538461538vw;
}

.slide-horizontal01-nav__item:nth-child(n+4) .slide-horizontal01-nav__link {
  padding: 0 4.6153846154vw;
}

@media screen and (min-width: 768px) {
  .slide-horizontal01-nav__link {
    padding: 0 max(16px, 1.25vw);
    padding: 0;
    font-size: max(12px, 0.8333333333vw);
    width: -moz-fit-content;
    width: fit-content;
  }
  .slide-horizontal01-nav__item:nth-child(n+4) .slide-horizontal01-nav__link {
    padding: 0;
  }
}
.slide-horizontal01-nav__link.active {
  color: #1b1b1c !important;
}

.slide-horizontal01-nav__item + .slide-horizontal01-nav__item {
  position: relative;
}

.slide-horizontal01-nav__item + .slide-horizontal01-nav__item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 0.2564102564vw;
  height: 3.5897435897vw;
  background-color: #bbbbbb;
}

.slide-horizontal01-nav__item:nth-child(4n+1)::before {
  display: none;
}

@media screen and (min-width: 768px) {
  .slide-horizontal01-nav__item + .slide-horizontal01-nav__item::before {
    display: none !important;
    width: 1px;
    height: max(16px, 0.8333333333vw);
  }
  .slide-horizontal01-nav__item:nth-child(4n+1)::before {
    display: block;
  }
}
.project-outer {
  position: relative;
}

.project {
  overflow: hidden;
}

.project__contents {
  display: flex;
}

@media screen and (min-width: 768px) {
  .project-texts__wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
}
.project__texts {
  width: 39.691943128vh;
  flex-shrink: 0;
  display: grid;
  place-content: center;
  padding: 0 6.6666666667vw;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .project__texts {
    width: 29.0625vw;
    padding-left: 5.46875vw;
    padding-right: 5.46875vw;
    padding-top: 8.1481481481svh;
    padding-bottom: 8.1481481481svh;
    display: block;
    place-content: initial;
  }
}
.project__title {
  font-family: "Roboto", sans-serif;
  font-size: min(6.8720379147vh, 20.5128205128vw);
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.1538461538;
}

@media screen and (min-width: 768px) {
  .project__title {
    font-size: 3.90625vw;
    line-height: 1.73;
  }
}
.project__sub-title {
  margin-top: 1.7772511848vh;
  font-size: 1.7772511848vh;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .project__sub-title {
    margin-top: 0px;
    font-size: max(0.8333333333vw, 12px);
  }
}
.project-contents__list {
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 5.9241706161vh;
  padding-top: 2.3696682464vh;
  padding-bottom: 2.3696682464vh;
  padding-left: 1.2820512821vw;
  padding-right: 6.4102564103vw;
}

@media screen and (min-width: 768px) {
  .project-contents__list {
    margin-top: auto;
    padding-top: 1.3020833333vw;
    padding-top: 0;
    padding-bottom: 1.3020833333vw;
    padding-bottom: 0;
    padding-left: 0.2604166667vw;
    padding-right: 1.25vw;
    display: none;
  }
}
.project-contents__item {
  font-size: 1.8099547511vh;
  font-weight: 500;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .project-contents__item {
    font-size: max(10px, 0.8333333333vw);
  }
}
.project-contents__item + .project-contents__item {
  margin-top: 1.8957345972vh;
}

@media screen and (min-width: 768px) {
  .project-contents__item + .project-contents__item {
    margin-top: 0.8333333333vw;
  }
}
.project-contents__img {
  width: 47.3933649289vh;
  height: 100%;
  flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .project-contents__img {
    width: 98.4375vw;
  }
}
.project__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 87.0853080569vh;
  padding-bottom: 20vh;
}

@media screen and (min-width: 768px) {
  .project__item {
    flex-direction: row;
    align-items: stretch;
    margin-left: 0;
    width: initial;
    padding-bottom: 0;
  }
}
.slide-panel:nth-child(odd) .project__item {
  flex-direction: column-reverse;
}

@media screen and (min-width: 768px) {
  .slide-panel:nth-child(odd) .project__item {
    flex-direction: row;
  }
}
.project-item__texts {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
}

@media screen and (min-width: 768px) {
  .project-item__texts {
    width: 30.2083333333vw;
    width: 33.8020833333vw;
    padding-top: 9.2592592593svh;
    padding-right: 1.3020833333vw;
    padding-left: 5.46875vw;
    align-items: flex-start;
  }
}
.works-item__texts {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .works-item__texts {
    width: 26.0416666667vw;
    width: 29.0625vw;
    padding-top: 9.2592592593svh;
    padding-right: 1.3020833333vw;
    padding-left: 5.46875vw;
    align-items: flex-start;
  }
}
.project-item__head {
  padding: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .project-item__head {
    padding: 0;
  }
}
.project-item-head__wrap {
  display: flex;
  align-items: center;
  gap: 3.8461538462vw;
}

@media screen and (min-width: 768px) {
  .project-item-head__wrap {
    gap: 1.0416666667vw;
  }
}
.project-item__title {
  font-size: 8.2051282051vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .project-item__title {
    font-size: 3.125vw;
  }
}
.project-item__link {
  padding-right: 12.0512820513vw;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .project-item__link {
    padding-right: 3.6458333333vw;
  }
}
.project-item__link::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  right: 0;
  transform: translateY(calc(-50% + 0.5128205128vw));
  width: 8.2051282051vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/arrow--viewMore--black.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (min-width: 768px) {
  .project-item__link::after {
    width: 2.6041666667vw;
    transform: translateY(calc(-50% + 0.2083333333vw));
  }
}
.project-item__link.line-2::after {
  top: initial;
  bottom: 2.0512820513vw;
  transform: translateY(0);
}

@media screen {
  .project-item__link.line-2::after {
    bottom: 0.4166666667vw;
  }
}
.project-item__desc {
  line-height: 1.75;
  font-size: 3.8461538462vw;
  line-height: 2;
  margin-top: 4.1025641026vw;
}

@media screen and (min-width: 768px) {
  .project-item__desc {
    margin-top: 2.8645833333vw;
    font-size: max(0.8333333333vw, 12px);
    line-height: 1.75;
  }
}
.project-item__img {
  flex-shrink: 0;
  width: 100vw;
  overflow-x: hidden;
  height: 30vh;
}

@media screen and (min-width: 768px) {
  .project-item__img {
    width: calc(100% - 30.2083333333vw);
    width: 98.4375vw;
    height: initial;
  }
}
.project-item__img img {
  max-width: initial;
  width: 120vw;
  -o-object-position: center bottom;
     object-position: center bottom;
}

@media screen and (min-width: 768px) {
  .project-item__img img {
    width: 100vw;
  }
}
.slide-horizontal02-nav__container {
  position: absolute;
  z-index: 1000;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  width: 0%;
}

.slide-horizontal02-nav__box {
  position: sticky;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.slide-horizontal02-nav__inner {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

@media screen and (min-width: 768px) {
  .slide-horizontal02-nav__inner {
    width: -moz-fit-content;
    width: fit-content;
  }
}
.slide-horizontal02-nav__list {
  width: 74.358974359vw;
  margin-inline: auto;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding-top: 3.0769230769vw;
  padding-bottom: 3.5897435897vw;
  margin-bottom: 10vh;
  opacity: 0;
}

@media screen and (min-width: 768px) {
  .slide-horizontal02-nav__list {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: initial;
    display: block;
    justify-content: flex-start;
    padding-top: max(9px, 0.46875vw);
    padding-bottom: max(11px, 0.5729166667vw);
    padding-left: 5.46875vw;
    padding-right: max(11px, 0.5729166667vw);
    margin-bottom: max(28px, 1.4583333333vw);
    align-items: center;
    flex-wrap: nowrap;
    opacity: 1;
  }
}
.slide-horizontal02-nav__list::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0.8;
}

@media screen and (min-width: 768px) {
  .slide-horizontal02-nav__list::after {
    display: none;
  }
}
.slide-horizontal02-nav__item {
  flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .slide-horizontal02-nav__item + .slide-horizontal02-nav__item {
    margin-top: 0.8333333333vw;
  }
}
.slide-horizontal02-nav__link {
  display: block;
  font-size: 3.5897435897vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #bbbbbb !important;
  padding: 0 6.1538461538vw;
  max-width: 43.5897435897vw;
}

@media screen and (min-width: 768px) {
  .slide-horizontal02-nav__link {
    padding: 0 max(16px, 1.25vw);
    padding: 0;
    font-size: max(12px, 0.8333333333vw);
    width: -moz-fit-content;
    width: fit-content;
    max-width: 7.8125vw;
  }
}
.slide-horizontal02-nav__link.active {
  color: #1b1b1c !important;
}

.slide-horizontal02-nav__item + .slide-horizontal02-nav__item {
  position: relative;
}

.slide-horizontal02-nav__item + .slide-horizontal02-nav__item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 0.2564102564vw;
  height: 3.5897435897vw;
  background-color: #bbbbbb;
}

.slide-horizontal02-nav__item:nth-child(4n+1)::before {
  display: none;
}

@media screen and (min-width: 768px) {
  .slide-horizontal02-nav__item + .slide-horizontal02-nav__item::before {
    width: 1px;
    height: max(16px, 0.8333333333vw);
    display: none;
  }
  .slide-horizontal02-nav__item:nth-child(4n+1)::before {
    display: block;
  }
}
.message *:has(> .jsMessageTarget) {
  display: inline-block;
  overflow-y: hidden;
}

.jsMessageTarget {
  display: inline-block;
  transform: translateY(101%);
}

.message {
  position: relative;
}

.message__bg {
  width: 100%;
  height: auto;
  aspect-ratio: 390/844;
}

@media screen and (min-width: 768px) {
  .message__bg {
    aspect-ratio: 1920/1280;
  }
}
.message__head {
  position: absolute;
  top: 0;
  left: 0;
  padding: 23.5897435897vw 6.4102564103vw;
}

@media screen and (min-width: 768px) {
  .message__head {
    padding: 4.6354166667vw 10.625vw;
    right: 0;
    left: initial;
  }
}
.message-head__img {
  width: 86.6666666667vw;
  height: auto;
  aspect-ratio: 338/50;
}

@media screen and (min-width: 768px) {
  .message-head__img {
    width: 32.6041666667vw;
    aspect-ratio: 626/92;
  }
}
@media screen and (min-width: 768px) {
  .main-archive-works {
    display: flex;
  }
}
.archive-works-filter {
  background-color: #EBEBE7;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .archive-works-filter {
    padding-top: 6.6666666667vw;
  }
}
.archive-works-filter__sp {
  position: fixed;
  top: var(--header-height);
  left: 0;
  width: 100%;
  z-index: 101;
}

@media screen and (min-width: 768px) {
  .archive-works-filter__sp {
    position: static;
    width: max(200px, 18.75vw);
  }
}
.archive-works-filter__sticky {
  margin-top: var(--header-height);
  position: sticky;
  top: var(--header-height);
}

@media screen and (min-width: 768px) {
  .archive-works-filter__wrap {
    overflow-y: scroll;
    position: sticky;
    top: 6.6666666667vw;
    left: 0;
    height: 100vh;
    /*スクロールバー非表示（IE・Edge）*/
    -ms-overflow-style: none;
    /*スクロールバー非表示（Firefox）*/
    scrollbar-width: none;
  }
  .archive-works-filter__wrap::-webkit-scrollbar {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .archive-works-filter__head {
    padding-left: 1.3541666667vw;
    padding-right: 1.3541666667vw;
    padding-bottom: 1.4583333333vw;
  }
}
.archive-works-filter__title {
  font-family: "Roboto", sans-serif;
  font-size: 5.641025641vw;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .archive-works-filter__title {
    font-size: max(1.1458333333vw, 16px);
  }
}
.archive-works-filter__title.no-border {
  border-top: none;
}

@media screen and (min-width: 768px) {
  .archive-works-filter__title {
    font-size: max(22px, 1.1458333333vw);
    line-height: 1.6363636364;
    letter-spacing: 0.01em;
  }
}
.archive-works-filter__title01 {
  padding: 3.2051282051vw 5.1282051282vw 3.7179487179vw;
  position: relative;
}

@media screen and (min-width: 768px) {
  .archive-works-filter__title01 {
    padding: 0;
  }
}
.archive-works-filter__title01::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5.1282051282vw;
  transform: translateY(calc(-50% - 1.2820512821vw)) rotate(-45deg);
  width: 2.8205128205vw;
  height: auto;
  aspect-ratio: 1/1;
  border-left: 0.2564102564vw solid #1B1B1C;
  border-bottom: 0.2564102564vw solid #1B1B1C;
  transition: transform 0.3s ease 0s;
}

@media screen and (min-width: 768px) {
  .archive-works-filter__title01::after {
    display: none;
  }
}
.archive-works-filter__title01.open::after {
  transform: translateY(calc(-50% + 1.2820512821vw)) rotate(135deg);
}

.archive-works-filter__form-container {
  padding-bottom: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .archive-works-filter__form-container {
    padding-top: 0;
    padding-bottom: 15.625vw;
  }
}
.archive-works-filter__form-container-wrap {
  overflow-y: hidden;
}

.archive-works-filter__main-wrap {
  display: grid;
  grid-template-rows: 0fr;
  padding-top: 0vw;
  padding-bottom: 0vw;
  --transitionSeconds: 0.8s;
  transition: grid-template-rows var(--transitionSeconds) ease 0s, padding-top 0.1s ease 0.7s, padding-bottom 0.1s ease 0.7s;
}
.archive-works-filter__main-wrap .archive-works-filter__form-container {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .archive-works-filter__main-wrap {
    display: contents;
  }
}
.archive-works-filter__main-wrap.open {
  grid-template-rows: 1fr;
  transition: grid-template-rows 0.8s ease 0s, padding-top 0.1s ease 0s, padding-bottom 0.1s ease 0s;
}

@media screen and (min-width: 768px) {
  .archive-works-filter__container {
    padding-bottom: min(18.75vw, 360px);
  }
}
.archive-works-filter__form {
  height: 80vh;
  overflow-y: scroll;
}

@media screen and (min-width: 768px) {
  .archive-works-filter__form {
    height: auto;
    overflow-y: visible;
  }
}
.archive-works-filter__main {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .archive-works-filter__main {
    display: block;
  }
}
.archive-works-filter__box {
  padding: 7.1794871795vw 5.1282051282vw;
  border-top: 0.5128205128vw solid #fff;
}

@media screen and (min-width: 768px) {
  .archive-works-filter__box {
    padding: 1.4583333333vw 1.3541666667vw;
    border-top: 0.1041666667vw solid #fff;
  }
}
.archive-works-filter__list {
  padding: 4.358974359vw 2.0512820513vw;
  display: flex;
  flex-wrap: wrap;
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .archive-works-filter__list {
    font-size: max(0.78125vw, 12px);
    display: grid;
  }
}
.archive-works-filter__list01 {
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 15.3846153846vw;
       column-gap: 15.3846153846vw;
  row-gap: 4.1025641026vw;
}

.archive-works-filter__list02 {
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 12.8205128205vw;
       column-gap: 12.8205128205vw;
  row-gap: 4.1025641026vw;
}

@media screen and (min-width: 768px) {
  .archive-works-filter__list {
    display: block;
    padding: 0;
    margin-top: 0.78125vw;
  }
}
.archive-works-filter__item {
  min-width: 33.3333333333vw;
}

@media screen and (min-width: 768px) {
  .archive-works-filter__item {
    min-width: initial;
  }
}
.archive-works-filter__item a {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 500;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  .archive-works-filter__item a {
    font-size: 13px;
    line-height: 1;
  }
}
.archive-works-filter__item + .archive-works-filter__item {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .archive-works-filter__item + .archive-works-filter__item {
    margin-top: 0.7291666667vw;
  }
}
.archive-works-contents {
  margin-top: calc(var(--header-height) * 2 + 17.9487179487vw);
  padding: 0 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .archive-works-contents {
    margin-top: 0;
    width: calc(100% - max(200px, 18.75vw));
    padding: 1.4583333333vw;
    padding-top: 6.1458333333vw;
  }
}
.archive-works-contents__title--en {
  font-family: "Roboto", sans-serif;
  font-size: 14.8717948718vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.1538461538;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .archive-works-contents__title--en {
    font-size: 3.90625vw;
    line-height: 1;
  }
}
.archive-works-contents__title--jp {
  font-size: 3.3333333333vw;
  font-weight: 500;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  .archive-works-contents__title--jp {
    font-size: 13px;
    line-height: 2.6923076923;
  }
}
.archive-works-contents__list {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .archive-works-contents__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1.4583333333vw;
         column-gap: 1.4583333333vw;
    row-gap: 1.5625vw;
    margin-top: 4.1666666667vw;
    padding: 0;
  }
}
.archive-works-contents__item a {
  display: inline-block;
  border-bottom: 1px solid #fff;
}

@media screen and (min-width: 768px) {
  .archive-works-contents__item > a {
    padding-bottom: 2.0833333333vw;
  }
}
.archive-works-contents__item + .archive-works-contents__item {
  margin-top: 12.8205128205vw;
}

@media screen and (min-width: 768px) {
  .archive-works-contents__item + .archive-works-contents__item {
    margin-top: 0;
  }
}
.archive-works-contents-item__img {
  width: 100%;
  height: auto;
  aspect-ratio: 338/190;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .archive-works-contents-item__img {
    aspect-ratio: 720/405;
  }
}
.archive-works-contents-item__texts {
  padding-top: 6.1538461538vw;
}

@media screen and (min-width: 768px) {
  .archive-works-contents-item__texts {
    padding: 1.4583333333vw;
  }
}
.archive-works-contents-item__title {
  font-size: 5.1282051282vw;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .archive-works-contents-item__title {
    font-size: max(15px, 0.9375vw);
  }
}
.archive-works-contents-item__wrap {
  display: flex;
  flex-wrap: wrap;
  margin-top: 4.6153846154vw;
  -moz-column-gap: 8.2051282051vw;
       column-gap: 8.2051282051vw;
}

@media screen and (min-width: 768px) {
  .archive-works-contents-item__wrap {
    margin-top: 0.78125vw;
    -moz-column-gap: 1.6666666667vw;
         column-gap: 1.6666666667vw;
    row-gap: 0.625vw;
  }
}
.archive-works-contents-item__wrap > * > span {
  font-size: 3.8461538462vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .archive-works-contents-item__wrap > * > span {
    font-size: max(0.8333333333vw, 12px);
  }
}
.archive-works-contents-item__wrap > * > span + span {
  margin-left: 3.0769230769vw;
}

@media screen and (min-width: 768px) {
  .archive-works-contents-item__wrap > * > span + span {
    margin-left: 0.9375vw;
  }
}
.archive-works-contents-item__desc, .archive-works-contents-item__info {
  font-size: 3.8461538462vw;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 2;
  margin-top: 4.1025641026vw;
}

@media screen and (min-width: 768px) {
  .archive-works-contents-item__desc, .archive-works-contents-item__info {
    margin-top: 0.625vw;
    font-size: max(0.8333333333vw, 12px);
  }
}
.archive-works-contents-item__info {
  font-weight: 500;
}

.archive-works-contents-item__desc span {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.archive-works-contents-item__categories {
  display: flex;
  align-items: flex-start;
  font-size: 3.5897435897vw;
  letter-spacing: 0.01em;
  line-height: 1;
  margin-top: 4.6153846154vw;
  -moz-column-gap: 1.5384615385vw;
       column-gap: 1.5384615385vw;
  row-gap: 0.7692307692vw;
}

@media screen and (min-width: 768px) {
  .archive-works-contents-item__categories {
    margin-top: 0.9375vw;
    gap: 0.625vw;
    font-size: max(0.7291666667vw, 10px);
  }
}
.archive-works-contents-item__tax--works-category {
  flex-shrink: 0;
}

.archive-works-contents-item__tax {
  display: flex;
  flex-wrap: wrap;
  font-weight: 400 !important;
  -moz-column-gap: 3.0769230769vw;
       column-gap: 3.0769230769vw;
  row-gap: 1.5384615385vw;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .archive-works-contents-item__tax {
    gap: 0.8333333333vw;
  }
}
.archive-works-contents-item__term--works-category {
  font-weight: 500 !important;
  padding: 0 2.0512820513vw;
  border-left: 0.2564102564vw solid #1B1B1C;
  border-right: 0.2564102564vw solid #1B1B1C;
}
.archive-works-contents-item__term--works-category:last-child {
  border-right: 0.2564102564vw solid #1B1B1C;
}

@media screen and (min-width: 768px) {
  .archive-works-contents-item__term--works-category {
    padding: 0 8px;
    border-left: 1px solid #1B1B1C;
    border-right: 1px solid #1B1B1C;
  }
  .archive-works-contents-item__term--works-category:last-child {
    border-right: 1px solid #1B1B1C;
  }
}
.archive-works-contents-item__term-link {
  display: block;
}

.archive-works-contents-item__img img {
  transition: transform 0.3s ease 0s;
}

.archive-works-contents__item {
  position: relative;
}

.archive-works-contents__item > a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transition: background-color 0.3s ease 0s;
  height: 100%;
}

.archive-works-contents__item > a:hover ~ .archive-works-contents-item__img img {
  transform: scale(1.1);
}

.archive-works-contents__item > a:hover ~ .archive-works-contents-item__texts {
  background-color: #F4F4F4;
}

.archive-works-filter__btn-link {
  display: block;
  width: 100%;
  line-height: 1;
  background: #1B1B1C;
  text-align: center;
  padding: 4.8717948718vw;
}

@media screen and (min-width: 768px) {
  .archive-works-filter__btn-link {
    padding: 1.25vw 0.625vw;
    border: 0.0520833333vw solid transparent;
    --time: .3s;
    --timeRate: 1;
    transition-property: background-color;
    transition-timing-function: ease;
    transition-duration: var(--time);
    transition-duration: calc(var(--time) * var(--timeRate));
  }
  .archive-works-filter__btn-link .archive-works-filter__btn-texts {
    --time: .3s;
    --timeRate: 1;
    transition-property: color;
    transition-timing-function: ease;
    transition-duration: var(--time);
    transition-duration: calc(var(--time) * var(--timeRate));
  }
}
@media screen and (min-width: 768px) {
  .archive-works-filter__btn-link:hover {
    background: #484849;
    border: 0.0520833333vw solid #1B1B1C;
  }
}
.archive-works-filter__btn-texts {
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  color: #fff;
  font-size: 3.8461538462vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 6.6666666667vw;
}

@media screen and (min-width: 768px) {
  .archive-works-filter__btn-texts {
    font-size: 15px;
    padding-left: 25px;
    padding-top: 4px;
    padding-bottom: 4px;
  }
}
.archive-works-filter__btn-texts::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 3.5897435897vw;
  height: auto;
  aspect-ratio: 14/20;
  background-image: url(../images/icon--map.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (min-width: 768px) {
  .archive-works-filter__btn-texts::before {
    width: 14px;
  }
}
.archive-works-filter__btn--close {
  display: block;
  font-family: "Roboto", sans-serif;
  font-size: 3.5897435897vw;
  letter-spacing: 0.01em;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
  color: #fff;
  text-transform: uppercase;
  margin-top: 9.7435897436vw;
  padding-bottom: 1.2820512821vw;
}

.archive-works-filter__btn--close::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 7.1794871795vw;
  height: 0.2564102564vw;
  background-color: rgba(255, 255, 255, 0.5);
}

@media screen and (min-width: 768px) {
  .archive-works-filter__btn--close {
    display: none;
  }
}
/* ------------------------
  ボタンのアニメーション
---------------------------*/
.jsTextWrap {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .jsTextWrap {
    overflow: hidden;
  }
}
.jsTextWrap span {
  display: block;
  line-height: 1.1;
  transition: transform 0.5s ease 0s;
}

.jsBtn a:hover .jsTextWrap span {
  transform: translateY(-120%);
}

.main-single-works {
  margin-top: 33.3333333333vw;
}

@media screen and (min-width: 768px) {
  .main-single-works {
    margin-top: 0;
  }
}
.single-works__mv {
  width: 100%;
  height: auto;
  aspect-ratio: 390/260;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .single-works__mv {
    height: 100vh;
    aspect-ratio: initial;
  }
}
.single-works__mv-box {
  width: 100%;
  height: 100%;
}

.single-works__head {
  padding: 0 6.6666666667vw;
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .single-works__head {
    margin-left: 4.1666666667vw;
    margin-right: 4.1666666667vw;
    padding: 0 1.3020833333vw;
    margin-top: 5.7291666667vw;
    display: flex;
    gap: 6.25vw;
  }
}
.single-works__title {
  font-size: 6.1538461538vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4166666667;
}

@media screen and (min-width: 768px) {
  .single-works__title {
    font-size: max(1.6666666667vw, 32px);
    line-height: 1.40625;
  }
}
.single-works__desc {
  font-size: 3.8461538462vw;
  line-height: 2;
  letter-spacing: 0.01em;
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .single-works__desc {
    font-size: max(0.8333333333vw, 16px);
    line-height: 2;
    margin-top: 0;
  }
}
.single-works-info__container {
  padding: 0 6.6666666667vw;
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .single-works-info__container {
    margin-left: 4.1666666667vw;
    margin-right: 4.1666666667vw;
    margin-top: 7.8125vw;
    padding: 0 1.3020833333vw;
  }
}
.single-works__info {
  color: #1B1B1C !important;
}

@media screen and (min-width: 768px) {
  .single-works__info {
    display: flex;
  }
}
.single-works__category {
  border-top: 0.2564102564vw solid #fff;
  padding: 7.6923076923vw 3.3333333333vw;
  background-color: #EBEBE7;
}

@media screen and (min-width: 768px) {
  .single-works__category {
    width: 12.5vw;
    border-right: 0.1041666667vw solid #fff;
    border-top: none;
    padding: 1.4583333333vw;
    padding-right: 0.8333333333vw;
  }
}
.single-works-category__title,
.single-works-data__title,
.single-works-site__title {
  font-family: "Roboto", sans-serif;
  font-size: 5.641025641vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .single-works-category__title,
  .single-works-data__title,
  .single-works-site__title {
    font-size: max(1.1458333333vw, 16px);
  }
}
.single-works-category__contents {
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
  margin-top: 3.8461538462vw;
}

@media screen and (min-width: 768px) {
  .single-works-category__contents {
    margin-top: 0.9375vw;
    font-size: max(0.8333333333vw, 11px);
  }
}
.single-works__data {
  border-top: 0.5128205128vw solid #fff;
  padding: 7.6923076923vw 3.3333333333vw;
  background-color: #EBEBE7;
}

@media screen and (min-width: 768px) {
  .single-works__data {
    width: 57.34375vw;
    border-right: 0.1041666667vw solid #fff;
    border-top: none;
    padding: 1.4583333333vw;
    padding-bottom: 1.875vw;
    background-color: #EBEBE7;
  }
}
.single-works-data-list__wrap {
  font-weight: 500;
  font-size: 3.8461538462vw;
  letter-spacing: 0.05em;
  margin-top: 3.8461538462vw;
  display: grid;
  grid-template-columns: max-content 1fr;
  -moz-column-gap: 10.2564102564vw;
       column-gap: 10.2564102564vw;
  row-gap: 3.0769230769vw;
  word-break: break-all;
}

@media screen and (min-width: 768px) {
  .single-works-data-list__wrap {
    margin-top: 0.9375vw;
    font-size: max(0.8333333333vw, 11px);
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    justify-content: start; /* 左寄せにする */
    gap: 2.5vw;
  }
}
@media screen and (min-width: 1240px) {
  .single-works-data-list__wrap {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
}
@media screen and (min-width: 1780px) {
  .single-works-data-list__wrap {
    grid-template-columns: repeat(3, 1fr);
  }
}
.single-works-data-list__wrap span:nth-child(odd) {
  max-width: 25.641025641vw;
}

@media screen and (min-width: 768px) {
  .single-works-data-list__wrap span:nth-child(odd) {
    max-width: initial;
  }
}
.single-works-data__list {
  display: contents;
}

@media screen and (min-width: 768px) {
  .single-works-data__list {
    display: grid;
    grid-template-columns: max-content 1fr;
    -moz-column-gap: 1.0416666667vw;
         column-gap: 1.0416666667vw;
    row-gap: 0.7291666667vw;
    padding-right: 2.5vw;
    border-right: 0.0520833333vw solid #BBBBBB;
    padding-inline-end: 1rem;
    word-break: break-all;
  }
}
@media screen and (min-width: 768px) {
  .single-works-data__list.is-row-end {
    border-inline-end: none; /* 行末だけ消す */
    padding-inline-end: 0;
  }
}
.single-works-data__list + .single-works-data__list {
  margin-top: 5.3846153846vw;
}

@media screen and (min-width: 768px) {
  .single-works-data__list + .single-works-data__list {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .single-works-data__list span:nth-child(odd) {
    max-width: 9.375vw;
  }
}
.single-works__site {
  border-top: 0.5128205128vw solid #fff;
  padding: 7.6923076923vw 3.3333333333vw;
  background-color: #EBEBE7;
}

@media screen and (min-width: 768px) {
  .single-works__site {
    border-top: none;
    width: 18.9583333333vw;
    padding: 1.4583333333vw;
  }
}
.single-works-site__contents {
  font-size: 3.5897435897vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  margin-top: 3.8461538462vw;
}

@media screen and (min-width: 768px) {
  .single-works-site__contents {
    margin-top: 0.9375vw;
    font-size: max(0.8333333333vw, 11px);
  }
}
.single-works-site__contents a {
  color: inherit;
}

.single-works__pictures {
  margin-top: 20.5128205128vw;
  padding: 43.8461538462vw 0;
  position: relative;
}

@media screen and (min-width: 768px) {
  .single-works__pictures {
    margin-top: 5.7291666667vw;
    padding-left: 5.46875vw;
    padding-right: 3.9583333333vw;
    padding-top: 5.7291666667vw;
    padding-bottom: 5.7291666667vw;
  }
}
.single-works-picture__wrap {
  position: relative;
}

@media screen and (min-width: 768px) {
  .single-works-picture__wrap {
    display: flex;
    gap: 5.5729166667vw;
    height: 48.3333333333vw;
  }
}
.single-works-picture__wrap::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 50%;
  transform: translateX(50%) translateY(0%);
  width: 19.4871794872vw;
  height: auto;
  aspect-ratio: 76/77;
  clip-path: polygon(0% 0%, 0% 100%, 10% 100%, 10% 10%, 90% 10%, 90% 90%, 10% 90%, 10% 100%, 100% 100%, 100% 0%);
  border: 0.2564102564vw solid #fff;
}

@media screen and (min-width: 768px) {
  .single-works-picture__wrap::after {
    content: "";
    position: absolute;
    bottom: initial;
    top: 50%;
    right: 0;
    transform: translateX(0%) translateY(-50%);
    width: 12.3958333333vw;
    aspect-ratio: 238/162;
    border: 0.078125vw solid #fff;
  }
}
.single-works-picture__imgs {
  position: relative;
  width: 86.6666666667vw;
  height: 57.6923076923vw;
  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .single-works-picture__imgs {
    flex-grow: 1;
    flex-shrink: 0;
    width: initial;
    height: initial;
    padding: 0;
    margin-inline: initial;
  }
}
.single-works-picture__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.single-works-picture__sub-imgs-wrap {
  /*スクロールバー非表示（IE・Edge）*/
  -ms-overflow-style: none;
  /*スクロールバー非表示（Firefox）*/
  scrollbar-width: none;
  margin-top: 14.1025641026vw;
  overflow-x: scroll;
  padding: 0.8974358974vw 0;
}

.single-works-picture__sub-imgs-wrap::-webkit-scrollbar {
  display: none;
}

@media screen and (min-width: 768px) {
  .single-works-picture__sub-imgs-wrap {
    width: 12.3958333333vw;
    padding: 0 0.46875vw;
    overflow-y: scroll;
    overflow-x: visible;
    margin-top: 0;
  }
}
.single-works-picture__sub-imgs {
  display: flex;
  padding-left: 41.0256410256vw;
  padding-right: 39.7435897436vw;
  width: -moz-fit-content;
  width: fit-content;
}

@media screen and (min-width: 768px) {
  .single-works-picture__sub-imgs {
    flex-direction: column;
    padding-top: 20.3125vw;
    padding-bottom: 19.6354166667vw;
    padding-left: 0;
    padding-right: 0;
    width: initial;
  }
}
.single-works-picture__sub-img {
  width: 17.9487179487vw;
  height: 17.9487179487vw;
  flex-shrink: 0;
  margin-right: 1.2820512821vw;
}

@media screen and (min-width: 768px) {
  .single-works-picture__sub-img {
    width: 100%;
    height: 7.6041666667vw;
    flex-shrink: initial;
    margin-right: 0;
    margin-bottom: 0.78125vw;
  }
}
.single-works-picture__sub-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.single-works-forms {
  margin-top: 20.5128205128vw;
}

@media screen and (min-width: 768px) {
  .single-works-forms {
    margin-top: 0;
    padding: 5.7291666667vw 1.0416666667vw;
  }
}
.single-works-forms__container {
  background-color: #EBEBE7;
  padding: 15.3846153846vw 6.4102564103vw;
  color: #1B1B1C !important;
}

@media screen and (min-width: 768px) {
  .single-works-forms__container {
    padding: 4.1666666667vw;
    width: 100%;
    max-width: max(72.6041666667vw, 1394px);
    margin-inline: auto;
  }
}
.single-works-forms__box {
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .single-works-forms__box {
    display: flex;
    gap: 6.8229166667vw;
  }
}
@media screen and (min-width: 768px) {
  .single-works-form__text {
    width: max(300px, 24.6875vw);
  }
}
.single-works-form__title--en {
  font-family: "Roboto", sans-serif;
  font-size: 12.8205128205vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.26;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .single-works-form__title--en {
    font-size: 3.90625vw;
    line-height: 1.2533333333;
  }
}
.single-works-form__title--jp {
  font-size: 5.1282051282vw;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .single-works-form__title--jp {
    font-size: max(1.0416666667vw, 14px);
    line-height: 1.7;
  }
}
.single-works-form {
  margin-top: 12.8205128205vw;
}

@media screen and (min-width: 768px) {
  .single-works-form {
    margin-top: 0;
    flex-shrink: 0;
    flex-grow: 1;
    padding-top: 1.6666666667vw;
    width: calc(100% - max(300px, 24.6875vw));
  }
}
.single-works-articles {
  margin-top: 20.5128205128vw;
}

@media screen and (min-width: 768px) {
  .single-works-articles {
    margin-top: 0;
  }
}
.single-works-articles__box {
  padding: 6.6666666667vw;
}

@media screen and (min-width: 768px) {
  .single-works-articles__box {
    padding: 0;
    width: calc(100% - max(220px, 16.3541666667vw));
  }
}
@media screen and (min-width: 768px) {
  .single-works-articles__container {
    display: flex;
  }
}
@media screen and (min-width: 768px) {
  .single-works-filter {
    flex-shrink: 0;
    width: max(220px, 16.3541666667vw);
  }
}
.single-works-filter__title {
  font-size: 5.641025641vw;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .single-works-filter__title {
    font-size: max(22px, 1.1458333333vw);
    line-height: 1.6363636364;
    letter-spacing: 0.01em;
  }
}
.single-works-contents__list,
.single-works-articles__box .archive-works-contents__list {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .single-works-contents__list,
  .single-works-articles__box .archive-works-contents__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1.0416666667vw;
         column-gap: 1.0416666667vw;
    row-gap: 2.2916666667vw;
    padding: 0 1.4583333333vw;
    margin-top: 0;
  }
}
@media screen and (min-width: 1240px) {
  .single-works-contents__list,
  .single-works-articles__box .archive-works-contents__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.fade-in {
  opacity: 0;
  transform: translateY(30px); /* 少し下から */
  transition: opacity 1.5s ease, transform 1.5s ease;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

@media screen and (min-width: 768px) {
  .main-home-news {
    display: flex;
  }
}
.home-news-filter {
  background-color: #EBEBE7;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .home-news-filter {
    padding-top: 6.6666666667vw;
  }
}
.home-news-filter__sp {
  position: fixed;
  top: var(--header-height);
  left: 0;
  width: 100%;
  z-index: 100;
}

@media screen and (min-width: 768px) {
  .home-news-filter__sp {
    position: static;
    width: max(200px, 18.75vw);
  }
}
.home-news-filter__sticky {
  margin-top: var(--header-height);
  position: sticky;
  top: var(--header-height);
}

@media screen and (min-width: 768px) {
  .home-news-filter__wrap {
    position: sticky;
    top: 6.6666666667vw;
    left: 0;
    height: 100vh;
    overflow-y: scroll;
    /*スクロールバー非表示（IE・Edge）*/
    -ms-overflow-style: none;
    /*スクロールバー非表示（Firefox）*/
    scrollbar-width: none;
  }
  .home-news-filter__wrap::-webkit-scrollbar {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .home-news-filter__head {
    padding-left: 1.3541666667vw;
    padding-right: 1.3541666667vw;
    padding-bottom: 1.4583333333vw;
  }
}
.home-news-filter__title {
  font-family: "Roboto", sans-serif;
  font-size: 5.641025641vw;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .home-news-filter__title {
    font-size: max(1.1458333333vw, 16px);
  }
}
.home-news-filter__title.no-border {
  border-top: none;
}

@media screen and (min-width: 768px) {
  .home-news-filter__title {
    font-size: max(22px, 1.1458333333vw);
    line-height: 1.6363636364;
    letter-spacing: 0.01em;
  }
}
.home-news-filter__title01 {
  padding: 3.2051282051vw 5.1282051282vw 3.7179487179vw;
  position: relative;
}

@media screen and (min-width: 768px) {
  .home-news-filter__title01 {
    padding: 0;
  }
}
.home-news-filter__title01::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5.1282051282vw;
  transform: translateY(calc(-50% - 1.2820512821vw)) rotate(-45deg);
  width: 2.8205128205vw;
  height: auto;
  aspect-ratio: 1/1;
  border-left: 0.2564102564vw solid #1B1B1C;
  border-bottom: 0.2564102564vw solid #1B1B1C;
  transition: transform 0.3s ease 0s;
}

@media screen and (min-width: 768px) {
  .home-news-filter__title01::after {
    display: none;
  }
}
.home-news-filter__title01.open::after {
  transform: translateY(calc(-50% + 1.2820512821vw)) rotate(135deg);
}

.home-news-filter__main-wrap {
  display: grid;
  grid-template-rows: 0fr;
  padding-top: 0vw;
  padding-bottom: 0vw;
  --transitionSeconds: 0.8s;
  transition: grid-template-rows var(--transitionSeconds) ease 0s, padding-top 0.1s ease 0.7s, padding-bottom 0.1s ease 0.7s;
  border-top: 0.5128205128vw solid #fff;
}

@media screen and (min-width: 768px) {
  .home-news-filter__main-wrap {
    display: contents;
    border-top: none;
  }
}
.home-news-filter__main-wrap.open {
  grid-template-rows: 1fr;
  transition: grid-template-rows 0.8s ease 0s, padding-top 0.1s ease -0.1s, padding-bottom 0.1s ease -0.1s;
}

@media screen and (min-width: 768px) {
  .home-news-filter__container {
    padding-bottom: min(18.75vw, 360px);
  }
}
.home-news-filter__form-container-wrap {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .home-news-filter__form-container-wrap {
    overflow: visible;
  }
}
.home-news-filter__form-container {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  height: 85vh;
  overflow-y: scroll;
}

@media screen and (min-width: 768px) {
  .home-news-filter__form-container {
    width: initial;
    margin: 0;
    height: auto;
    overflow-y: visible;
  }
}
.home-news-filter__form-container {
  padding-top: 3.5897435897vw;
  padding-bottom: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .home-news-filter__form-container {
    padding-top: 0;
    padding-bottom: 15.625vw;
  }
}
.home-news-filter__main {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .home-news-filter__main {
    display: block;
  }
}
.home-news-filter__box {
  padding-left: 5.1282051282vw;
  padding-right: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .home-news-filter__box {
    padding: 1.4583333333vw 1.3541666667vw;
    border-top: 0.1041666667vw solid #fff;
  }
}
.home-news-filter__box + .home-news-filter__box {
  margin-top: 4.1025641026vw;
}

@media screen and (min-width: 768px) {
  .home-news-filter__box + .home-news-filter__box {
    margin-top: 0;
  }
}
.home-news-filter__box:not(:last-child) {
  border-bottom: 0.5128205128vw solid #fff;
}

@media screen and (min-width: 768px) {
  .home-news-filter__box:not(:last-child) {
    border-bottom: 0;
  }
}
.home-news-filter__list {
  padding: 4.358974359vw 0;
  display: flex;
  flex-wrap: wrap;
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .home-news-filter__list {
    font-size: max(0.78125vw, 12px);
    display: grid;
  }
}
.home-news-filter__list01 {
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 8.2051282051vw;
       column-gap: 8.2051282051vw;
  row-gap: 4.1025641026vw;
  padding-bottom: 10.2564102564vw;
}

.home-news-filter__list02 {
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 8.2051282051vw;
       column-gap: 8.2051282051vw;
  row-gap: 4.1025641026vw;
}

@media screen and (min-width: 768px) {
  .home-news-filter__list {
    display: block;
    padding: 0;
    margin-top: 0.78125vw;
  }
}
.home-news-filter__item a {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 500;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  .home-news-filter__item a {
    font-size: 13px;
    line-height: 1;
  }
}
.home-news-filter__item {
  min-width: 23.0769230769vw;
}

@media screen and (min-width: 768px) {
  .home-news-filter__item {
    min-width: initial;
  }
}
.home-news-filter__item + .home-news-filter__item {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .home-news-filter__item + .home-news-filter__item {
    margin-top: 0.7291666667vw;
  }
}
/* タグ/サブリスト系（必要に応じて有効化）
.home-news-filter__sub-list { }
.home-news-filter__tags { }
@include mq(md) {
  .home-news-filter__tags {
    padding-left: vw(1920, 10);
    margin-top: vw(1920,40);
  }
}
.home-news-filter__tag { }
@include mq(md) {
  .home-news-filter__tag a {
    font-size: 12px;
    letter-spacing: 0.05em;
    letter-spacing: calc(33 / 13);
  }
}
*/
.home-news-contents {
  margin-top: calc(var(--header-height) * 2 + 17.9487179487vw);
  padding: 0 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .home-news-contents {
    margin-top: 0;
    width: calc(100% - max(200px, 16.3541666667vw));
    padding: 1.4583333333vw;
    padding-top: 6.3020833333vw;
  }
}
.home-news-contents__title--en {
  font-family: "Roboto", sans-serif;
  font-size: 14.8717948718vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.1538461538;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .home-news-contents__title--en {
    font-size: 3.90625vw;
    line-height: 1;
  }
}
.home-news-contents__title--jp {
  font-size: 3.3333333333vw;
  font-weight: 500;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  .home-news-contents__title--jp {
    font-size: 13px;
    line-height: 2.6923076923;
  }
}
.home-news-contents__main {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .home-news-contents__main {
    margin-top: 3.3854166667vw;
  }
}
.home-news-contents__list {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .home-news-contents__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 1.4583333333vw;
         column-gap: 1.4583333333vw;
    row-gap: 1.5625vw;
    margin-top: 3.0208333333vw;
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  .home-news-contents__list--single {
    grid-template-columns: repeat(4, 1fr);
  }
}
.home-news-contents__item:not(.home-news-contents__item--featured) {
  position: relative;
}

.home-news-contents__item:not(.home-news-contents__item--featured) .home-news-contents__link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}

.home-news-contents__item .home-news-contents__link {
  display: inline-block;
  border-bottom: 1px solid #fff;
}

@media screen and (min-width: 768px) {
  .home-news-contents__item .home-news-contents__link {
    padding-bottom: 2.0833333333vw;
  }
}
.home-news-contents__item--featured {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

@media screen and (min-width: 768px) {
  .home-news-contents__item--featured {
    width: initial;
    grid-column: 1/-1;
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  .home-news-contents__item .home-news-contents__link--featured {
    display: flex;
    align-items: flex-start;
    gap: 1.3541666667vw;
  }
}
.home-news-contents__link--featured .home-news-contents-item__img {
  height: auto;
  aspect-ratio: 390/219;
}
.home-news-contents__link--featured .home-news-contents-item__texts {
  padding-left: 20px;
  padding-right: 20px;
}
.home-news-contents__link--featured .home-news-contents-item__meta {
  font-size: 6.1538461538vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4166666667;
}
.home-news-contents__link--featured .home-news-contents-item__category01 {
  font-size: 3.5897435897vw;
  font-weight: 400 !important;
  letter-spacing: 0.01em;
  line-height: 1.8571428571;
  margin-top: 5.1282051282vw;
}
@media screen and (min-width: 768px) {
  .home-news-contents__link--featured .home-news-contents-item__category01 {
    margin-top: 0.5208333333vw;
  }
}
.home-news-contents__link--featured .home-news-contents-item__title {
  font-size: 6.1538461538vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4166666667;
}
.home-news-contents__link--featured .home-news-contents-item__desc span {
  display: -webkit-box;
  -webkit-line-clamp: 9;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 3.8461538462vw;
  line-height: 2;
  letter-spacing: 0.01em;
}
.home-news-contents__link--featured .home-news-contents-item__more {
  margin-top: 12.8205128205vw;
  text-align: center;
}
.home-news-contents__link--featured .home-news-contents-item__readmore {
  display: inline-block;
  padding-top: 1.7948717949vw;
  padding-bottom: 2.0512820513vw;
  padding-left: 5.641025641vw;
  padding-right: 5.641025641vw;
  background-color: #1B1B1C;
  color: #fff;
}
.home-news-contents__link--featured .home-news-contents-item__readmore span {
  display: inline-block;
  font-size: 4.1025641026vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  padding-right: 6.1538461538vw;
  position: relative;
  z-index: 1;
}
.home-news-contents__link--featured .home-news-contents-item__readmore span::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 4.6153846154vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/arrow--viewMore.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (min-width: 768px) {
  .home-news-contents__link--featured .home-news-contents-item__img {
    width: 39.6875vw;
    aspect-ratio: 762/429;
    flex-shrink: 0;
    margin: 0;
  }
  .home-news-contents__link--featured .home-news-contents-item__texts {
    padding: 0;
  }
  .home-news-contents__link--featured .home-news-contents-item__meta {
    font-size: 1.6666666667vw;
    line-height: 1.40625;
    margin-top: 0;
  }
  .home-news-contents__link--featured .home-news-contents-item__categories {
    margin-top: 0.5208333333vw;
  }
  .home-news-contents__link--featured .home-news-contents-item__category01 {
    font-size: max(10px, 0.8333333333vw);
    line-height: 1;
  }
  .home-news-contents__link--featured .home-news-contents-item__title {
    font-size: max(20px, 1.6666666667vw);
    line-height: 1.40625;
    margin-top: 0.5208333333vw;
  }
  .home-news-contents__link--featured .home-news-contents-item__desc {
    margin-top: 0.5208333333vw;
  }
  .home-news-contents__link--featured .home-news-contents-item__desc span {
    -webkit-line-clamp: 5;
    font-size: max(12px, 0.8333333333vw);
  }
  .home-news-contents__link--featured .home-news-contents-item__more {
    margin-top: 1.5625vw;
    text-align: left;
  }
  .home-news-contents__link--featured .home-news-contents-item__readmore {
    padding-top: 0.3645833333vw;
    padding-bottom: 0.4166666667vw;
    padding-left: 1.1458333333vw;
    padding-right: 1.1458333333vw;
    border: 0.0520833333vw solid #1B1B1C;
    --readmoreTime: .15s;
    --readmoreTimeRate: 2;
    transition-property: background-color, color, opacity;
    transition-timing-function: ease;
    transition-duration: calc(var(--readmoreTime) * var(--readmoreTimeRate));
  }
  .home-news-contents__link--featured .home-news-contents-item__readmore:hover {
    opacity: 0.8;
    transition-duration: var(--readmoreTime);
  }
  .home-news-contents__link--featured .home-news-contents-item__readmore span {
    padding-right: max(18px, 1.25vw);
    font-size: max(12px, 0.8333333333vw);
  }
  .home-news-contents__link--featured .home-news-contents-item__readmore span::after {
    width: max(13px, 0.9375vw);
    transform: translateY(calc(-50% + 0.0520833333vw));
    transition-property: background-image;
    transition-timing-function: ease;
    transition-duration: calc(var(--readmoreTime) * var(--readmoreTimeRate));
  }
  .home-news-contents__link--featured .home-news-contents-item__readmore:hover span::after {
    transition-duration: var(--readmoreTime);
  }
}
/* ギャップ・位置ズレ演出（必要なら再有効化）
@include mq(md) {
  .home-news-contents__item:nth-child(even) {
    transform: translateY(vw(1920, 84));
  }
  .home-news-contents__item:nth-child(n + 3) {
    margin-top: vw(1920, 110);
  }
}
*/
.home-news-contents-item__tax {
  position: relative;
  z-index: 2;
}

.home-news-contents__item + .home-news-contents__item {
  margin-top: 12.8205128205vw;
}

@media screen and (min-width: 768px) {
  .home-news-contents__item + .home-news-contents__item {
    margin-top: 0;
  }
}
.home-news-contents-item__img {
  width: 100%;
  height: auto;
  aspect-ratio: 338/190;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .home-news-contents-item__img {
    aspect-ratio: 720/405;
  }
}
.home-news-contents-item__texts {
  padding-top: 6.1538461538vw;
}

@media screen and (min-width: 768px) {
  .home-news-contents-item__texts {
    padding: 1.4583333333vw;
  }
}
.home-news-contents-item__title {
  font-family: "Roboto", "Zen Kaku Gothic New", sans-serif;
  font-size: 5.1282051282vw;
  font-weight: 700;
  line-height: 1.7;
  margin-top: 1.2820512821vw;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .home-news-contents-item__title {
    font-size: max(15px, 1.0416666667vw);
    margin-top: 0.5208333333vw;
  }
}
.home-news-contents-item__wrap {
  display: flex;
  flex-wrap: wrap;
  margin-top: 4.6153846154vw;
  -moz-column-gap: 8.2051282051vw;
       column-gap: 8.2051282051vw;
}

@media screen and (min-width: 768px) {
  .home-news-contents-item__wrap {
    margin-top: 0.78125vw;
    -moz-column-gap: 1.6666666667vw;
         column-gap: 1.6666666667vw;
    row-gap: 0.625vw;
  }
}
.home-news-contents-item__wrap > * > span {
  font-size: 3.8461538462vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .home-news-contents-item__wrap > * > span {
    font-size: max(0.8333333333vw, 12px);
  }
}
.home-news-contents-item__wrap > * > span + span {
  margin-left: 3.0769230769vw;
}

@media screen and (min-width: 768px) {
  .home-news-contents-item__wrap > * > span + span {
    margin-left: 0.9375vw;
  }
}
.home-news-contents-item__meta {
  font-size: 5.1282051282vw;
  font-weight: 500;
  letter-spacing: 0.02em;
  opacity: 0.9;
}

@media screen and (min-width: 768px) {
  .home-news-contents-item__meta {
    font-size: max(1.0416666667vw, 12px);
  }
}
.home-news-contents-item__desc {
  font-size: 3.8461538462vw;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 2;
  margin-top: 4.1025641026vw;
}

@media screen and (min-width: 768px) {
  .home-news-contents-item__desc {
    margin-top: 0.625vw;
    font-size: max(0.8333333333vw, 12px);
  }
}
.home-news-contents-item__desc span {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.home-news-contents-item__categories {
  display: flex;
  font-size: 3.5897435897vw;
  letter-spacing: 0.01em;
  line-height: 1;
  margin-top: 4.6153846154vw;
  -moz-column-gap: 1.5384615385vw;
       column-gap: 1.5384615385vw;
  row-gap: 0.7692307692vw;
}

@media screen and (min-width: 768px) {
  .home-news-contents-item__categories {
    margin-top: 0.78125vw;
    gap: 0.625vw;
    font-size: max(0.7291666667vw, 10px);
  }
}
.home-news-contents-item__category01 {
  display: flex;
  flex-shrink: 0;
  font-weight: 500 !important;
}

.home-news-contents-item__category02 {
  display: flex;
  flex-wrap: wrap;
  font-weight: 400 !important;
  -moz-column-gap: 3.0769230769vw;
       column-gap: 3.0769230769vw;
  row-gap: 1.5384615385vw;
}

@media screen and (min-width: 768px) {
  .home-news-contents-item__category02 {
    gap: 0.8333333333vw;
  }
}
.home-news-contents__item .home-news-contents__link:not(.home-news-contents__link--featured):hover .home-news-contents-item__img img {
  transform: scale(1.1);
}

.home-news-contents__item a:not(.home-news-contents__item--featured a) {
  height: 100%;
}

.home-news-contents-item__img img {
  transition: transform 0.3s ease 0s;
}

.home-news-contents-item__texts {
  transition: background-color 0.3s ease 0s;
}

.home-news-contents__item a:not(.home-news-contents__item--featured a):hover ~ .home-news-contents-item__img img {
  transform: scale(1.1);
}

.home-news-contents__item a:not(.home-news-contents__item--featured a):hover ~ .home-news-contents-item__texts {
  background-color: #F4F4F4;
}

.home-news-filter__btn-link {
  display: block;
  width: 100%;
  line-height: 1;
  background: #1B1B1C;
  text-align: center;
  padding: 4.8717948718vw;
}

@media screen and (min-width: 768px) {
  .home-news-filter__btn-link {
    padding: 1.25vw 0.625vw;
  }
}
.home-news-filter__btn-texts {
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  color: #fff;
  font-size: 3.8461538462vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 6.6666666667vw;
}

@media screen and (min-width: 768px) {
  .home-news-filter__btn-texts {
    font-size: 15px;
    padding-left: 25px;
    padding-top: 4px;
    padding-bottom: 4px;
  }
}
.home-news-filter__btn-texts::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 3.5897435897vw;
  height: auto;
  aspect-ratio: 14/20;
  background-image: url(../images/icon--map.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (min-width: 768px) {
  .home-news-filter__btn-texts::before {
    width: 14px;
  }
}
.home-news-filter__btn--close {
  display: block;
  font-family: "Roboto", sans-serif;
  font-size: 3.5897435897vw;
  letter-spacing: 0.01em;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
  color: #fff;
  text-transform: uppercase;
  margin-top: 9.7435897436vw;
  padding-bottom: 1.2820512821vw;
}

.home-news-filter__btn--close::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 7.1794871795vw;
  height: 0.2564102564vw;
  background-color: rgba(255, 255, 255, 0.5);
}

@media screen and (min-width: 768px) {
  .home-news-filter__btn--close {
    display: none;
  }
}
/* ------------------------
  ボタンのアニメーション
---------------------------*/
.jsTextWrap {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .jsTextWrap {
    overflow: hidden;
  }
}
.jsTextWrap span {
  display: block;
  line-height: 1.1;
  transition: transform 0.5s ease 0s;
}

.jsBtn a:hover .jsTextWrap span {
  transform: translateY(-120%);
}

/* ------------------------
  “もっと見る”ボタン（home側の配置用）
---------------------------*/
.home-news-contents__more {
  text-align: center;
  margin-top: 2rem;
}

.home-news-contents__main-content {
  font-size: 3.5897435897vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .home-news-contents__main-content {
    font-size: max(12px, 0.8333333333vw);
  }
}
@media screen and (min-width: 768px) {
  .home-news-contents__main-content {
    width: 64.375vw;
  }
}
.home-news-recommended__title {
  font-family: "Roboto", sans-serif;
  font-size: 12.8205128205vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  margin-top: 38.4615384615vw;
}

@media screen and (min-width: 768px) {
  .home-news-recommended__title {
    font-size: 3.90625vw;
    margin-top: 10.4166666667vw;
  }
}
@media screen and (min-width: 768px) {
  .main-single-news .home-news-contents {
    padding-top: 7.03125vw;
  }
  .main-single-news .home-news-filter {
    width: max(200px, 16.3541666667vw);
  }
  .main-single-news .home-news-contents__list {
    display: flex;
    flex-wrap: wrap;
  }
  .main-single-news .home-news-contents__item {
    width: calc((100% - 1.4583333333vw) / 2);
  }
  .main-single-news .home-news-contents__item a {
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .main-single-news .home-news-contents__item {
    width: calc((100% - 4.375vw) / 4);
  }
}
.home-news-contents__date {
  font-size: 6.1538461538vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.40625;
}

@media screen and (min-width: 768px) {
  .home-news-contents__date {
    font-size: 1.6666666667vw;
  }
}
.home-news-contents__cats {
  margin-top: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .home-news-contents__cats {
    margin-top: 1.5625vw;
  }
}
.home-news-contents__cat-item {
  letter-spacing: 0.01em;
  line-height: 1.8571428571;
  font-size: 3.5897435897vw;
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  .home-news-contents__cat-item {
    font-size: max(10px, 0.7291666667vw);
  }
}
.home-news-contents__single-title {
  margin-top: 2.5641025641vw;
  font-size: 6.1538461538vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4166666667;
}

@media screen and (min-width: 768px) {
  .home-news-contents__single-title {
    margin-top: 0.5208333333vw;
    font-size: max(32px, 1.6666666667vw);
    line-height: 1.40625;
  }
}
.home-news-contents__thumbnail {
  margin: 7.6923076923vw calc(50% - 50vw);
  width: 100vw;
  height: auto;
  aspect-ratio: 390/219;
}

@media screen and (min-width: 768px) {
  .home-news-contents__thumbnail {
    margin: 2.6041666667vw 0;
    width: 100%;
    aspect-ratio: 1236/695;
  }
}
.home-news-contents__main-content-wrapper {
  /* デフォルト（decimal） */
  /* lower-alpha 用 */
  /* upper-alpha 用 */
  /* lower-roman 用 */
  /* upper-roman 用 */
  /* lower-roman（i, ii, iii, …） */
  /* upper-roman（I, II, III, …） */
  /* lower-greek（α, β, γ, …）— サポートある環境ではこれで出る */
  /* ---- フォールバック用（JSが --marker を入れたときに使う） ---- */
}
.home-news-contents__main-content-wrapper p {
  line-height: 2.7;
}
.home-news-contents__main-content-wrapper img + img {
  margin-top: 40px;
  margin-bottom: 40px;
}
.home-news-contents__main-content-wrapper img:not(.size-full) {
  display: inline;
  width: revert-layer;
}
.home-news-contents__main-content-wrapper ol {
  counter-reset: orderNum;
  list-style: none !important;
}
.home-news-contents__main-content-wrapper ul > li, .home-news-contents__main-content-wrapper ol > li {
  position: relative;
  padding-left: 3.5897435897vw;
}
@media screen and (min-width: 768px) {
  .home-news-contents__main-content-wrapper ul > li, .home-news-contents__main-content-wrapper ol > li {
    padding-left: max(12px, 0.8333333333vw);
  }
}
.home-news-contents__main-content-wrapper ul > li::before, .home-news-contents__main-content-wrapper ol > li::before {
  position: absolute;
  top: 0;
  left: 0;
}
.home-news-contents__main-content-wrapper ul > li::before {
  content: "・";
}
.home-news-contents__main-content-wrapper ol > li::before {
  counter-increment: orderNum 1;
}
.home-news-contents__main-content-wrapper ol:not([style*=lower-roman]):not([style*=upper-roman]):not([style*=lower-greek]):not([style*=upper-alpha]):not([style*=lower-alpha]) > li::before {
  content: counter(orderNum) ".";
}
.home-news-contents__main-content-wrapper ol[style*=lower-alpha] > li::before {
  content: counter(orderNum, lower-alpha) ".";
}
.home-news-contents__main-content-wrapper ol[style*=upper-alpha] > li::before {
  content: counter(orderNum, upper-alpha) ".";
}
.home-news-contents__main-content-wrapper ol[style*=lower-roman] > li::before {
  content: counter(orderNum, lower-roman) ".";
}
.home-news-contents__main-content-wrapper ol[style*=upper-roman] > li::before {
  content: counter(orderNum, upper-roman) ".";
}
.home-news-contents__main-content-wrapper ol[style*=lower-roman] > li::before {
  content: counter(orderNum, lower-roman) ".";
}
.home-news-contents__main-content-wrapper ol[style*=upper-roman] > li::before {
  content: counter(orderNum, upper-roman) ".";
}
.home-news-contents__main-content-wrapper ol[style*=lower-greek] > li::before {
  content: counter(orderNum, lower-greek) ".";
}
.home-news-contents__main-content-wrapper ol[data-marker-polyfill=lower-greek] > li::before {
  content: var(--marker, "•") ".";
}

.home-news-contents__more-archive {
  padding-bottom: 38.4615384615vw;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .home-news-contents__more-archive {
    padding-bottom: 13.0208333333vw;
  }
}
.home-news-contents__more-archive-btn {
  font-size: 4.1025641026vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #fff !important;
  background-color: #1B1B1C;
  padding-top: 1.7948717949vw;
  padding-bottom: 2.0512820513vw;
  padding-left: 5.641025641vw;
  padding-right: 5.641025641vw;
}
.home-news-contents__more-archive-btn span {
  padding-right: 6.1538461538vw;
  position: relative;
}
.home-news-contents__more-archive-btn span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 4.6153846154vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/btn-arrow--sp.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media screen and (min-width: 768px) {
  .home-news-contents__more-archive-btn {
    font-size: max(12px, 0.8333333333vw);
    padding-top: 0.3645833333vw;
    padding-bottom: 0.4166666667vw;
    padding-left: 1.1458333333vw;
    padding-right: 1.1458333333vw;
    --time: .3s;
    --timeRate: 2;
    transition-property: opacity;
    transition-timing-function: ease;
    transition-duration: calc(var(--time) * var(--timeRate));
  }
  .home-news-contents__more-archive-btn span {
    padding-right: max(18px, 1.25vw);
  }
  .home-news-contents__more-archive-btn span::after {
    width: max(13.5px, 0.9375vw);
    background-image: url(../images/btn-arrow.webp);
  }
  .home-news-contents__more-archive-btn:hover {
    opacity: 0.8;
    transition-duration: var(--time);
  }
}
.p-main-business {
  --text-color: #fff;
  --bg-color: #1B1B1C;
  --bg02-color: #EBEBE7;
}

.opacity60 {
  opacity: 0.6;
}

.p-main-business {
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .p-main-business {
    font-size: clamp(14px, 1.2944983819vw, 16px);
  }
}
@media screen and (min-width: 1920px) {
  .p-main-business {
    font-size: 0.8333333333vw;
  }
}
.p-business-inner {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .p-business-inner {
    padding-right: 25px;
    padding-left: 25px;
    max-width: max(1266px, 65.9375vw);
  }
}

.p-business-inner--wide {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-business-inner--wide {
    padding-right: 25px;
    padding-left: 25px;
    max-width: max(1760px, 91.6666666667vw);
  }
}

.p-business-section__title--en {
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Roboto", sans-serif;
  font-size: 5.1282051282vw;
  letter-spacing: 0.01em;
  padding-right: 26.6666666667vw;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .p-business-section__title--en {
    font-size: clamp(16px, 1.6181229773vw, 20px);
    padding-right: clamp(78px, 7.928802589vw, 98px);
    padding-left: clamp(8px, 0.8090614887vw, 10px);
  }
}
@media screen and (min-width: 1920px) {
  .p-business-section__title--en {
    font-size: 1.0416666667vw;
    padding-right: 5.1041666667vw;
    padding-left: 0.5208333333vw;
  }
}
.p-business-section__title--en::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 23.5897435897vw;
  height: 0.2564102564vw;
  background-color: #1B1B1C;
}

@media screen and (min-width: 768px) {
  .p-business-section__title--en::after {
    width: clamp(74px, 7.4433656958vw, 92px);
    height: 1px;
  }
}
@media screen and (min-width: 1920px) {
  .p-business-section__title--en::after {
    width: 4.7916666667vw;
    height: 0.0520833333vw;
  }
}
.p-business-section__title--jp {
  margin-top: 1.2820512821vw;
  font-size: 10.2564102564vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.25;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .p-business-section__title--jp {
    margin-top: 0.4045307443vw;
    font-size: clamp(48px, 4.854368932vw, 60px);
    white-space: initial;
  }
}
html:not([lang=ja]) .p-business-section__title--jp {
  white-space: normal;
}

@media screen and (min-width: 1920px) {
  .p-business-section__title--jp {
    font-size: 3.125vw;
  }
}
.p-business-section__title--jp > * {
  display: inline-block;
}

.p-business-section__sub-title {
  font-size: 6.1538461538vw;
  font-weight: 500;
  line-height: 1.4166666667;
  letter-spacing: 0.01em;
  padding-bottom: 2.0512820513vw;
  border-bottom: 0.2564102564vw solid #707070;
}

@media screen and (min-width: 768px) {
  .p-business-section__sub-title {
    font-size: min(2.5889967638vw, 32px);
    line-height: 1.40625;
    padding-bottom: 0.8090614887vw;
    border-bottom: max(1px, 0.0809061489vw) solid #707070;
  }
}
@media screen and (min-width: 1920px) {
  .p-business-section__sub-title {
    font-size: 1.6666666667vw;
  }
}
.p-business-section__sub-title.mt-spot {
  padding-top: 25.641025641vw;
}

@media screen and (min-width: 768px) {
  .p-business-section__sub-title.mt-spot {
    padding-top: clamp(123px, 12.9449838188vw, 160px);
  }
}
@media screen and (min-width: 1920px) {
  .p-business-section__sub-title.mt-spot {
    padding-top: 8.3333333333vw;
  }
}
.p-business-section__small-title {
  font-size: 5.1282051282vw;
  font-weight: 700;
  line-height: 1.7;
}

@media screen and (min-width: 768px) {
  .p-business-section__small-title {
    font-size: clamp(16px, 1.6181229773vw, 20px);
  }
}
@media screen and (min-width: 1920px) {
  .p-business-section__small-title {
    font-size: 1.0416666667vw;
  }
}
.p-business-fv__bg {
  position: fixed;
  position: sticky;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}

.p-business-fv__bg.none-blur {
  filter: blur(0px) !important;
}

.p-business-fv__bg video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.splide-reason,
.splide-reason > *,
.splide-reason .p-business-fv__img {
  height: 100%;
}

.p-business-fv {
  margin-top: -100vh;
}

.p-business-fv__logo-container {
  background-color: #fff;
  height: calc(var(--header-height) + 18.9125295508vh);
  padding: 0 6.6666666667vw;
  padding-top: calc(var(--header-height) + 6.2647754137vh);
}

@media screen and (min-width: 768px) {
  .p-business-fv__logo-container {
    height: calc(var(--header-height) + 19.4444444444vh);
    padding: 0 5.46875vw;
    padding-top: calc(var(--header-height) + 3.2407407407vh);
  }
}
.p-business-fv__logo-container-text {
  padding-top: calc(var(--header-height) + 3.3333333333vh);
}

@media screen and (min-width: 768px) {
  .p-business-fv__logo-container-text {
    padding-top: calc(var(--header-height) + 3.0555555556vh);
  }
}
.p-business-fv__logo {
  width: auto;
  max-width: 100%;
  height: 8.9834515366vh;
  aspect-ratio: 338/76;
}

@media screen and (min-width: 768px) {
  .p-business-fv__logo {
    height: 11.1111111111vh;
    aspect-ratio: 538/120;
  }
}
.p-business-fv__logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-business-fv__title {
  font-size: 6.146572104vh;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4230769231;
}

@media screen and (min-width: 768px) {
  .p-business-fv__title {
    font-size: 8.3333333333vh;
    line-height: 1.9222222222;
  }
}
.p-business-fv__texts {
  height: calc(var(--header-height) + 64.5390070922vh);
  padding: 0 6.6666666667vw;
  padding-top: 2.3640661939vh;
}

@media screen and (min-width: 768px) {
  .p-business-fv__texts {
    height: calc(var(--header-height) + 65.7407407407vh);
    padding: 0 5.46875vw;
    padding-top: 5.0925925926vh;
  }
}
.p-business-fv__text {
  color: #1B1B1C;
  font-weight: 500;
  padding-bottom: 15.3846153846vw;
  padding-top: 26.9230769231vw;
}

@media screen and (min-width: 768px) {
  .p-business-fv__text {
    padding-bottom: 10.4166666667vw;
    padding-top: clamp(160px, 16.1812297735vw, 200px);
  }
}
@media screen and (min-width: 1920px) {
  .p-business-fv__text {
    padding-top: 10.4166666667vw;
  }
}
.p-tasteTown-concept01 {
  position: relative;
  z-index: 2;
  overflow-x: hidden;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

.p-tasteTown-concept01__item01 {
  padding-bottom: 25.641025641vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01__item01 {
    padding-bottom: clamp(158px, 16.0194174757vw, 198px);
  }
}
@media screen and (min-width: 1240px) {
  .p-tasteTown-concept01__item01 {
    padding-bottom: 10.3125vw;
  }
}
.p-tasteTown-concept01-item01__images {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  margin-top: 15.3846153846vw;
  margin-bottom: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01-item01__images {
    margin-top: 9.7087378641vw;
    margin-bottom: 9.7087378641vw;
  }
}
.p-tasteTown-concept01-item01__img-boxes {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01-item01__img-boxes {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.6374269006vw;
  }
}
.p-tasteTown-concept01-item01__img-box:nth-child(even) {
  margin-left: auto;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01-item01__img-box:nth-child(even) {
    margin-top: 2.3391812865vw;
    margin-left: initial;
  }
}
.p-tasteTown-concept01-item01__img {
  width: 71.7948717949vw;
  height: auto;
  aspect-ratio: 1/1;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01-item01__img {
    width: 100%;
  }
}
.p-tasteTown-concept01-item01__img-texts {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  color: #fff;
  padding: 2.5641025641vw;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01-item01__img-texts {
    padding: 1.1695906433vw 0.8771929825vw;
  }
}
.p-tasteTown-concept01-item01__img-texts-shop-cat {
  display: block;
  font-size: 3.5897435897vw;
  letter-spacing: 0.01em;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01-item01__img-texts-shop-cat {
    font-size: 0.8187134503vw;
  }
}
.p-tasteTown-concept01-item01__img-texts-shop-name {
  display: block;
  font-size: 3.5897435897vw;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
  margin-top: 1.2820512821vw;
  margin-bottom: 1.2820512821vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01-item01__img-texts-shop-name {
    font-size: 1.1695906433vw;
    margin-top: 0.350877193vw;
    margin-bottom: 0.350877193vw;
  }
}
.p-tasteTown-concept01-item01__img-texts-owner {
  font-size: 4.8717948718vw;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.4166666667;
}
.p-tasteTown-concept01-item01__img-texts-owner .text-sm {
  font-size: 3.8461538462vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01-item01__img-texts-owner {
    font-size: 1.4035087719vw;
    font-weight: 500;
  }
  .p-tasteTown-concept01-item01__img-texts-owner .text-sm {
    font-size: 1.1695906433vw;
    font-weight: 700;
  }
}
@media screen and (min-width: 768px) {
  .p-tasteTown-concept01__sub-title {
    max-width: clamp(673px, 68.0420711974vw, 841px);
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept01__sub-title {
    max-width: 43.8020833333vw;
  }
}
.p-tasteTown-concept01__sub-text {
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01__sub-text {
    margin-top: clamp(24px, 2.427184466vw, 30px);
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept01__sub-text {
    margin-top: 1.5625vw;
  }
}
.p-tasteTown-concept01__btn {
  margin-top: 15.3846153846vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12.8205128205vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01__btn {
    margin-top: clamp(40px, 4.0453074434vw, 50px);
    flex-direction: row;
    gap: 2.6041666667vw;
  }
}
@media screen and (min-width: 1780px) {
  .p-tasteTown-concept01__btn {
    margin-top: 2.6041666667vw;
  }
}
.p-tasteTown-concept01__btn .p-btn {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01__btn .p-btn {
    width: initial;
  }
}
.p-tasteTown-concept01-btn__img {
  width: 56.4102564103vw;
  height: auto;
  aspect-ratio: 220/119;
  background-image: url(../images/p-tasteTown-concept01__btn--black.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01-btn__img {
    width: 10.15625vw;
    aspect-ratio: 195/105;
  }
}
.p-tasteTown-concept01-btn__img.logo-white {
  background-image: url(../images/p-tasteTown-concept01__btn--white.webp);
}

.p-tasteTown-concept01__spacer {
  padding-top: 25.641025641vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01__spacer {
    padding-top: clamp(123px, 12.9449838188vw, 160px);
  }
}
.p-tasteTown-concept01__item02 {
  padding-bottom: 25.641025641vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01__item02 {
    padding-bottom: clamp(123px, 12.9449838188vw, 160px);
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept01__item02 {
    padding-top: 8.3333333333vw;
    padding-bottom: 8.3333333333vw;
  }
}
.p-tasteTown-concept01-item02__wrap {
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01-item02__wrap {
    display: flex;
    gap: min(14.3203883495vw, 177px);
    margin-top: clamp(40px, 3.2362459547vw, 40px);
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept01-item02__wrap {
    gap: 9.21875vw;
    margin-top: 2.0833333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-tasteTown-concept01-item02__small-title {
    flex-shrink: 0;
  }
}
.p-tasteTown-concept01-item02__images {
  margin-top: 15.3846153846vw;
  margin-bottom: 15.3846153846vw;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01-item02__images {
    margin-top: clamp(40px, 4.0453074434vw, 50px);
    margin-bottom: clamp(80px, 8.0906148867vw, 100px);
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: clamp(22px, 2.2653721683vw, 28px);
         column-gap: clamp(22px, 2.2653721683vw, 28px);
    row-gap: clamp(24px, 2.427184466vw, 30px);
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept01-item02__images {
    margin-top: 2.6041666667vw;
    margin-bottom: 5.2083333333vw;
    -moz-column-gap: 1.4583333333vw;
         column-gap: 1.4583333333vw;
    row-gap: 1.5625vw;
  }
}
.p-tasteTown-concept01-item02__list {
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01-item02__list {
    margin-top: clamp(36px, 3.640776699vw, 45px);
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept01-item02__list {
    margin-top: 2.3958333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-tasteTown-concept01-item02__item {
    display: flex;
  }
}
.p-tasteTown-concept01-item02__item + .p-tasteTown-concept01-item02__item {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01-item02__item + .p-tasteTown-concept01-item02__item {
    margin-top: clamp(36px, 3.2362459547vw, 40px);
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept01-item02__item + .p-tasteTown-concept01-item02__item {
    margin-top: 2.0833333333vw;
  }
}
.p-tasteTown-concept01-item02-item__head {
  padding-bottom: 2.5641025641vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01-item02-item__head {
    flex-shrink: 0;
    --headWidth: clamp(229px,calc(287/1236 * 100vw),287px);
    width: var(--headWidth);
    padding-bottom: 0;
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept01-item02-item__head {
    --headWidth: calc(287/1920 *100vw);
    width: var(--headWidth);
  }
}
.p-tasteTown-concept01-item02-item-head__year {
  line-height: 1;
}

.p-tasteTown-concept01-item02-item__body {
  flex-grow: 1;
  padding-top: 2.5641025641vw;
  border-top: 0.2564102564vw solid #BBBBBB;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept01-item02-item__body {
    width: calc(100% - var(--headWidth));
    padding-left: clamp(22px, 1.7799352751vw, 28px);
    border-left: 1px solid #BBBBBB;
    border-top: none;
    padding-top: 0;
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept01-item02-item__body {
    padding-left: 1.4583333333vw;
    border-left: 0.0520833333vw solid #BBBBBB;
  }
}
.p-tasteTown-concept02 {
  position: relative;
  z-index: 2;
  padding-top: 25.1282051282vw;
  padding-bottom: 25.1282051282vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept02 {
    padding-top: clamp(126px, 12.783171521vw, 158px);
    padding-bottom: clamp(126px, 12.783171521vw, 158px);
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept02 {
    padding-top: 8.2291666667vw;
    padding-bottom: 8.2291666667vw;
  }
}
.p-tasteTown-concept02-item01 {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept02-item01 {
    margin-top: clamp(64px, 6.4724919094vw, 80px);
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept02-item01 {
    margin-top: 4.1666666667vw;
  }
}
.p-tasteTown-concept02-item01__sub-text {
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept02-item01__sub-text {
    margin-top: clamp(24px, 2.427184466vw, 30px);
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept02-item01__sub-text {
    margin-top: 1.5625vw;
  }
}
.p-tasteTown-concept02-item01__wrap {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept02-item01__wrap {
    margin-top: clamp(64px, 6.4724919094vw, 80px);
    display: flex;
    align-items: flex-start;
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept02-item01__wrap {
    margin-top: 4.1666666667vw;
  }
}
.p-tasteTown-concept02-item01__small-title {
  flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept02-item01__small-title {
    --smallTitleWidth: calc(237/1236 * 100vw);
    width: clamp(189px, var(--smallTitleWidth), 237px);
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept02-item01__small-title {
    --smallTitleWidth: calc(237/1920 *100vw);
    width: var(--smallTitleWidth);
  }
}
.p-tasteTown-concept02-item01__small-text {
  flex-grow: 1;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept02-item01__small-text {
    width: calc(100% - var(--smallTitleWidth));
  }
}
.p-tasteTown-concept02-item01__images {
  margin-top: 15.3846153846vw;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept02-item01__images {
    margin-top: clamp(40px, 4.0453074434vw, 50px);
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: clamp(22px, 2.2653721683vw, 28px);
         column-gap: clamp(22px, 2.2653721683vw, 28px);
    row-gap: clamp(24px, 2.427184466vw, 30px);
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept02-item01__images {
    margin-top: 2.6041666667vw;
    -moz-column-gap: 1.4583333333vw;
         column-gap: 1.4583333333vw;
    row-gap: 1.5625vw;
  }
}
.p-tasteTown-concept02-item02 {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept02-item02 {
    margin-top: clamp(104px, 10.5177993528vw, 130px);
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept02-item02 {
    margin-top: 6.7708333333vw;
  }
}
.p-tasteTown-concept02-item02__wrap {
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept02-item02__wrap {
    margin-top: clamp(24px, 2.427184466vw, 30px);
    display: flex;
    align-items: flex-start;
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept02-item02__wrap {
    margin-top: 1.5625vw;
  }
}
@media screen and (min-width: 768px) {
  .p-tasteTown-concept02-item02__small-title {
    --widthSmallTitle: calc(316/1236 * 100vw);
    width: clamp(253px, var(--widthSmallTitle), 316px);
    flex-shrink: 0;
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept02-item02__small-title {
    --widthSmallTitle: calc(316/1920 * 100vw);
    width: var(--widthSmallTitle);
  }
}
.p-tasteTown-concept02-item02__img {
  height: auto;
  aspect-ratio: 209/216;
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept02-item02__img {
    flex-shrink: 0;
    --widthImg: calc(209/1236 *100vw);
    width: clamp(167px, var(--widthImg), 209px);
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-tasteTown-concept02-item02__img {
    --widthImg: calc(209/1920 *100vw);
    width: var(--widthImg);
  }
}
.p-tasteTown-concept02-item02__small-text {
  margin-top: 4.6153846154vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept02-item02__small-text {
    width: calc(100% - var(--widthImg) - var(--widthSmallTitle));
    padding-right: clamp(22px, 2.2653721683vw, 28px);
    margin-top: 0;
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept02-item02__small-text {
    padding-right: 1.4583333333vw;
  }
}
.p-tasteTown-concept02-item03__images {
  margin-top: 15.3846153846vw;
  margin-bottom: 15.3846153846vw;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .p-tasteTown-concept02-item03__images {
    margin-top: clamp(40px, 4.0453074434vw, 50px);
    margin-bottom: clamp(80px, 8.0906148867vw, 100px);
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: clamp(22px, 2.2653721683vw, 28px);
         column-gap: clamp(22px, 2.2653721683vw, 28px);
    row-gap: clamp(24px, 2.427184466vw, 30px);
  }
}
@media screen and (min-width: 1920px) {
  .p-tasteTown-concept02-item03__images {
    margin-top: 2.6041666667vw;
    margin-bottom: 5.2083333333vw;
    -moz-column-gap: 1.4583333333vw;
         column-gap: 1.4583333333vw;
    row-gap: 1.5625vw;
  }
}
.p-business-history {
  position: relative;
  z-index: 2;
  padding-top: 25.1282051282vw;
  padding-bottom: 38.4615384615vw;
}

@media screen and (min-width: 768px) {
  .p-business-history {
    padding-top: clamp(126px, 12.783171521vw, 158px);
    padding-bottom: clamp(126px, 12.9449838188vw, 160px);
    overflow-x: visible;
  }
}
.p-business-history__text {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .p-business-history__text {
    margin-top: clamp(64px, 6.4724919094vw, 80px);
  }
}
@media screen and (min-width: 1920px) {
  .p-business-history__text {
    margin-top: 4.1666666667vw;
  }
}
.p-business-history__wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

@media screen and (min-width: 768px) {
  .p-business-history__wrap {
    flex-direction: row;
    padding-top: clamp(64px, 6.4724919094vw, 80px);
    gap: clamp(22px, 2.2653721683vw, 28px);
  }
}
@media screen and (min-width: 1920px) {
  .p-business-history__wrap {
    padding-top: 4.1666666667vw;
    gap: 1.4583333333vw;
  }
}
.p-business-history__images {
  position: sticky;
  top: 0;
  background-color: #fff;
  z-index: 100;
  padding: 15.3846153846vw 20px 7.6923076923vw;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

@media screen and (min-width: 768px) {
  .p-business-history__images {
    display: block;
    flex: 1;
    top: clamp(16px, 1.6181229773vw, 20px);
    top: 10%;
    left: 0;
    width: initial;
    margin: 0;
    padding: 0;
  }
}
.p-business-history__sub-title {
  font-size: 6.1538461538vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  padding-bottom: 3.8461538462vw;
  line-height: 1.4;
  order: 1;
}

@media screen and (min-width: 768px) {
  .p-business-history__sub-title {
    font-size: clamp(25px, 2.5889967638vw, 32px);
    padding-bottom: clamp(16px, 1.6181229773vw, 20px);
  }
}
@media screen and (min-width: 1920px) {
  .p-business-history__sub-title {
    font-size: 1.6666666667vw;
    padding-bottom: 1.0416666667vw;
  }
}
.p-business-history__maps {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  aspect-ratio: 604/478;
  order: 2;
}

.p-business-history__map {
  position: absolute;
  inset: 0;
  width: 100%;
  height: auto;
}

@media screen and (min-width: 768px) {
  .p-business-history__map {
    width: 100%;
    height: 100%;
    aspect-ratio: initial;
  }
}
.p-business-history__cat-list {
  display: flex;
  align-items: center;
  margin-top: 3.8461538462vw;
  gap: 7.6923076923vw;
  order: 3;
}

@media screen and (min-width: 768px) {
  .p-business-history__cat-list {
    margin-top: clamp(12px, 1.213592233vw, 15px);
    gap: clamp(24px, 2.427184466vw, 30px);
  }
}
@media screen and (min-width: 1920px) {
  .p-business-history__cat-list {
    margin-top: 0.78125vw;
    gap: 1.5625vw;
  }
}
.p-business-history__cat-item {
  display: flex;
  align-items: center;
  gap: 1.5384615385vw;
}

@media screen and (min-width: 768px) {
  .p-business-history__cat-item {
    gap: clamp(4px, 0.4854368932vw, 6px);
  }
}
@media screen and (min-width: 1920px) {
  .p-business-history__cat-item {
    gap: 0.3125vw;
  }
}
.p-business-history__cat-color {
  display: inline-block;
  width: 11.7948717949vw;
  height: auto;
  aspect-ratio: 46/16;
}
.p-business-history__cat-color.--new {
  background-color: #DD0012;
}
.p-business-history__cat-color.--renovation {
  background-color: #FF9110;
}

@media screen and (min-width: 768px) {
  .p-business-history__cat-color {
    width: clamp(36px, 3.7216828479vw, 46px);
    aspect-ratio: 46/20;
  }
}
@media screen and (min-width: 1920px) {
  .p-business-history__cat-color {
    width: 2.3958333333vw;
  }
}
.p-business-history__cat {
  font-size: 3.0769230769vw;
  font-weight: 500;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .p-business-history__cat {
    font-size: clamp(10px, 1.1326860841vw, 14px);
  }
}
@media screen and (min-width: 1920px) {
  .p-business-history__cat {
    font-size: 0.7291666667vw;
  }
}
.p-business-history__btn {
  margin-top: 15.3846153846vw;
  order: 5;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-business-history__btn {
    margin-top: clamp(16px, 1.6181229773vw, 20px);
  }
}
@media screen and (min-width: 1920px) {
  .p-business-history__btn {
    margin-top: 1.0416666667vw;
  }
}
.p-business-history__list {
  order: 4;
  margin: 0 calc(50% - 50vw);
  margin-top: 7.6923076923vw;
  width: 100vw;
  overflow-y: scroll;
  /*スクロールバー非表示（IE・Edge）*/
  -ms-overflow-style: none;
  /*スクロールバー非表示（Firefox）*/
  scrollbar-width: none;
}

.p-business-history__list.lock {
  overflow-y: hidden;
}

.p-business-history__list::-webkit-scrollbar {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-business-history__list {
    flex: 1;
    padding-top: clamp(52px, 5.2588996764vw, 65px);
    margin: 0;
    width: initial;
    height: initial;
    overflow-y: visible;
  }
  .p-business-history__list.lock {
    overflow-y: visible;
  }
}
@media screen and (min-width: 1920px) {
  .p-business-history__list {
    padding-top: 3.3854166667vw;
  }
}
.p-business-history__item {
  background-color: #EBEBE7;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-business-history__item {
    display: flex;
  }
}
.p-business-history__item + .p-business-history__item {
  margin-top: 1.5384615385vw;
}

@media screen and (min-width: 768px) {
  .p-business-history__item + .p-business-history__item {
    margin-top: clamp(4px, 0.4854368932vw, 6px);
  }
}
@media screen and (min-width: 1920px) {
  .p-business-history__item + .p-business-history__item {
    margin-top: 0.3125vw;
  }
}
.p-business-history__item.active:has(+ div + div:not(:is(.active))) {
  background-color: rgba(235, 235, 231, 0.5);
}

.p-business-history__item-spacer {
  height: 55vh;
}

@media screen and (min-width: 768px) {
  .p-business-history__item-spacer {
    height: 90vh;
  }
}
.p-business-history__year {
  border-bottom: 0.2564102564vw solid #fff;
  padding: 0 20px;
}
.p-business-history__year span {
  font-size: 6.1538461538vw;
  font-weight: 500;
  line-height: 1.6363636364;
  letter-spacing: 0.01em;
  color: #BBBBBB;
}

@media screen and (min-width: 768px) {
  .p-business-history__year {
    position: static;
    border-bottom: none;
    border-right: 1px solid #fff;
    width: clamp(76px, 7.6860841424vw, 95px);
    flex-shrink: 0;
    padding-top: clamp(13px, 1.3754045307vw, 17px);
    padding-bottom: clamp(13px, 1.3754045307vw, 17px);
    padding-left: clamp(16px, 1.6181229773vw, 20px);
    padding-right: 0;
  }
  .p-business-history__year span {
    font-size: clamp(17px, 1.7799352751vw, 22px);
  }
}
@media screen and (min-width: 1920px) {
  .p-business-history__year {
    border-right: 0.0520833333vw solid #fff;
    width: 4.9479166667vw;
    padding-top: 0.8854166667vw;
    padding-bottom: 0.8854166667vw;
    padding-left: 1.0416666667vw;
  }
  .p-business-history__year span {
    font-size: 1.1458333333vw;
  }
}
.p-business-history__item--level02 {
  padding: 0 20px;
}

@media screen and (min-width: 768px) {
  .p-business-history__item--level02 {
    padding: 0 clamp(16px, 1.6181229773vw, 20px);
  }
}
@media screen and (min-width: 1920px) {
  .p-business-history__item--level02 {
    padding: 0 1.0416666667vw;
  }
}
.p-business-history__item--level02 + .p-business-history__item--level02 {
  border-top: 0.5128205128vw solid #fff;
}

@media screen and (min-width: 768px) {
  .p-business-history__item--level02 + .p-business-history__item--level02 {
    border-top: 2px solid #fff;
  }
}
@media screen and (min-width: 1920px) {
  .p-business-history__item--level02 + .p-business-history__item--level02 {
    border-top: 0.1041666667vw solid #fff;
  }
}
.p-business-history-item__title {
  padding: 5.1282051282vw 0;
}

@media screen and (min-width: 768px) {
  .p-business-history-item__title {
    padding: clamp(13px, 1.3754045307vw, 17px) 0;
  }
}
@media screen and (min-width: 1920px) {
  .p-business-history-item__title {
    padding: 0.8854166667vw 0;
  }
}
.p-business-history-item__container {
  will-change: grid-template-rows;
  --time: .4s;
  --timeRate: 2;
  transition-property: grid-template-rows;
  transition-timing-function: ease;
  transition-duration: calc(var(--time) * var(--timeRate));
}

.active .p-business-history-item__container {
  grid-template-rows: 1fr;
  transition-duration: var(--time);
}

.p-business-history-item__wrap {
  display: flex;
  align-items: flex-start;
  padding-bottom: 5.1282051282vw;
  gap: 3.0769230769vw;
}

@media screen and (min-width: 768px) {
  .p-business-history-item__wrap {
    padding-bottom: clamp(12px, 1.213592233vw, 15px);
    gap: clamp(9px, 0.9708737864vw, 12px);
  }
}
@media screen and (min-width: 1920px) {
  .p-business-history-item__wrap {
    padding-bottom: 0.78125vw;
    gap: 0.625vw;
  }
}
.p-business-history-item__img {
  flex-shrink: 0;
  width: 43.3333333333vw;
  height: auto;
  aspect-ratio: 169/127;
}

@media screen and (min-width: 768px) {
  .p-business-history-item__img {
    --widthImg: calc(184/1236 * 100vw);
    width: clamp(147px, var(--widthImg), 184px);
    aspect-ratio: 184/138;
  }
}
@media screen and (min-width: 1920px) {
  .p-business-history-item__img {
    --widthImg: calc(184/1920 * 100vw);
    width: var(--widthImg);
  }
}
.p-business-history-item__text {
  width: calc(100% - 43.3333333333vw);
  font-size: 3.0769230769vw;
  letter-spacing: 0.01em;
  line-height: 1.75;
}

@media screen and (min-width: 768px) {
  .p-business-history-item__text {
    width: calc(100% - clamp(147px, var(--widthImg), 184px));
    font-size: clamp(10px, 1.1326860841vw, 14px);
    line-height: 1.8571428571;
  }
}
@media screen and (min-width: 1920px) {
  .p-business-history-item__text {
    width: calc(100% - var(--widthImg));
    font-size: 0.7291666667vw;
  }
}
.p-craftValley-message {
  position: relative;
  z-index: 2;
  padding-top: 26.9230769231vw;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

@media screen and (min-width: 768px) {
  .p-craftValley-message {
    padding-top: clamp(160px, 16.1812297735vw, 200px);
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-message {
    padding-top: 10.4166666667vw;
  }
}
.p-craftValley-message__head {
  font-size: 6.1538461538vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4166666667;
}

@media screen and (min-width: 768px) {
  .p-craftValley-message__head {
    font-size: clamp(25px, 2.5889967638vw, 32px);
    line-height: 1.40625;
  }
}
.p-craftValley-message__head > * {
  display: inline-block;
}

@media screen and (min-width: 1920px) {
  .p-craftValley-message__head {
    font-size: 1.6666666667vw;
  }
}
.p-craftValley-message__body {
  margin-top: 7.1794871795vw;
}

@media screen and (min-width: 768px) {
  .p-craftValley-message__body {
    margin-top: clamp(14px, 1.4563106796vw, 18px);
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-message__body {
    margin-top: 0.9375vw;
  }
}
.p-craftValley-concept01 {
  position: relative;
  z-index: 2;
  overflow-x: hidden;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

.p-craftValley-concept01__text {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept01__text {
    margin-top: clamp(64px, 6.4724919094vw, 80px);
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-concept01__text {
    margin-top: 4.1666666667vw;
  }
}
.p-craftValley-concept01__item01 {
  padding-top: 15.3846153846vw;
  padding-bottom: 25.641025641vw;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept01__item01 {
    padding-top: clamp(96px, 9.7087378641vw, 120px);
    padding-bottom: clamp(128px, 12.9449838188vw, 160px);
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-concept01__item01 {
    padding-top: 6.25vw;
    padding-bottom: 8.3333333333vw;
  }
}
.p-craftValley-concept01__small-title01 {
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept01__small-title01 {
    margin-top: clamp(40px, 4.0453074434vw, 50px);
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-concept01__small-title01 {
    margin-top: 2.6041666667vw;
  }
}
.p-craftValley-concept01__small-title02 {
  margin-top: 12.8205128205vw;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept01__small-title02 {
    margin-top: clamp(64px, 6.4724919094vw, 80px);
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-concept01__small-title02 {
    margin-top: 4.1666666667vw;
  }
}
.p-craftValley-concept01-item01__wrap {
  margin-top: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept01-item01__wrap {
    display: flex;
    align-items: flex-start;
    gap: clamp(22px, 2.2653721683vw, 28px);
    margin-top: clamp(16px, 1.6181229773vw, 20px);
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-concept01-item01__wrap {
    gap: 1.4583333333vw;
    margin-top: 1.0416666667vw;
  }
}
.p-craftValley-concept01-item01__box {
  margin-inline: auto;
}
.p-craftValley-concept01-item01__box.--sm {
  width: 82.8402366864%;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept01-item01__box {
    margin-inline: initial;
  }
  .p-craftValley-concept01-item01__box.--lg {
    width: clamp(293px, 29.6925566343vw, 367px);
  }
  .p-craftValley-concept01-item01__box.--sm {
    width: clamp(230px, 23.3009708738vw, 288px);
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-concept01-item01__box.--lg {
    width: 19.1145833333vw;
  }
  .p-craftValley-concept01-item01__box.--sm {
    width: 15vw;
  }
}
.p-craftValley-concept01-item01__box + .p-craftValley-concept01-item01__box {
  margin-top: 6.4102564103vw;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept01-item01__box + .p-craftValley-concept01-item01__box {
    margin-top: 0;
  }
}
.p-craftValley-concept01-item01__img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
}

.p-craftValley-concept01-item01__info-box {
  padding: 4.1025641026vw;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept01-item01__info-box {
    padding: clamp(9px, 1.213592233vw, 15px);
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-concept01-item01__info-box {
    padding: 0.78125vw;
  }
}
@media screen and (min-width: 768px) {
  .p-craftValley-concept01-item01__box .p-craftValley-concept01-item01__info-box {
    padding-left: 0;
    padding-right: 0;
  }
}
.p-craftValley-concept01-item01__info01 {
  font-weight: 500;
  line-height: 1;
}

.p-craftValley-concept01-item01__info02 {
  font-size: 5.1282051282vw;
  font-weight: 700;
  line-height: 1.7;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept01-item01__info02 {
    font-size: clamp(16px, 1.6181229773vw, 20px);
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-concept01-item01__info02 {
    font-size: 1.0416666667vw;
  }
}
.p-craftValley-concept01__item02 {
  padding: 25.641025641vw 0;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept01__item02 {
    padding: clamp(128px, 12.9449838188vw, 160px) 0;
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-concept01__item02 {
    padding: 8.3333333333vw 0;
  }
}
.p-craftValley-concept01-item02__wrap {
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept01-item02__wrap {
    display: flex;
    gap: min(6.1488673139vw, 76px);
    margin-top: clamp(40px, 4.0453074434vw, 50px);
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-concept01-item02__wrap {
    gap: 3.9583333333vw;
    margin-top: 2.6041666667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-craftValley-concept01-item02__small-title {
    flex-shrink: 0;
  }
}
.p-craftValley-concept01-item02__list {
  display: flex;
  flex-direction: column;
  gap: 7.6923076923vw;
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept01-item02__list {
    flex-direction: row;
    gap: clamp(22px, 2.2653721683vw, 28px);
    margin-top: clamp(64px, 6.4724919094vw, 80px);
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-concept01-item02__list {
    gap: 1.4583333333vw;
    margin-top: 4.1666666667vw;
  }
}
.p-craftValley-concept01-item02__item {
  padding: 10.2564102564vw 5.1282051282vw;
  background-color: #EBEBE7;
  color: #1B1B1C !important;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept01-item02__item {
    padding: clamp(22px, 2.2653721683vw, 28px);
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-concept01-item02__item {
    padding: 1.4583333333vw;
  }
}
.p-business-section__small-title.text-center {
  text-align: center;
}

.p-craftValley-concept01-item02-item__text {
  margin-top: 1.0416666667vw;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept01-item02-item__text {
    margin-top: clamp(12px, 1.213592233vw, 15px);
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-concept01-item02-item__text {
    margin-top: 0.78125vw;
  }
}
.p-craftValley-concept02 {
  position: relative;
  z-index: 2;
  padding-top: 25.1282051282vw;
  padding-bottom: 25.1282051282vw;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept02 {
    padding-top: clamp(126px, 12.783171521vw, 158px);
    padding-bottom: clamp(126px, 12.783171521vw, 158px);
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-concept02 {
    padding-top: 8.2291666667vw;
    padding-bottom: 8.2291666667vw;
  }
}
.p-craftValley-concept02__text {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept02__text {
    margin-top: clamp(64px, 6.4724919094vw, 80px);
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-concept02__text {
    margin-top: 4.1666666667vw;
  }
}
.p-craftValley-concept02__images {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  margin-top: 15.3846153846vw;
  -moz-column-gap: 1.5384615385vw;
       column-gap: 1.5384615385vw;
  row-gap: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept02__images {
    grid-template-columns: repeat(2, 1fr);
    margin-top: clamp(40px, 4.0453074434vw, 50px);
    -moz-column-gap: clamp(22px, 2.2653721683vw, 28px);
         column-gap: clamp(22px, 2.2653721683vw, 28px);
    row-gap: clamp(24px, 2.427184466vw, 30px);
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-concept02__images {
    margin-top: 2.6041666667vw;
    -moz-column-gap: 1.4583333333vw;
         column-gap: 1.4583333333vw;
    row-gap: 1.5625vw;
  }
}
.p-craftValley-concept02__img {
  width: 100%;
  height: auto;
  aspect-ratio: 166/124;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept02__img {
    aspect-ratio: 604/340;
  }
}
.p-craftValley-concept02__box {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept02__box {
    margin-top: 3.6458333333vw;
  }
}
.p-craftValley-concept02__img-texts {
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept02__img-texts {
    margin-top: 1.8229166667vw;
  }
}
.p-craftValley-concept02__img-text + .p-craftValley-concept02__img-text {
  margin-top: 2.0512820513vw;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept02__img-text + .p-craftValley-concept02__img-text {
    margin-top: 0.4166666667vw;
  }
}
.p-craftValley-concept02__img-text {
  font-size: 5.1282051282vw;
  font-weight: 500;
  line-height: 1.7;
  margin-top: 0.7692307692vw;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept02__img-text {
    font-size: clamp(16px, 1.6181229773vw, 20px);
    font-weight: 700;
    margin-top: clamp(6px, 0.6472491909vw, 8px);
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-concept02__img-text {
    font-size: 1.0416666667vw;
    margin-top: 0.4166666667vw;
  }
}
.p-craftValley-concept02__btn {
  margin-top: 15.3846153846vw;
}
.p-craftValley-concept02__btn .p-btn-link__text {
  white-space: nowrap;
}

html:not([lang=ja]) .p-craftValley-concept02__btn .p-btn-link__text {
  white-space: normal;
}

@media screen and (min-width: 768px) {
  .p-craftValley-concept02__btn {
    margin-top: clamp(48px, 4.854368932vw, 60px);
    text-align: center;
  }
}
@media screen and (min-width: 1920px) {
  .p-craftValley-concept02__btn {
    margin-top: 3.125vw;
  }
}
.p-Architectural-reason {
  position: relative;
  z-index: 2;
  padding-top: 26.9230769231vw;
  padding-bottom: 25.641025641vw;
  overflow-x: hidden;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

@media screen and (min-width: 768px) {
  .p-Architectural-reason {
    padding-top: clamp(160px, 16.1812297735vw, 200px);
    padding-bottom: clamp(128px, 12.9449838188vw, 160px);
  }
}
@media screen and (min-width: 1920px) {
  .p-Architectural-reason {
    padding-top: 10.4166666667vw;
    padding-bottom: 8.3333333333vw;
  }
}
.p-Architectural-reason__text {
  font-weight: 500;
}

.p-Architectural-reason__list {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .p-Architectural-reason__list {
    margin-top: clamp(72px, 7.2815533981vw, 90px);
  }
}
@media screen and (min-width: 1920px) {
  .p-Architectural-reason__list {
    margin-top: 4.6875vw;
  }
}
.p-Architectural-reason__item {
  background-color: #fff;
  padding: 10.2564102564vw 5.1282051282vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.0512820513vw;
}

@media screen and (min-width: 768px) {
  .p-Architectural-reason__item {
    padding: clamp(40px, 4.0453074434vw, 50px) clamp(24px, 2.427184466vw, 30px);
    flex-direction: row;
    gap: clamp(25px, 2.5889967638vw, 32px);
  }
}
@media screen and (min-width: 1920px) {
  .p-Architectural-reason__item {
    padding: 2.6041666667vw 1.5625vw;
    gap: 1.6666666667vw;
  }
}
.p-Architectural-reason__item + .p-Architectural-reason__item {
  margin-top: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .p-Architectural-reason__item + .p-Architectural-reason__item {
    margin-top: clamp(24px, 2.427184466vw, 30px);
  }
}
@media screen and (min-width: 1920px) {
  .p-Architectural-reason__item + .p-Architectural-reason__item {
    margin-top: 1.5625vw;
  }
}
.p-Architectural-reason-item__img {
  order: 2;
  width: 61.8343195266%;
  height: auto;
  aspect-ratio: 209/204;
  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .p-Architectural-reason-item__img {
    order: 1;
    flex-shrink: 0;
    width: clamp(167px, 16.9093851133vw, 209px);
    margin-inline: initial;
  }
}
@media screen and (min-width: 1920px) {
  .p-Architectural-reason-item__img {
    width: 10.8854166667vw;
  }
}
.p-Architectural-reason-item__texts {
  display: contents;
  color: #1B1B1C !important;
}

@media screen and (min-width: 768px) {
  .p-Architectural-reason-item__texts {
    display: block;
    order: 2;
    width: calc(100% - clamp(193px, 19.498381877vw, 241px));
  }
}
@media screen and (min-width: 1920px) {
  .p-Architectural-reason-item__texts {
    width: calc(100% - 12.5520833333vw);
  }
}
.p-Architectural-reason-item__head {
  order: 1;
  font-size: 6.1538461538vw;
  font-weight: 500;
  line-height: 1.4166666667;
  letter-spacing: 0.01em;
  padding-bottom: 2.0512820513vw;
  border-bottom: 0.2564102564vw solid #707070;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-Architectural-reason-item__head {
    font-size: min(2.5889967638vw, 32px);
    line-height: 1.40625;
    padding-bottom: 0.8090614887vw;
    border-bottom: max(1px, 0.0809061489vw) solid #707070;
  }
}
@media screen and (min-width: 1920px) {
  .p-Architectural-reason-item__head {
    font-size: 1.6666666667vw;
  }
}
.p-Architectural-reason-item__body {
  order: 3;
}

@media screen and (min-width: 768px) {
  .p-Architectural-reason-item__body {
    margin-top: clamp(24px, 2.427184466vw, 30px);
  }
}
@media screen and (min-width: 1920px) {
  .p-Architectural-reason-item__body {
    margin-top: 1.5625vw;
  }
}
.p-Architectural-canDo {
  padding-top: 25.641025641vw;
  padding-bottom: 25.641025641vw;
  position: relative;
  z-index: 2;
  overflow-x: hidden;
}

@media screen and (min-width: 768px) {
  .p-Architectural-canDo {
    padding-top: clamp(160px, 16.0194174757vw, 198px);
    padding-bottom: clamp(128px, 12.9449838188vw, 160px);
  }
}
@media screen and (min-width: 1920px) {
  .p-Architectural-canDo {
    padding-top: 8.3333333333vw;
  }
}
.p-Architectural-canDo__text {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .p-Architectural-canDo__text {
    margin-top: clamp(64px, 6.4724919094vw, 80px);
  }
}
@media screen and (min-width: 1920px) {
  .p-Architectural-canDo__text {
    margin-top: 4.1666666667vw;
  }
}
.p-Architectural-canDo__list {
  margin-top: 7.6923076923vw;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5641025641vw;
  overflow-y: hidden;
}

@media screen and (min-width: 768px) {
  .p-Architectural-canDo__list {
    margin-top: clamp(76px, 7.6860841424vw, 95px);
    grid-template-columns: repeat(5, 1fr);
    gap: clamp(24px, 2.427184466vw, 30px);
  }
}
@media screen and (min-width: 1920px) {
  .p-Architectural-canDo__list {
    margin-top: 4.9479166667vw;
    gap: 1.5625vw;
  }
}
.p-Architectural-canDo__item {
  height: 12.8205128205vw;
  display: grid;
  place-content: center;
  font-size: 3.3333333333vw;
  font-weight: 500;
  border: 1px solid #fff;
}

@media screen and (min-width: 768px) {
  .p-Architectural-canDo__item {
    height: clamp(80px, 8.0906148867vw, 100px);
    font-size: clamp(14px, 1.6181229773vw, 20px);
  }
}
@media screen and (min-width: 1920px) {
  .p-Architectural-canDo__item {
    height: 5.2083333333vw;
    font-size: 1.0416666667vw;
  }
}
.p-Architectural-works {
  position: relative;
  z-index: 2;
  padding-top: 25.1282051282vw;
  padding-bottom: 25.1282051282vw;
}

@media screen and (min-width: 768px) {
  .p-Architectural-works {
    padding-top: clamp(126px, 12.783171521vw, 158px);
    padding-bottom: clamp(126px, 12.783171521vw, 158px);
  }
}
@media screen and (min-width: 1920px) {
  .p-Architectural-works {
    padding-top: 8.2291666667vw;
    padding-bottom: 8.2291666667vw;
  }
}
.p-Architectural-works-cat-list__sticky {
  z-index: 100;
  will-change: transform;
  backface-visibility: hidden;
}

@media screen and (min-width: 768px) {
  .p-Architectural-works-cat-list__sticky {
    position: sticky;
    top: 1.0416666667vw;
  }
}
.p-Architectural-works-cat-list__container {
  margin-top: 7.6923076923vw;
  background-color: #fff;
  padding-top: 3.0769230769vw;
  padding-bottom: 3.5897435897vw;
  width: 59.7435897436vw;
}

@media screen and (min-width: 768px) {
  .p-Architectural-works-cat-list__container {
    margin-top: clamp(64px, 6.4724919094vw, 80px);
    padding-top: clamp(7px, 0.7281553398vw, 9px);
    padding-bottom: clamp(8px, 0.8899676375vw, 11px);
    width: 81.5721649485vw;
    margin-inline: auto;
  }
}
@media screen and (min-width: 1552px) {
  .p-Architectural-works-cat-list__container {
    width: 100%;
  }
}
@media screen and (min-width: 1920px) {
  .p-Architectural-works-cat-list__container {
    margin-top: 4.1666666667vw;
    padding-top: 0.46875vw;
    padding-bottom: 0.5729166667vw;
  }
}
.p-Architectural-works-cat-list {
  display: grid;
  grid-template-columns: max-content 1fr;
  row-gap: 3.8461538462vw;
}

@media screen and (min-width: 768px) {
  .p-Architectural-works-cat-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    row-gap: clamp(12px, 1.213592233vw, 15px);
  }
}
@media screen and (min-width: 1920px) {
  .p-Architectural-works-cat-list {
    row-gap: 0.78125vw;
  }
}
html:not([lang=ja]) .p-Architectural-works-cat-list {
  grid-template-columns: 1fr;
}

.p-Architectural-works-cat-item {
  padding: 0 5.1282051282vw;
  line-height: 1.2;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-Architectural-works-cat-item {
    padding: 0 clamp(24px, 2.427184466vw, 30px);
  }
}
@media screen and (min-width: 1920px) {
  .p-Architectural-works-cat-item {
    padding: 0 1.5625vw;
  }
}
.p-Architectural-works-cat-item:not(:nth-child(2n+1)) {
  border-left: 0.2564102564vw solid #1B1B1C;
}

html:not([lang=ja]) .p-Architectural-works-cat-item:not(:nth-child(2n+1)) {
  border: none;
}

@media screen and (min-width: 768px) {
  .p-Architectural-works-cat-item:not(:nth-child(2n+1)) {
    border-left: none;
  }
  .p-Architectural-works-cat-item + .p-Architectural-works-cat-item {
    border-left: 1px solid #1B1B1C;
  }
}
@media screen and (min-width: 1920px) {
  .p-Architectural-works-cat-item + .p-Architectural-works-cat-item {
    border-left: 0.0520833333vw solid #1B1B1C;
  }
}
.p-Architectural-works-cat-link {
  font-weight: 500;
  color: #1B1B1C !important;
}

@media screen and (min-width: 768px) {
  .p-Architectural-works-cat-link {
    line-height: 1;
    font-size: max(11px, 0.9020618557vw);
  }
}
@media screen and (min-width: 1552px) {
  .p-Architectural-works-cat-link {
    font-size: 14px;
  }
}
.p-architectural-container {
  padding: 15.3846153846vw 0;
}

.p-architectural-container:nth-of-type(even) {
  color: #1B1B1C !important;
}

.p-architectural-container:first-child {
  padding-top: 7.6923076923vw;
  padding-bottom: 25.641025641vw;
}

@media screen and (min-width: 768px) {
  .p-architectural-container {
    padding: clamp(120px, 12.1359223301vw, 150px) 0;
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container {
    padding: 7.8125vw 0;
  }
}
.p-architectural-container__text {
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .p-architectural-container__text {
    margin-top: clamp(24px, 2.427184466vw, 30px);
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container__text {
    margin-top: 1.5625vw;
  }
}
.p-architectural-container__wrap {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .p-architectural-container__wrap {
    display: flex;
    align-items: flex-start;
    margin-top: clamp(64px, 6.4724919094vw, 80px);
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container__wrap {
    margin-top: 4.1666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-architectural-container__small-title {
    width: clamp(200px, 19.1747572816vw, 237px);
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container__small-title {
    width: 12.34375vw;
  }
}
.p-architectural-container-list__wrap {
  margin-top: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .p-architectural-container-list__wrap {
    margin-top: 0;
  }
}
.p-architectural-container__list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .p-architectural-container__list {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(22px, 2.2653721683vw, 28px);
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container__list {
    gap: 1.4583333333vw;
  }
}
.p-architectural-container__link {
  width: 100%;
}

.p-architectural-container__img {
  width: 100%;
  height: auto;
  aspect-ratio: 338/190;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .p-architectural-container__img {
    aspect-ratio: 486/273;
  }
}
.p-architectural-container__texts {
  padding-top: 2.5641025641vw;
  color: #1B1B1C !important;
}

@media screen and (min-width: 768px) {
  .p-architectural-container__texts {
    padding: 0;
    padding-top: clamp(12px, 1.213592233vw, 15px);
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container__texts {
    padding-top: 0.78125vw;
  }
}
.p-architectural-container__title {
  font-size: 5.1282051282vw;
  font-weight: 700;
  line-height: 1.5;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 6.6666666667vw;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-architectural-container__title {
    font-size: clamp(16px, 1.6181229773vw, 20px);
    padding-right: clamp(20px, 2.1035598706vw, 26px);
    line-height: 1;
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container__title {
    font-size: 1.0416666667vw;
    padding-right: 1.3541666667vw;
  }
}
.p-architectural-container__title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 4.6153846154vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/arrow-works.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media screen and (min-width: 768px) {
  .p-architectural-container__title::after {
    width: clamp(13px, 1.4563106796vw, 18px);
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container__title::after {
    width: 0.9375vw;
  }
}
.p-architectural-container__infos {
  margin-top: 0.2564102564vw;
}

@media screen and (min-width: 768px) {
  .p-architectural-container__infos {
    margin-top: clamp(4px, 0.4045307443vw, 5px);
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container__infos {
    margin-top: 0.2604166667vw;
  }
}
.p-architectural-container__info {
  display: flex;
  align-items: center;
  gap: 3.5897435897vw;
}

@media screen and (min-width: 768px) {
  .p-architectural-container__info {
    gap: clamp(12px, 1.213592233vw, 15px);
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container__info {
    gap: 0.78125vw;
  }
}
.p-architectural-container__btn {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .p-architectural-container__btn {
    margin-top: clamp(48px, 4.854368932vw, 60px);
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container__btn {
    margin-top: 3.125vw;
  }
}
.p-architectural-container__banner {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .p-architectural-container__banner {
    margin-top: clamp(64px, 6.4724919094vw, 80px);
    width: 640px;
    max-width: 100%;
    margin-inline: auto;
  }
}
@media screen and (min-width: 1024px) {
  .p-architectural-container__banner {
    width: initial;
    max-width: initial;
    margin-inline: initial;
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container__banner {
    margin-top: 4.1666666667vw;
  }
}
.p-architectural-container-banner__wrap {
  background-color: #fff;
  padding: 7.6923076923vw 5.1282051282vw;
  display: flex;
  flex-direction: column;
  gap: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .p-architectural-container-banner__wrap {
    padding: clamp(22px, 2.2653721683vw, 28px);
    gap: clamp(25px, 2.5889967638vw, 32px);
  }
}
@media screen and (min-width: 1024px) {
  .p-architectural-container-banner__wrap {
    flex-direction: row;
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container-banner__wrap {
    padding: 1.4583333333vw;
    gap: 1.6666666667vw;
  }
}
.p-architectural-container-banner__texts {
  color: #1B1B1C !important;
}

@media screen and (min-width: 1024px) {
  .p-architectural-container-banner__texts {
    width: calc(100% - clamp(524px, 52.9935275081vw, 655px));
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container-banner__texts {
    width: calc(100% - 34.1145833333vw);
  }
}
.p-architectural-container-banner__head {
  font-size: 6.1538461538vw;
  font-weight: 500;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .p-architectural-container-banner__head {
    font-size: clamp(25px, 2.5889967638vw, 32px);
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container-banner__head {
    font-size: 1.6666666667vw;
  }
}
.p-architectural-container-banner__bottom {
  display: flex;
  align-items: center;
  padding-top: 2.3076923077vw;
  padding-bottom: 2.8205128205vw;
  padding-left: 3.5897435897vw;
  padding-right: 5.1282051282vw;
  background-color: #1B1B1C;
  color: #ffffff !important;
  gap: 2.5641025641vw;
}

@media screen and (min-width: 768px) {
  .p-architectural-container-banner__bottom {
    padding-top: clamp(13px, 1.3754045307vw, 17px);
    padding-bottom: clamp(15px, 1.5372168285vw, 19px);
    padding-left: clamp(24px, 2.427184466vw, 30px);
    padding-right: clamp(24px, 2.427184466vw, 30px);
    gap: clamp(16px, 1.6181229773vw, 20px);
  }
}
@media screen and (min-width: 1024px) {
  .p-architectural-container-banner__bottom {
    width: clamp(498px, 50.4045307443vw, 623px);
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container-banner__bottom {
    width: 32.4479166667vw;
    padding-top: 0.8854166667vw;
    padding-bottom: 0.9895833333vw;
    padding-left: 1.5625vw;
    padding-right: 1.5625vw;
    gap: 1.0416666667vw;
  }
}
.p-architectural-container-banner__logo {
  width: 12.3076923077vw;
  height: auto;
  aspect-ratio: 1/1;
  flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .p-architectural-container-banner__logo {
    width: clamp(80px, 8.0097087379vw, 99px);
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container-banner__logo {
    width: 5.15625vw;
  }
}
.p-architectural-container-banner__title {
  font-size: 5.1282051282vw;
  font-weight: 700;
  line-height: 1.45;
  flex-grow: 1;
}

@media screen and (min-width: 768px) {
  .p-architectural-container-banner__title {
    font-size: clamp(36px, 3.640776699vw, 45px);
    line-height: 1.4;
    letter-spacing: 0.01em;
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container-banner__title {
    font-size: 2.34375vw;
  }
}
.p-architectural-container-banner__title span {
  display: block;
  padding-right: 6.1538461538vw;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .p-architectural-container-banner__title span {
    padding-right: clamp(44px, 4.4498381877vw, 55px);
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container-banner__title span {
    padding-right: 2.8645833333vw;
  }
}
.p-architectural-container-banner__title span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 4.6153846154vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/btn-arrow.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (min-width: 768px) {
  .p-architectural-container-banner__title span::after {
    width: clamp(40px, 4.0453074434vw, 50px);
  }
}
@media screen and (min-width: 1920px) {
  .p-architectural-container-banner__title span::after {
    width: 2.6041666667vw;
  }
}
.splide__track--nav > .splide__list > .splide__slide.is-active,
.splide__track--nav > .splide__list > .splide__slide {
  border: none;
}

.thumbnailCarousel {
  margin-top: 10.2564102564vw;
}

@media screen and (min-width: 768px) {
  .thumbnailCarousel {
    margin-top: 3.125vw;
  }
}
.thumbnailCarousel .splide__slide {
  opacity: 0.4;
}
.thumbnailCarousel .splide__slide.is-active {
  opacity: 1;
}

.p-main-recruit {
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .p-main-recruit {
    font-size: clamp(14px, 1.2944983819vw, 16px);
  }
}
@media screen and (min-width: 1920px) {
  .p-main-recruit {
    font-size: 0.8333333333vw;
  }
}
.fv--recruit {
  padding: 0 6.6666666667vw;
  padding-top: 24.8717948718vw;
  padding-bottom: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .fv--recruit {
    padding-top: clamp(80px, 6.4432989691vw, 100px);
    padding-bottom: clamp(48px, 3.8659793814vw, 60px);
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media screen and (min-width: 1240px) {
  .fv--recruit {
    padding-left: clamp(80px, 6.4432989691vw, 100px);
    padding-right: clamp(80px, 6.4432989691vw, 100px);
  }
}
@media screen and (min-width: 1552px) {
  .fv--recruit {
    padding: 0 5.2083333333vw;
    padding-top: 5.3645833333vw;
    padding-bottom: 3.125vw;
  }
}
.fv--recruit__title {
  font-family: "Roboto", sans-serif;
  font-size: 12.3076923077vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .fv--recruit__title {
    font-size: 3.90625vw;
  }
}
.p-recruit__inner--wide {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-recruit__inner--wide {
    max-width: 1602px;
    padding-right: 25px;
    padding-left: 25px;
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit__inner--wide {
    max-width: 83.4375vw;
  }
}

.bg-square {
  position: absolute;
  z-index: -1;
  bottom: -14.6153846154vw;
  right: 0;
  background-color: #EBEBE7;
  width: 41.5384615385vw;
  height: auto;
  aspect-ratio: 316/636;
}

@media screen and (min-width: 768px) {
  .bg-square {
    bottom: initial;
    width: 20.4032258065vw;
    top: 27.5vw;
  }
}
@media screen and (min-width: 1240px) {
  .bg-square {
    width: clamp(253px, 20.3608247423vw, 316px);
    top: clamp(341px, 27.5128865979vw, 427px);
  }
}
@media screen and (min-width: 1552px) {
  .bg-square {
    width: 16.4583333333vw;
    top: 22.2395833333vw;
  }
}
.p-recruit-container01 {
  padding-top: 0;
  padding-bottom: 30vw;
}

@media screen and (min-width: 768px) {
  .p-recruit-container01 {
    padding-top: clamp(32px, 2.5773195876vw, 40px);
    padding-bottom: clamp(128px, 10.3092783505vw, 160px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-container01 {
    padding-top: 2.0833333333vw;
    padding-bottom: 8.3333333333vw;
  }
}
.p-recruit-box01 {
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 768px) {
  .p-recruit-box01 {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0;
  }
}
@media screen and (min-width: 1240px) {
  .p-recruit-box01 {
    justify-content: flex-end;
    gap: clamp(190px, 15.2706185567vw, 237px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-box01 {
    gap: 12.34375vw;
    padding-left: 8.2291666667vw;
    padding-right: 2.6041666667vw;
  }
}
.p-recruit-box01__texts {
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
  line-height: 2;
  order: 2;
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .p-recruit-box01__texts {
    font-size: clamp(12px, 1.2944983819vw, 16px);
    flex-shrink: 0;
    order: 1;
    margin-top: 0;
    max-width: 480px;
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-box01__texts {
    font-size: 0.8333333333vw;
  }
}
.p-recruit-box01__text.contents-sp {
  display: contents;
}

@media screen and (min-width: 768px) {
  .p-recruit-box01__text.contents-sp {
    display: block;
  }
}
.p-recruit-box01__text + .p-recruit-box01__text {
  margin-top: 10.2564102564vw;
}

@media screen and (min-width: 768px) {
  .p-recruit-box01__text + .p-recruit-box01__text {
    margin-top: clamp(32px, 2.5773195876vw, 40px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-box01__text + .p-recruit-box01__text {
    margin-top: 2.0833333333vw;
  }
}
.p-recruit-box01__images {
  display: contents;
}

@media screen and (min-width: 768px) {
  .p-recruit-box01__images {
    display: block;
    order: 2;
  }
}
.p-recruit-box01__image01-box {
  width: 100vw;
  height: auto;
  aspect-ratio: 390/187;
  order: 1;
  margin: 0 calc(50% - 50vw);
}

@media screen and (min-width: 768px) {
  .p-recruit-box01__image01-box {
    width: 46.7741935484vw;
    aspect-ratio: 725/349;
    margin: 0;
  }
}
@media screen and (min-width: 1240px) {
  .p-recruit-box01__image01-box {
    width: clamp(580px, 46.7139175258vw, 725px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-box01__image01-box {
    width: 37.7604166667vw;
  }
}
.p-recruit-box01__image02-box {
  width: 70.5128205128vw;
  height: auto;
  aspect-ratio: 275/186;
  margin-left: auto;
  margin-right: calc(50% - 50vw);
  margin-top: 15.3846153846vw;
  order: 3;
}

@media screen and (min-width: 768px) {
  .p-recruit-box01__image02-box {
    width: 25.4838709677vw;
    aspect-ratio: 395/276;
    margin-top: clamp(17px, 1.4175257732vw, 22px);
    margin-right: clamp(32px, 2.5773195876vw, 40px);
  }
}
@media screen and (min-width: 1240px) {
  .p-recruit-box01__image02-box {
    width: clamp(316px, 25.4510309278vw, 395px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-box01__image02-box {
    width: 20.5729166667vw;
    margin-top: 1.1458333333vw;
    margin-right: 2.0833333333vw;
  }
}
.p-recruit-box02 {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .p-recruit-box02 {
    margin-top: 3.8709677419vw;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 4px;
  }
}
@media screen and (min-width: 1240px) {
  .p-recruit-box02 {
    margin-top: clamp(48px, 3.8659793814vw, 60px);
    justify-content: center;
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-box02 {
    margin-top: 3.125vw;
    gap: 0.2083333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-recruit-box02__images {
    flex-grow: 1;
    flex-shrink: 1;
  }
}
@media screen and (min-width: 1240px) {
  .p-recruit-box02__images {
    flex-grow: initial;
    flex-shrink: initial;
  }
}
.p-recruit-box02__image-box {
  width: 70.7692307692vw;
  position: relative;
  z-index: 1;
  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .p-recruit-box02__image-box {
    width: 100%;
    margin-inline: initial;
  }
}
@media screen and (min-width: 1240px) {
  .p-recruit-box02__image-box {
    width: clamp(300px, 25.7731958763vw, 400px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-box02__image-box {
    width: 20.8333333333vw;
  }
}
.bg-rect {
  position: absolute;
  z-index: -1;
  bottom: -20.5128205128vw;
  left: -14.358974359vw;
  width: 53.3333333333vw;
  height: auto;
  aspect-ratio: 208/167;
  background-color: #DD0012;
}

@media screen and (min-width: 768px) {
  .bg-rect {
    width: 35.9677419355vw;
    bottom: -4.2741935484vw;
    left: -15.2419354839vw;
  }
}
@media screen and (min-width: 1240px) {
  .bg-rect {
    width: clamp(446px, 36.0180412371vw, 559px);
    bottom: clamp(-53px, -4.2525773196vw, -66px);
    left: clamp(-237px, -12.1778350515vw, -189px);
    aspect-ratio: 559/230;
  }
}
@media screen and (min-width: 1552px) {
  .bg-rect {
    width: 29.1145833333vw;
    bottom: -3.4375vw;
    left: -12.34375vw;
  }
}
.p-recruit-box02__image {
  position: relative;
}

.p-recruit-box02__image::after {
  content: "ダミー";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  font-size: 50px;
  font-weight: 700;
  background-color: #fff;
  width: 100%;
  text-align: center;
  display: none;
}

.p-recruit-box02__texts {
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
  line-height: 2;
  order: 2;
  margin-top: 7.1794871795vw;
  background-color: #fff;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .p-recruit-box02__texts {
    font-size: clamp(12px, 1.2944983819vw, 16px);
    flex-shrink: 0;
    order: 1;
    margin-top: 0;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-box02__texts {
    font-size: 0.8333333333vw;
  }
}
.p-recruit-box02__text + .p-recruit-box02__text {
  margin-top: 10.2564102564vw;
}

@media screen and (min-width: 768px) {
  .p-recruit-box02__text + .p-recruit-box02__text {
    margin-top: clamp(32px, 2.5773195876vw, 40px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-box02__text + .p-recruit-box02__text {
    margin-top: 2.0833333333vw;
  }
}
.p-recruit-box02-texts__box {
  padding-top: 5.1282051282vw;
  padding-bottom: 7.6923076923vw;
  padding-left: 5.1282051282vw;
  padding-right: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .p-recruit-box02-texts__box {
    padding-top: clamp(45px, 3.6082474227vw, 56px);
    padding-bottom: clamp(41px, 3.3505154639vw, 52px);
    padding-left: clamp(16px, 4.1881443299vw, 65px);
    padding-right: clamp(16px, 1.8041237113vw, 28px);
    max-width: 60.8333333333vw;
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-box02-texts__box {
    padding-top: 2.9166666667vw;
    padding-bottom: 2.7083333333vw;
    padding-left: 3.3854166667vw;
    padding-right: 1.4583333333vw;
  }
}
.p-recruit-box02__head {
  font-size: 6.1538461538vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-recruit-box02__head {
    font-size: clamp(25px, 2.0618556701vw, 32px);
    text-align: left;
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-box02__head {
    font-size: 1.6666666667vw;
  }
}
.p-recruit-box02__body {
  margin-top: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .p-recruit-box02__body {
    margin-top: clamp(32px, 2.5773195876vw, 40px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-box02__body {
    margin-top: 2.0833333333vw;
  }
}
.p-recruit-box02__bottom {
  background-color: #fff;
  padding-bottom: 7.1794871795vw;
}

@media screen and (min-width: 768px) {
  .p-recruit-box02__bottom {
    padding-bottom: 0;
  }
}
.p-recruit-box02__bottom-img01 {
  width: 100%;
  height: auto;
  aspect-ratio: 305/35;
  margin-inline: auto;
  padding: 0 4.1025641026vw;
}

@media screen and (min-width: 768px) {
  .p-recruit-box02__bottom-img01 {
    width: 40.3225806452vw;
    aspect-ratio: 1068/160;
    padding: 0;
  }
}
@media screen and (min-width: 1240px) {
  .p-recruit-box02__bottom-img01 {
    width: clamp(500px, 34.4072164948vw, 534px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-box02__bottom-img01 {
    width: 27.8125vw;
  }
}
.p-recruit-box02__bottom-img02 {
  width: 42.6035502959%;
  height: auto;
  aspect-ratio: 144/42;
  margin-left: auto;
  margin-right: 9.7435897436vw;
}

@media screen and (min-width: 768px) {
  .p-recruit-box02__bottom-img02 {
    width: 12.2580645161vw;
    margin-right: 2.0967741935vw;
  }
}
@media screen and (min-width: 1240px) {
  .p-recruit-box02__bottom-img02 {
    width: clamp(152px, 12.2422680412vw, 190px);
    margin-right: clamp(26px, 2.1262886598vw, 33px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-box02__bottom-img02 {
    width: 9.8958333333vw;
    margin-right: 1.71875vw;
  }
}
.p-recruit-box02__bottom-img01 img,
.p-recruit-box02__bottom-img02 img {
  -o-object-fit: contain;
     object-fit: contain;
}

.p-recruit-container02 {
  padding-top: 15.3846153846vw;
  background-color: #EBEBE7;
}

@media screen and (min-width: 768px) {
  .p-recruit-container02 {
    padding-top: clamp(128px, 10.3092783505vw, 160px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-container02 {
    padding-top: 8.3333333333vw;
  }
}
.p-recruit__inner {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-recruit__inner {
    padding-right: 25px;
    max-width: 80.6451612903vw;
    padding-left: 25px;
  }
}
@media screen and (min-width: 1240px) {
  .p-recruit__inner {
    max-width: 1228px;
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit__inner {
    max-width: 63.9583333333vw;
  }
}

.p-recruit-container02__title {
  font-size: 6.1538461538vw;
  font-weight: 500;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .p-recruit-container02__title {
    font-size: clamp(25px, 2.0618556701vw, 32px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-container02__title {
    font-size: 1.6666666667vw;
  }
}
.p-recruit-container02__list {
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .p-recruit-container02__list {
    margin-top: clamp(24px, 1.9329896907vw, 30px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-container02__list {
    margin-top: 1.5625vw;
  }
}
.p-recruit-container02__item + .p-recruit-container02__item {
  border-top: 0.2564102564vw solid #fff;
}

@media screen and (min-width: 768px) {
  .p-recruit-container02__item + .p-recruit-container02__item {
    border-top: 1px solid #fff;
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-container02__item + .p-recruit-container02__item {
    border-top: 0.0520833333vw solid #fff;
  }
}
.p-recruit-container02__link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding-top: 3.5897435897vw;
  padding-bottom: 3.5897435897vw;
  padding-left: 3.8461538462vw;
  padding-right: 7.6923076923vw;
  background-color: #1B1B1C;
  color: white !important;
  font-size: 5.1282051282vw;
  font-weight: 700;
  -moz-column-gap: 3.0769230769vw;
       column-gap: 3.0769230769vw;
  row-gap: 2.8205128205vw;
  --time: .6s;
  --timeRate: 1.5;
  transition-property: color;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  transition-duration: calc(var(--time) * var(--timeRate));
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-recruit-container02__link {
    padding-top: 1.3709677419vw;
    padding-bottom: 1.6129032258vw;
    padding-left: 1.0483870968vw;
    padding-right: 3.8709677419vw;
    font-size: clamp(14px, 1.2903225806vw, 16px);
    gap: 0.9677419355vw;
  }
}
@media screen and (min-width: 1240px) {
  .p-recruit-container02__link {
    padding-top: clamp(17px, 1.4175257732vw, 22px);
    padding-bottom: clamp(20px, 1.6108247423vw, 25px);
    padding-left: clamp(13px, 1.0953608247vw, 17px);
    padding-right: clamp(48px, 3.8659793814vw, 60px);
    font-size: clamp(16px, 1.2886597938vw, 20px);
    gap: clamp(12px, 1.2886597938vw, 20px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-container02__link {
    padding-top: 1.1458333333vw;
    padding-bottom: 1.3020833333vw;
    padding-left: 0.8854166667vw;
    padding-right: 3.125vw;
    font-size: 1.0416666667vw;
    gap: 0.78125vw;
  }
}
.p-recruit-container02__link::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 3.0769230769vw;
  transform: translateY(-50%);
  width: 4.6153846154vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/btn-arrow.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  --time: .6s;
  --timeRate: 1.5;
  transition-property: background-image;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  transition-duration: calc(var(--time) * var(--timeRate));
}

@media screen and (min-width: 768px) {
  .p-recruit-container02__link::after {
    width: 2.5806451613vw;
    right: 1.0483870968vw;
  }
}
@media screen and (min-width: 1240px) {
  .p-recruit-container02__link::after {
    width: clamp(32px, 2.5773195876vw, 40px);
    right: clamp(13px, 1.0953608247vw, 17px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-container02__link::after {
    width: 2.0833333333vw;
    right: 0.8854166667vw;
  }
}
.p-recruit-container02__link-bg {
  display: inline-block;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  clip-path: inset(0 100% 0 0);
  --time: .6s;
  --timeRate: 1.5;
  transition-property: clip-path;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  transition-duration: calc(var(--time) * var(--timeRate));
}

.p-recruit-container02__affiliation,
.p-recruit-container02__position {
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .p-recruit-container02__link:hover {
    color: #1B1B1C !important;
    transition-duration: var(--time);
  }
  .p-recruit-container02__link:hover span {
    border-color: #1B1B1C;
  }
  .p-recruit-container02__link:hover span:last-child {
    border-color: #1B1B1C;
  }
  .p-recruit-container02__link:hover .p-recruit-container02__link-bg {
    clip-path: inset(0 0% 0 0);
    transition-duration: var(--time);
  }
  .p-recruit-container02__link:hover:after {
    background-image: url(../images/btn-arrow--black.webp);
    transition-duration: var(--time);
  }
}
.p-recruit-container02__info {
  width: 100%;
  font-size: 3.5897435897vw;
  font-weight: 500;
  letter-spacing: 0.01em;
}
.p-recruit-container02__info span {
  display: inline-block;
  padding: 0 2.0512820513vw;
  padding-bottom: 0.7692307692vw;
  border-left: 0.2564102564vw solid #fff;
  line-height: 1;
}
.p-recruit-container02__info span:last-child {
  border-right: 0.2564102564vw solid #fff;
}

@media screen and (min-width: 768px) {
  .p-recruit-container02__info {
    width: initial;
    font-size: 10px;
  }
  .p-recruit-container02__info span {
    padding: 0 clamp(6px, 0.5154639175vw, 8px);
    padding-bottom: clamp(1px, 0.1932989691vw, 3px);
    border-left: 1px solid #fff;
  }
  .p-recruit-container02__info span:last-child {
    border-right: 1px solid #fff;
  }
}
@media screen and (min-width: 1240px) {
  .p-recruit-container02__info {
    font-size: clamp(10px, 0.9020618557vw, 14px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-container02__info {
    font-size: 0.7291666667vw;
  }
  .p-recruit-container02__info span {
    padding: 0 0.4166666667vw;
    padding-bottom: 0.15625vw;
    border-left: 0.0520833333vw solid #fff;
  }
  .p-recruit-container02__info span:last-child {
    border-right: 0.0520833333vw solid #fff;
  }
}
.p-recruit-container02__attention-list {
  margin-top: 2.5641025641vw;
}

@media screen and (min-width: 768px) {
  .p-recruit-container02__attention-list {
    margin-top: 1.2903225806vw;
    margin-left: 0.3225806452vw;
  }
}
@media screen and (min-width: 1240px) {
  .p-recruit-container02__attention-list {
    margin-top: clamp(16px, 1.2886597938vw, 20px);
    margin-left: clamp(4px, 0.3221649485vw, 5px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-container02__attention-list {
    margin-top: 1.0416666667vw;
    margin-left: 0.2604166667vw;
  }
}
.p-recruit-container02__attention-item {
  font-size: 3.5897435897vw;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .p-recruit-container02__attention-item {
    font-size: 11px;
  }
}
@media screen and (min-width: 1240px) {
  .p-recruit-container02__attention-item {
    font-size: clamp(11px, 0.9020618557vw, 14px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-container02__attention-item {
    font-size: 0.7291666667vw;
  }
}
.p-recruit-container02__attention-item + .p-recruit-container02__attention-item {
  margin-top: 1.2820512821vw;
}

@media screen and (min-width: 768px) {
  .p-recruit-container02__attention-item + .p-recruit-container02__attention-item {
    margin-top: 8px;
  }
}
@media screen and (min-width: 1240px) {
  .p-recruit-container02__attention-item + .p-recruit-container02__attention-item {
    margin-top: clamp(8px, 0.6443298969vw, 10px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-container02__attention-item + .p-recruit-container02__attention-item {
    margin-top: 0.5208333333vw;
  }
}
.p-recruit-container03 {
  padding-top: 10.2564102564vw;
  padding-bottom: 38.4615384615vw;
  background-color: #EBEBE7;
}

@media screen and (min-width: 768px) {
  .p-recruit-container03 {
    padding-top: 6.4516129032vw;
    padding-bottom: clamp(200px, 16.1082474227vw, 250px);
  }
}
@media screen and (min-width: 1240px) {
  .p-recruit-container03 {
    padding-top: clamp(80px, 6.4432989691vw, 100px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-container03 {
    padding-top: 5.2083333333vw;
    padding-bottom: 13.0208333333vw;
  }
}
.p-recruit-container02__contents {
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .p-recruit-container02__contents {
    margin-top: 1.935483871vw;
  }
}
@media screen and (min-width: 1240px) {
  .p-recruit-container02__contents {
    margin-top: clamp(24px, 1.9329896907vw, 30px);
  }
}
@media screen and (min-width: 1552px) {
  .p-recruit-container02__contents {
    margin-top: 1.5625vw;
  }
}
.p-recruit-container02__contents {
  aspect-ratio: 338/600;
}

@media screen and (min-width: 768px) {
  .p-recruit-container02__contents {
    aspect-ratio: 1078/647;
  }
}
.p-recruit-container02__contents > * {
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
}

.main-single-recruit {
  overflow-x: hidden;
}

.fv--recruitSingle {
  padding-top: calc(15.3846153846vw + var(--header-height));
  padding-bottom: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .fv--recruitSingle {
    padding-top: var(--header-height);
    padding-bottom: 2.6041666667vw;
  }
}
@media screen and (min-width: 768px) {
  .fv--recruitSingle__inner {
    padding-right: 2.5vw;
    padding-left: 2.5vw;
  }
}

.fv--recruitSingle__head {
  font-size: 13.3333333333vw;
  font-weight: 700;
  letter-spacing: 0.01em;
  padding: 0 1.2820512821vw;
}
.fv--recruitSingle__head span {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .fv--recruitSingle__head {
    font-size: 4.6875vw;
    padding: 0;
  }
}
.fv--recruitSingle__affiliation {
  font-size: 7.1794871795vw;
}

@media screen and (min-width: 768px) {
  .fv--recruitSingle__affiliation {
    font-size: 4.6875vw;
  }
}
.fv--recruitSingle__title {
  font-size: 12.3076923077vw;
  padding-right: 2.3076923077vw;
  padding-left: 6.1538461538vw;
  line-height: 1.1;
}

@media screen and (min-width: 768px) {
  .fv--recruitSingle__title {
    font-size: 4.6875vw;
    padding: 0;
  }
}
.fv--recruitSingle__list {
  display: flex;
  padding: 0 9.7435897436vw;
  margin-top: 2.5641025641vw;
}

@media screen and (min-width: 768px) {
  .fv--recruitSingle__list {
    padding: 0 2.9166666667vw;
    margin-top: 0;
  }
}
.fv--recruitSingle__item {
  font-size: 3.5897435897vw;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.1;
  padding: 0 2.0512820513vw;
  padding-bottom: 0.5128205128vw;
  border-left: 0.2564102564vw solid #1B1B1C;
}
.fv--recruitSingle__item:last-child {
  border-right: 0.2564102564vw solid #1B1B1C;
}

@media screen and (min-width: 768px) {
  .fv--recruitSingle__item {
    font-size: max(12px, 1.0416666667vw);
    padding: 0 max(16px, 1.0416666667vw);
    padding-bottom: 0.15625vw;
    border-left: 1px solid #1B1B1C;
  }
  .fv--recruitSingle__item:last-child {
    border-right: 1px solid #1B1B1C;
  }
}
@media screen and (min-width: 1920px) {
  .fv--recruitSingle__item {
    border-left: 0.0520833333vw solid #1B1B1C;
  }
  .fv--recruitSingle__item:last-child {
    border-right: 0.0520833333vw solid #1B1B1C;
  }
}
.fv--recruitSingle__img-box {
  height: 100%;
}

.fv--recruitSingle__img {
  width: 100vw;
  height: 100%;
}

.p-single-recruit {
  padding-top: 12.0512820513vw;
  padding-bottom: 38.4615384615vw;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .p-single-recruit {
    padding-top: 4.1666666667vw;
    padding-bottom: 13.0729166667vw;
  }
}
.p-single-recruit__inner {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-single-recruit__inner {
    max-width: 869px;
    padding-right: 25px;
    padding-left: 25px;
  }
}
@media screen and (min-width: 1920px) {
  .p-single-recruit__inner {
    min-width: 42.65625vw;
  }
}

.p-single-recruit__title {
  font-size: 5.641025641vw;
  font-weight: 500;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .p-single-recruit__title {
    font-size: min(2.6829268293vw, 22px);
  }
}
@media screen and (min-width: 1920px) {
  .p-single-recruit__title {
    font-size: 1.1458333333vw;
  }
}
.p-single-recruit__list {
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .p-single-recruit__list {
    margin-top: min(3.6585365854vw, 30px);
  }
}
@media screen and (min-width: 1920px) {
  .p-single-recruit__list {
    margin-top: 1.5625vw;
  }
}
.p-single-recruit__item {
  margin-top: 7.6923076923vw;
  padding-bottom: 7.6923076923vw;
  border-bottom: 0.2564102564vw solid #BBBBBB;
}

@media screen and (min-width: 768px) {
  .p-single-recruit__item {
    display: flex;
    margin-top: 3.6585365854vw;
    padding-bottom: 3.6585365854vw;
    border-bottom: 1px solid #BBBBBB;
  }
}
@media screen and (min-width: 1920px) {
  .p-single-recruit__item {
    margin-top: 1.5625vw;
    padding-bottom: 1.5625vw;
    border-bottom: 0.0520833333vw solid #BBBBBB;
  }
}
@media screen and (min-width: 768px) {
  .p-single-recruit-item__theme {
    width: min(19.2682926829vw, 158px);
  }
}
@media screen and (min-width: 1920px) {
  .p-single-recruit-item__theme {
    width: 8.2291666667vw;
  }
}
.p-single-recruit-item__data {
  font-weight: 500;
  margin-top: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .p-single-recruit-item__data {
    width: calc(100% - min(19.2682926829vw, 158px));
    margin-top: 0;
  }
}
@media screen and (min-width: 1920px) {
  .p-single-recruit-item__data {
    width: calc(100% - 8.2291666667vw);
  }
}
.p-single-recruit-item__theme,
.p-single-recruit-item__data {
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .p-single-recruit-item__theme,
  .p-single-recruit-item__data {
    font-size: min(1.9512195122vw, 16px);
  }
}
@media screen and (min-width: 1920px) {
  .p-single-recruit-item__theme,
  .p-single-recruit-item__data {
    font-size: 0.8333333333vw;
  }
}
.p-single-recruit__btn {
  margin-top: 15.3846153846vw;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-single-recruit__btn {
    margin-top: min(12.1951219512vw, 100px);
  }
}
@media screen and (min-width: 1920px) {
  .p-single-recruit__btn {
    margin-top: 5.2083333333vw;
  }
}
.p-single-recruit__spacer {
  padding-top: 38.4615384615vw;
  background-color: #EBEBE7;
}

@media screen and (min-width: 768px) {
  .p-single-recruit__spacer {
    padding-top: 13.0208333333vw;
  }
}
@media screen and (min-width: 768px) {
  .main-archive-preview {
    display: flex;
  }
}
.archive-preview-filter {
  background-color: #EBEBE7;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .archive-preview-filter {
    padding-top: 6.6666666667vw;
  }
}
.archive-preview-filter__sp {
  position: fixed;
  top: var(--header-height);
  left: 0;
  width: 100%;
  z-index: 100;
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__sp {
    position: static;
    width: max(200px, 18.75vw);
  }
}
.archive-preview-filter__sticky {
  margin-top: var(--header-height);
  position: sticky;
  top: var(--header-height);
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__wrap {
    position: sticky;
    top: 6.6666666667vw;
    left: 0;
    height: 100vh;
    overflow-y: scroll;
    /*スクロールバー非表示（IE・Edge）*/
    -ms-overflow-style: none;
    /*スクロールバー非表示（Firefox）*/
    scrollbar-width: none;
  }
  .archive-preview-filter__wrap::-webkit-scrollbar {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .archive-preview-filter__head {
    padding-left: 1.3541666667vw;
    padding-right: 1.3541666667vw;
    padding-bottom: 1.4583333333vw;
  }
}
.archive-preview-filter__title {
  font-family: "Roboto", sans-serif;
  font-size: 5.641025641vw;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__title {
    font-size: max(1.1458333333vw, 16px);
  }
}
.archive-preview-filter__title.no-border {
  border-top: none;
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__title {
    font-size: max(22px, 1.1458333333vw);
    line-height: 1.6363636364;
    letter-spacing: 0.01em;
  }
}
.archive-preview-filter__title01 {
  padding: 3.2051282051vw 5.1282051282vw 3.7179487179vw;
  position: relative;
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__title01 {
    padding: 0;
  }
}
.archive-preview-filter__title01::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5.1282051282vw;
  transform: translateY(calc(-50% - 1.2820512821vw)) rotate(-45deg);
  width: 2.8205128205vw;
  height: auto;
  aspect-ratio: 1/1;
  border-left: 0.2564102564vw solid #1B1B1C;
  border-bottom: 0.2564102564vw solid #1B1B1C;
  transition: transform 0.3s ease 0s;
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__title01::after {
    display: none;
  }
}
.archive-preview-filter__title01.open::after {
  transform: translateY(calc(-50% + 1.2820512821vw)) rotate(135deg);
}

.archive-preview-filter__main-wrap {
  display: grid;
  grid-template-rows: 0fr;
  padding: 0 5.1282051282vw;
  --transitionSeconds: 0.8s;
  transition: grid-template-rows var(--transitionSeconds) ease 0s, padding-top 0.1s ease 0.7s, padding-bottom 0.1s ease 0.7s;
  padding-top: 0vw;
  padding-bottom: 0vw;
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__main-wrap {
    display: contents;
  }
}
.archive-preview-filter__main-wrap.open {
  grid-template-rows: 1fr;
  transition: grid-template-rows 0.8s ease 0s, padding-top 0.1s ease -0.1s, padding-bottom 0.1s ease -0.1s;
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__container {
    padding-bottom: min(18.75vw, 360px);
  }
}
.archive-preview-filter__form-container-wrap {
  overflow-y: hidden;
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__form-container-wrap {
    overflow-y: visible;
  }
}
.archive-preview-filter__form-container {
  padding-top: 2.4358974359vw;
  padding-bottom: 5.1282051282vw;
  height: 85vh;
  overflow-y: scroll;
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__form-container {
    padding-top: 0;
    padding-bottom: 15.625vw;
    height: auto;
    overflow-y: visible;
  }
}
.archive-preview-filter__main {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__main {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .archive-preview-filter__box {
    padding: 1.4583333333vw 1.3541666667vw;
    border-top: 0.1041666667vw solid #fff;
  }
  .archive-preview-filter__box:last-child {
    border-bottom: 0.1041666667vw solid #fff;
  }
}
.archive-preview-filter__list {
  padding: 4.358974359vw 2.0512820513vw;
  display: flex;
  flex-wrap: wrap;
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__list {
    font-size: max(0.78125vw, 12px);
    display: grid;
  }
}
.archive-preview-filter__list01 {
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 15.3846153846vw;
       column-gap: 15.3846153846vw;
  row-gap: 4.1025641026vw;
  padding-bottom: 10.2564102564vw;
}

.archive-preview-filter__list02 {
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 12.8205128205vw;
       column-gap: 12.8205128205vw;
  row-gap: 4.1025641026vw;
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__list {
    display: block;
    padding: 0;
    margin-top: 0.78125vw;
  }
}
.archive-preview-filter__item {
  min-width: 33.3333333333vw;
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__item {
    min-width: initial;
  }
}
.archive-preview-filter__item a {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 500;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__item a {
    font-size: 13px;
    line-height: 1;
  }
}
.archive-preview-filter__item + .archive-preview-filter__item {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__item + .archive-preview-filter__item {
    margin-top: 0.7291666667vw;
  }
}
/* サブリスト/タグ（必要なら有効化）
.archive-preview-filter__sub-list { }
.archive-preview-filter__tags { }
@include mq(md) {
  .archive-preview-filter__tags {
    padding-left: vw(1920, 10);
    margin-top: vw(1920,40);
  }
}
.archive-preview-filter__tag { }
@include mq(md) {
  .archive-preview-filter__tag a {
    font-size: 12px;
    letter-spacing: 0.05em;
    letter-spacing: calc(33 / 13);
  }
}
*/
.archive-preview-contents {
  margin-top: calc(var(--header-height) * 2 + 17.9487179487vw);
  padding: 0 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .archive-preview-contents {
    margin-top: 0;
    width: calc(100% - max(200px, 18.75vw));
    padding: 1.4583333333vw;
    padding-top: 6.1458333333vw;
  }
}
.archive-preview-contents__title--en {
  font-family: "Roboto", sans-serif;
  font-size: 14.8717948718vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.1538461538;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .archive-preview-contents__title--en {
    font-size: 3.90625vw;
    line-height: 1;
  }
}
.archive-preview-contents__title--jp {
  font-size: 3.3333333333vw;
  font-weight: 500;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  .archive-preview-contents__title--jp {
    font-size: 13px;
    line-height: 2.6923076923;
  }
}
.archive-preview-contents__list {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .archive-preview-contents__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1.4583333333vw;
         column-gap: 1.4583333333vw;
    row-gap: 1.5625vw;
    margin-top: 4.1666666667vw;
    padding: 0;
  }
}
@media screen and (min-width: 1240px) {
  .archive-preview-contents__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.archive-preview-contents__item > a {
  display: inline-block;
  border-bottom: 1px solid #fff;
}

@media screen and (min-width: 768px) {
  .archive-preview-contents__item > a {
    padding-bottom: 2.0833333333vw;
  }
}
.archive-preview-contents__item + .archive-preview-contents__item {
  margin-top: 12.8205128205vw;
}

@media screen and (min-width: 768px) {
  .archive-preview-contents__item + .archive-preview-contents__item {
    margin-top: 0;
  }
}
.archive-preview-contents-item__img {
  width: 100%;
  height: auto;
  aspect-ratio: 338/190;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .archive-preview-contents-item__img {
    aspect-ratio: 720/405;
  }
}
.archive-preview-contents-item__texts {
  padding-top: 6.1538461538vw;
}

@media screen and (min-width: 768px) {
  .archive-preview-contents-item__texts {
    padding: 1.4583333333vw;
  }
}
.archive-preview-contents-item__title {
  font-size: 5.1282051282vw;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .archive-preview-contents-item__title {
    font-size: max(15px, 0.9375vw);
  }
}
.archive-preview-contents-item__info01 {
  font-size: 3.8461538462vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 2;
  margin-top: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .archive-preview-contents-item__info01 {
    font-size: max(12px, 0.8333333333vw);
    margin-top: 0.78125vw;
  }
}
.archive-preview-contents-item__info02 {
  font-size: 3.8461538462vw;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 2;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.archive-preview-contents-item__info02.info02Preview {
  color: #DD0012;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .archive-preview-contents-item__info02 {
    font-size: max(12px, 0.8333333333vw);
  }
}
.archive-preview-contents-item__wrap {
  display: flex;
  flex-wrap: wrap;
  margin-top: 4.6153846154vw;
  -moz-column-gap: 8.2051282051vw;
       column-gap: 8.2051282051vw;
}

@media screen and (min-width: 768px) {
  .archive-preview-contents-item__wrap {
    margin-top: 0.78125vw;
    -moz-column-gap: 1.6666666667vw;
         column-gap: 1.6666666667vw;
    row-gap: 0.625vw;
  }
}
.archive-preview-contents-item__wrap > * > span {
  font-size: 3.8461538462vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .archive-preview-contents-item__wrap > * > span {
    font-size: max(0.8333333333vw, 12px);
  }
}
.archive-preview-contents-item__wrap > * > span + span {
  margin-left: 3.0769230769vw;
}

@media screen and (min-width: 768px) {
  .archive-preview-contents-item__wrap > * > span + span {
    margin-left: 0.9375vw;
  }
}
.archive-preview-contents-item__desc {
  font-size: 3.8461538462vw;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 2;
  margin-top: 4.1025641026vw;
}

@media screen and (min-width: 768px) {
  .archive-preview-contents-item__desc {
    margin-top: 0.625vw;
    font-size: max(0.8333333333vw, 12px);
  }
}
.archive-preview-contents-item__desc span {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.archive-preview-contents-item__categories {
  display: flex;
  font-size: 3.5897435897vw;
  letter-spacing: 0.01em;
  line-height: 1;
  margin-top: 4.6153846154vw;
  -moz-column-gap: 1.5384615385vw;
       column-gap: 1.5384615385vw;
  row-gap: 0.7692307692vw;
}

@media screen and (min-width: 768px) {
  .archive-preview-contents-item__categories {
    margin-top: 0.9375vw;
    gap: 0.625vw;
    font-size: max(0.7291666667vw, 10px);
  }
}
.archive-preview-contents-item__tax {
  border-left: 0.2564102564vw solid #1B1B1C;
}
.archive-preview-contents-item__tax:last-child {
  border-right: 0.2564102564vw solid #1B1B1C;
}

@media screen and (min-width: 768px) {
  .archive-preview-contents-item__tax {
    border-left: 0.0520833333vw solid #1B1B1C;
  }
  .archive-preview-contents-item__tax:last-child {
    border-right: 0.0520833333vw solid #1B1B1C;
  }
}
.archive-preview-contents-item__term {
  font-weight: 500;
  padding: 0 2.0512820513vw;
  border-right: 0.2564102564vw solid #1B1B1C;
}

@media screen and (min-width: 768px) {
  .archive-preview-contents-item__term {
    padding: 0 8px;
    border-right: 0.0520833333vw solid #1B1B1C;
  }
}
.archive-preview-contents-item__term:last-child {
  border-right: none;
}

.archive-preview-contents-item__term-link {
  position: relative;
  z-index: 1;
}

.archive-preview-contents-item__tax--real_estate__rent {
  display: none;
}

.archive-preview-contents-item__tax--real_estate__onfoot {
  display: none;
}

.archive-preview-contents-item__img img {
  transition: transform 0.3s ease 0s;
}

.archive-preview-contents__item {
  position: relative;
}

.archive-preview-contents__item > a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: background-color 0.3s ease 0s;
}

.archive-preview-contents__item a:hover ~ .archive-preview-contents-item__img img {
  transform: scale(1.1);
}

.archive-preview-contents__item a:hover ~ .archive-preview-contents-item__texts {
  background-color: #F4F4F4;
}

.archive-preview-filter__btn-link {
  display: block;
  width: 100%;
  line-height: 1;
  background: #1B1B1C;
  text-align: center;
  padding: 4.8717948718vw;
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__btn-link {
    padding: 1.25vw 0.625vw;
  }
}
.archive-preview-filter__btn-texts {
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  color: #fff;
  font-size: 3.8461538462vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 6.6666666667vw;
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__btn-texts {
    font-size: 15px;
    padding-left: 25px;
    padding-top: 4px;
    padding-bottom: 4px;
  }
}
.archive-preview-filter__btn-texts::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 3.5897435897vw;
  height: auto;
  aspect-ratio: 14/20;
  background-image: url(../images/icon--map.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__btn-texts::before {
    width: 14px;
  }
}
.archive-preview-filter__btn--close {
  display: block;
  font-family: "Roboto", sans-serif;
  font-size: 3.5897435897vw;
  letter-spacing: 0.01em;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
  color: #fff;
  text-transform: uppercase;
  margin-top: 9.7435897436vw;
  padding-bottom: 1.2820512821vw;
}

.archive-preview-filter__btn--close::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 7.1794871795vw;
  height: 0.2564102564vw;
  background-color: rgba(255, 255, 255, 0.5);
}

@media screen and (min-width: 768px) {
  .archive-preview-filter__btn--close {
    display: none;
  }
}
/* ------------------------
  ボタンのアニメーション
---------------------------*/
.jsTextWrap {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .jsTextWrap {
    overflow: hidden;
  }
}
.jsTextWrap span {
  display: block;
  line-height: 1.1;
  transition: transform 0.5s ease 0s;
}

.jsBtn a:hover .jsTextWrap span {
  transform: translateY(-120%);
}

.single-preview__inner {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .single-preview__inner {
    max-width: max(1286px, 66.9791666667vw);
    padding-right: 25px;
    padding-left: 25px;
  }
}

.single-preview__inner p {
  margin: 10.2564102564vw 0;
}

@media screen and (min-width: 768px) {
  .single-preview__inner p {
    margin: 1.25vw 0;
  }
}
.fv--previewSingle {
  height: 56.1538461538vw;
}

@media screen and (min-width: 768px) {
  .fv--previewSingle {
    height: 39.0625vw;
  }
}
.fv-img-box--previewSingle {
  width: 100%;
  height: 100%;
}

.fv-img--previewSingle {
  width: 100%;
  height: 100%;
}

.main-single-preview {
  margin-top: calc(var(--header-height) + 18.7179487179vw);
}

@media screen and (min-width: 768px) {
  .main-single-preview {
    margin-top: 0;
  }
}
.single-preview__head {
  padding-top: 7.6923076923vw;
  padding-bottom: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .single-preview__head {
    padding-top: 2.6041666667vw;
    padding-bottom: 5.2083333333vw;
  }
}
.single-preview__construction_status .construction-status__term {
  font-size: 3.8461538462vw;
  font-weight: 700;
  letter-spacing: 0.01em;
  padding-top: 1.2820512821vw;
  padding-bottom: 1.5384615385vw;
  padding-left: 2.5641025641vw;
  padding-right: 2.5641025641vw;
  border: 0.2564102564vw solid var(--text-color);
  color: #fff;
  background-color: #1B1B1C;
}

@media screen and (min-width: 768px) {
  .single-preview__construction_status .construction-status__term {
    font-size: max(1.0416666667vw, 15px);
    padding-top: max(0.2083333333vw, 3px);
    padding-bottom: max(0.3125vw, 4px);
    padding-left: max(0.78125vw, 10px);
    padding-right: max(0.78125vw, 10px);
    border: max(0.0520833333vw, 2px) solid var(--text-color);
  }
}
.single-preview__title {
  margin-top: 2.5641025641vw;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .single-preview__title {
    margin-top: 0.78125vw;
  }
}
.single-preview__building__type .building-type__term {
  display: inline-block;
  padding: 0 8px;
  border-left: 0.2564102564vw solid var(--text-color);
  border-right: 0.2564102564vw solid var(--text-color);
  margin-top: 2.5641025641vw;
  font-weight: 500;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .single-preview__building__type .building-type__term {
    padding: 0 0.4166666667vw;
    border-left: 1px solid var(--text-color);
    border-right: 1px solid var(--text-color);
    margin-top: 0.78125vw;
  }
}
.single-preview__main {
  padding-bottom: 10.2564102564vw;
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .single-preview__main {
    padding-bottom: 5.2083333333vw;
    font-size: max(12px, 0.8333333333vw);
  }
}
.single-preview__info {
  padding-top: 20.5128205128vw;
  padding-bottom: 20.5128205128vw;
}

@media screen and (min-width: 768px) {
  .single-preview__info {
    padding-top: 5.9375vw;
    padding-bottom: 5.5729166667vw;
  }
}
.single-preview-slide__container {
  width: 100%;
  padding-right: 6px;
  padding-left: 6px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .single-preview-slide__container {
    max-width: max(1444px, 75.2083333333vw);
    padding-right: 25px;
    padding-left: 25px;
  }
}

.preview-slide__wrap {
  position: relative;
}

.single-preview-slide-img__box {
  padding: 0 5.641025641vw;
}

@media screen and (min-width: 768px) {
  .single-preview-slide-img__box {
    padding: 0 max(4.1666666667vw, 80px);
  }
}
.single-preview-slide__img {
  width: 80vw;
  aspect-ratio: 312/176;
  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .single-preview-slide__img {
    width: 100%;
    aspect-ratio: 1236/695;
  }
}
.single-preview-slide__arrow {
  width: 12.8205128205vw;
  height: auto;
  aspect-ratio: 1/1;
  background: transparent;
  position: static;
}

@media screen and (min-width: 768px) {
  .single-preview-slide__arrow {
    width: max(2.03125vw, 39px);
    position: absolute;
  }
}
.single-preview-slide__arrows {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 7.6923076923vw;
  gap: 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .single-preview-slide__arrows {
    display: block;
    margin-top: 0;
  }
}
.single-preview-slide__arrow--prev {
  transform: rotate(180deg);
}

.single-preview-slide__arrow--next {
  transform: translate(0);
}

.single-preview-info__container {
  margin-top: 12.8205128205vw;
  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .single-preview-info__container {
    margin-top: 4.1666666667vw;
    max-width: max(540px, 42.65625vw);
  }
}
.single-preview-info__title {
  font-family: "Roboto", sans-serif;
  font-size: 5.641025641vw;
  font-weight: 500;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .single-preview-info__title {
    font-size: max(16px, 1.1458333333vw);
  }
}
.single-preview-info__item {
  display: flex;
  margin-top: 7.6923076923vw;
  padding-bottom: 3.8461538462vw;
  border-bottom: 0.2564102564vw solid var(--text-color);
}

@media screen and (min-width: 768px) {
  .single-preview-info__item {
    margin-top: 1.5625vw;
    padding-bottom: 0.78125vw;
    border-bottom: 1px solid var(--text-color);
  }
}
.single-preview-info-item__theme,
.single-preview-info-item__data {
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .single-preview-info-item__theme,
  .single-preview-info-item__data {
    font-size: max(14px, 0.8333333333vw);
  }
}
.single-preview-info-item__theme {
  width: 26.6666666667vw;
  flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .single-preview-info-item__theme {
    width: max(8.2291666667vw, 104px);
  }
}
.single-preview-info-item__data {
  font-weight: 500;
  width: calc(100% - 26.6666666667vw);
  flex-grow: 1;
}

@media screen and (min-width: 768px) {
  .single-preview-info-item__data {
    width: calc(100% - max(8.2291666667vw, 104px));
    padding-right: 0.7291666667vw;
  }
}
.single-preview__map {
  height: 66.6666666667vw;
}
.single-preview__map iframe {
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .single-preview__map {
    height: max(400px, 29.3229166667vw);
  }
}
.single-preview-map__container {
  width: 100%;
  height: 100%;
}

.single-preview__cta {
  padding-top: 15.3846153846vw;
  padding-bottom: 38.4615384615vw;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .single-preview__cta {
    padding-top: 5.2083333333vw;
    padding-bottom: 13.0208333333vw;
  }
}
.single-preview__cta .p-btn__link {
  text-align: left;
}
.single-preview__cta .p-btn-link__text {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .p-btn-link__text {
    width: initial;
  }
}
@media screen and (min-width: 768px) {
  .main-archive-rental {
    display: flex;
  }
}
.archive-rental-filter {
  background-color: #EBEBE7;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter {
    padding-top: 6.6666666667vw;
  }
}
.archive-rental-filter__sp {
  position: fixed;
  top: var(--header-height);
  left: 0;
  width: 100%;
  z-index: 100;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__sp {
    position: static;
    width: max(200px, 18.75vw);
  }
}
.archive-rental-filter__sticky {
  margin-top: var(--header-height);
  position: sticky;
  top: var(--header-height);
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__wrap {
    position: sticky;
    top: 6.6666666667vw;
    left: 0;
    height: 100vh;
    overflow-y: scroll;
    /*スクロールバー非表示（IE・Edge）*/
    -ms-overflow-style: none;
    /*スクロールバー非表示（Firefox）*/
    scrollbar-width: none;
  }
  .archive-rental-filter__wrap::-webkit-scrollbar {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .archive-rental-filter__head {
    padding-left: 1.3541666667vw;
    padding-right: 1.3541666667vw;
    padding-bottom: 1.4583333333vw;
  }
}
.archive-rental-filter__title {
  font-family: "Roboto", sans-serif;
  font-size: 5.641025641vw;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__title {
    font-size: max(1.1458333333vw, 16px);
  }
}
.archive-rental-filter__title.no-border {
  border-top: none;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__title {
    font-size: max(22px, 1.1458333333vw);
    line-height: 1.6363636364;
    letter-spacing: 0.01em;
  }
}
.archive-rental-filter__title01 {
  padding: 3.2051282051vw 5.1282051282vw 3.7179487179vw;
  position: relative;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__title01 {
    padding: 0;
  }
}
.archive-rental-filter__title01::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5.1282051282vw;
  transform: translateY(calc(-50% - 1.2820512821vw)) rotate(-45deg);
  width: 2.8205128205vw;
  height: auto;
  aspect-ratio: 1/1;
  border-left: 0.2564102564vw solid #1B1B1C;
  border-bottom: 0.2564102564vw solid #1B1B1C;
  transition: transform 0.3s ease 0s;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__title01::after {
    display: none;
  }
}
.archive-rental-filter__title01.open::after {
  transform: translateY(calc(-50% + 1.2820512821vw)) rotate(135deg);
}

.archive-rental-filter__main-wrap {
  display: grid;
  grid-template-rows: 0fr;
  padding-top: 0vw;
  padding-bottom: 0vw;
  --transitionSeconds: 0.8s;
  transition: grid-template-rows var(--transitionSeconds) ease 0s, padding-top 0.1s ease 0.7s, padding-bottom 0.1s ease 0.7s;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__main-wrap {
    display: contents;
  }
}
.archive-rental-filter__main-wrap.open {
  grid-template-rows: 1fr;
  transition: grid-template-rows 0.8s ease 0s, padding-top 0.1s ease -0.1s, padding-bottom 0.1s ease -0.1s;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__container {
    padding-bottom: min(18.75vw, 360px);
  }
}
.archive-rental-filter__form-container-wrap {
  overflow-y: hidden;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__form-container-wrap {
    overflow-y: visible;
  }
}
.archive-rental-filter__form-container {
  padding-top: 2.4358974359vw;
  padding-bottom: 5.1282051282vw;
  height: 85vh;
  overflow-y: scroll;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__form-container {
    padding-top: 0;
    padding-bottom: 15.625vw;
    height: auto;
    overflow-y: visible;
  }
}
.archive-rental-filter__main {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__main {
    display: block;
  }
}
.archive-rental-filter__box {
  padding: 7.1794871795vw 5.1282051282vw;
  border-top: 0.5128205128vw solid #fff;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__box {
    padding: 1.4583333333vw 1.3541666667vw;
    border-top: 0.1041666667vw solid #fff;
  }
  .archive-rental-filter__box:last-child {
    border-bottom: 0.1041666667vw solid #fff;
  }
}
.archive-rental-filter__list {
  padding: 4.358974359vw 2.0512820513vw;
  display: flex;
  flex-wrap: wrap;
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
  -moz-column-gap: 15.3846153846vw;
       column-gap: 15.3846153846vw;
  row-gap: 4.1025641026vw;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__list {
    font-size: max(0.78125vw, 12px);
    display: grid;
    gap: 0;
  }
}
.archive-rental-filter__list01 {
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 15.3846153846vw;
       column-gap: 15.3846153846vw;
  row-gap: 4.1025641026vw;
}

.archive-rental-filter__list02 {
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 12.8205128205vw;
       column-gap: 12.8205128205vw;
  row-gap: 4.1025641026vw;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__list {
    display: block;
    padding: 0;
    margin-top: 0.78125vw;
  }
}
.archive-rental-filter__item {
  min-width: 41.0256410256vw;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__item {
    min-width: initial;
  }
}
.archive-rental-filter__item a {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 500;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__item a {
    font-size: 13px;
    line-height: 1;
  }
}
.archive-rental-filter__item + .archive-rental-filter__item {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__item + .archive-rental-filter__item {
    margin-top: 0.7291666667vw;
  }
}
.archive-rental-contents {
  margin-top: calc(var(--header-height) * 2 + 17.9487179487vw);
  padding: 0 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .archive-rental-contents {
    margin-top: 0;
    width: calc(100% - max(200px, 18.75vw));
    padding: 1.4583333333vw;
    padding-top: 6.1458333333vw;
  }
}
.archive-rental-contents__title--en {
  font-family: "Roboto", sans-serif;
  font-size: 14.8717948718vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.1538461538;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .archive-rental-contents__title--en {
    font-size: 3.90625vw;
    line-height: 1;
  }
}
.archive-rental-contents__title--jp {
  font-size: 3.3333333333vw;
  font-weight: 500;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  .archive-rental-contents__title--jp {
    font-size: 13px;
    line-height: 2.6923076923;
  }
}
.archive-rental-contents__list {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .archive-rental-contents__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 1.4583333333vw;
         column-gap: 1.4583333333vw;
    row-gap: 1.5625vw;
    margin-top: 4.1666666667vw;
    padding: 0;
  }
}
.archive-rental-contents__item > a {
  display: inline-block;
  border-bottom: 1px solid #fff;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .archive-rental-contents__item > a {
    padding-bottom: 2.0833333333vw;
  }
}
.archive-rental-contents__item + .archive-rental-contents__item {
  margin-top: 12.8205128205vw;
}

@media screen and (min-width: 768px) {
  .archive-rental-contents__item + .archive-rental-contents__item {
    margin-top: 0;
  }
}
.archive-rental-contents-item__img {
  width: 100%;
  height: auto;
  aspect-ratio: 338/190;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .archive-rental-contents-item__img {
    aspect-ratio: 720/405;
  }
}
.archive-rental-contents-item__texts {
  padding-top: 6.1538461538vw;
}

@media screen and (min-width: 768px) {
  .archive-rental-contents-item__texts {
    padding: 1.4583333333vw;
  }
}
.archive-rental-contents-item__title {
  font-size: 5.1282051282vw;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .archive-rental-contents-item__title {
    font-size: max(15px, 0.9375vw);
  }
}
.archive-rental-contents-item__info01 {
  margin-top: 5.1282051282vw;
  font-size: 3.8461538462vw;
  font-weight: 500;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .archive-rental-contents-item__info01 {
    margin-top: 0.2604166667vw;
    font-size: max(0.8333333333vw, 12px);
  }
}
.archive-rental-contents-item__info02 {
  margin-top: 1.2820512821vw;
  font-size: 3.8461538462vw;
  font-weight: 500;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .archive-rental-contents-item__info02 {
    margin-top: 0.78125vw;
    font-size: max(0.8333333333vw, 12px);
  }
}
.archive-rental-contents-item__wrap {
  display: flex;
  flex-wrap: wrap;
  margin-top: 4.6153846154vw;
  -moz-column-gap: 8.2051282051vw;
       column-gap: 8.2051282051vw;
}

@media screen and (min-width: 768px) {
  .archive-rental-contents-item__wrap {
    margin-top: 0.78125vw;
    -moz-column-gap: 1.6666666667vw;
         column-gap: 1.6666666667vw;
    row-gap: 0.625vw;
  }
}
.archive-rental-contents-item__wrap > * > span {
  font-size: 3.8461538462vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .archive-rental-contents-item__wrap > * > span {
    font-size: max(0.8333333333vw, 12px);
  }
}
.archive-rental-contents-item__wrap > * > span + span {
  margin-left: 3.0769230769vw;
}

@media screen and (min-width: 768px) {
  .archive-rental-contents-item__wrap > * > span + span {
    margin-left: 0.9375vw;
  }
}
.archive-rental-contents-item__desc {
  font-size: 3.8461538462vw;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 2;
  margin-top: 4.1025641026vw;
}

@media screen and (min-width: 768px) {
  .archive-rental-contents-item__desc {
    margin-top: 0.625vw;
    font-size: max(0.8333333333vw, 12px);
  }
}
.archive-rental-contents-item__desc span {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.archive-rental-contents-item__categories {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  font-size: 3.5897435897vw;
  letter-spacing: 0.01em;
  line-height: 1;
  margin-top: 4.6153846154vw;
  row-gap: 0.7692307692vw;
}

@media screen and (min-width: 768px) {
  .archive-rental-contents-item__categories {
    margin-top: 0.9375vw;
    row-gap: 0.15625vw;
    font-size: max(0.7291666667vw, 10px);
  }
}
.archive-rental-contents-item__tax {
  border-left: 0.2564102564vw solid #1B1B1C;
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.7692307692vw;
  align-items: flex-start;
}
.archive-rental-contents-item__tax:last-child {
  border-right: 0.2564102564vw solid #1B1B1C;
}

@media screen and (min-width: 768px) {
  .archive-rental-contents-item__tax {
    border-left: 0.0520833333vw solid #1B1B1C;
    row-gap: 0.15625vw;
  }
  .archive-rental-contents-item__tax:last-child {
    border-right: 0.0520833333vw solid #1B1B1C;
  }
}
.archive-rental-contents-item__term {
  font-weight: 500;
  padding: 0 2.0512820513vw;
  border-right: 0.2564102564vw solid #1B1B1C;
}

@media screen and (min-width: 768px) {
  .archive-rental-contents-item__term {
    padding: 0 8px;
    border-right: 0.0520833333vw solid #1B1B1C;
  }
}
.archive-rental-contents-item__term:last-child {
  border-right: none;
}

.archive-rental-contents-item__term-link {
  position: relative;
  z-index: 1;
}

.archive-rental-contents-item__tax--real_estate__rent {
  display: none;
}

.archive-rental-contents-item__tax--real_estate__onfoot {
  display: none;
}

.archive-rental-contents-item__img img {
  transition: transform 0.3s ease 0s;
}

.archive-rental-contents__item {
  position: relative;
}

.archive-rental-contents__item > a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transition: background-color 0.3s ease 0s;
  height: 100%;
}

.archive-rental-contents__item > a:hover ~ .archive-rental-contents-item__img img {
  transform: scale(1.1);
}

.archive-rental-contents__item > a:hover ~ .archive-rental-contents-item__texts {
  background-color: #F4F4F4;
}

.archive-rental-filter__btn-link {
  display: block;
  width: 100%;
  line-height: 1;
  background: #1B1B1C;
  text-align: center;
  padding: 4.8717948718vw;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__btn-link {
    padding: 1.25vw 0.625vw;
  }
}
.archive-rental-filter__btn-texts {
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  color: #fff;
  font-size: 3.8461538462vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 6.6666666667vw;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__btn-texts {
    font-size: 15px;
    padding-left: 25px;
    padding-top: 4px;
    padding-bottom: 4px;
  }
}
.archive-rental-filter__btn-texts::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 3.5897435897vw;
  height: auto;
  aspect-ratio: 14/20;
  background-image: url(../images/icon--map.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__btn-texts::before {
    width: 14px;
  }
}
.archive-rental-filter__btn--close {
  display: block;
  font-family: "Roboto", sans-serif;
  font-size: 3.5897435897vw;
  letter-spacing: 0.01em;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
  color: #fff;
  text-transform: uppercase;
  margin-top: 9.7435897436vw;
  padding-bottom: 1.2820512821vw;
}

.archive-rental-filter__btn--close::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 7.1794871795vw;
  height: 0.2564102564vw;
  background-color: rgba(255, 255, 255, 0.5);
}

@media screen and (min-width: 768px) {
  .archive-rental-filter__btn--close {
    display: none;
  }
}
/* ------------------------
  ボタンのアニメーション
---------------------------*/
.jsTextWrap {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .jsTextWrap {
    overflow: hidden;
  }
}
.jsTextWrap span {
  display: block;
  line-height: 1.1;
  transition: transform 0.5s ease 0s;
}

.jsBtn a:hover .jsTextWrap span {
  transform: translateY(-120%);
}

.fv--rentalSingle {
  padding-top: 34.1025641026vw;
}

@media screen and (min-width: 768px) {
  .fv--rentalSingle {
    display: flex;
    height: 100vh;
    padding-top: 0;
  }
}
.fv-img--rentalSingle {
  aspect-ratio: 390/260;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .fv-img--rentalSingle {
    width: calc(100% - max(400px, 26.0416666667vw));
    flex-shrink: 0;
    height: 88.8888888889vh;
    padding-top: 0;
  }
}
.fv-img-box--rentalSingle {
  width: 100%;
  height: 100%;
}

.fv-texts--rentalSingle {
  padding: 15.3846153846vw 6.6666666667vw 20.5128205128vw;
}

@media screen and (min-width: 768px) {
  .fv-texts--rentalSingle {
    align-self: center;
    padding: 0 1.4583333333vw;
    height: auto;
    width: max(400px, 26.0416666667vw);
  }
}
.fv-catch--rentalSingle {
  font-size: 6.1538461538vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4166666667;
}

@media screen and (min-width: 768px) {
  .fv-catch--rentalSingle {
    font-size: max(28px, 1.6666666667vw);
    line-height: 1.40625;
  }
}
.fv-category--rentalSingle {
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .fv-category--rentalSingle {
    margin-top: 2.6041666667vw;
  }
}
.fv-category__item--rentalSingle {
  display: inline-block;
  padding: 0 2.0512820513vw;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1.1;
  border-left: 0.2564102564vw solid #1b1b1c;
  border-right: 0.2564102564vw solid #1b1b1c;
}

@media screen and (min-width: 768px) {
  .fv-category__item--rentalSingle {
    padding: 0 8px;
    border-left: 1px solid #1b1b1c;
    border-right: 1px solid #1b1b1c;
    font-size: max(12px, 0.7291666667vw);
  }
}
.fv-title--rentalSingle {
  margin-top: 3.8461538462vw;
  font-size: 3.8461538462vw;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .fv-title--rentalSingle {
    margin-top: 0.78125vw;
    font-size: max(14px, 0.8333333333vw);
  }
}
.single-rental-info {
  padding-top: 17.1794871795vw;
  padding-bottom: 15.3846153846vw;
  padding-left: 20px;
  padding-right: 20px;
}

@media screen and (min-width: 768px) {
  .single-rental-info {
    padding-top: 5.1041666667vw;
    padding-bottom: 5.1041666667vw;
    padding-left: 5.15625vw;
    padding-right: 5.46875vw;
  }
}
@media screen and (min-width: 768px) {
  .single-rental-info__wrap {
    display: flex;
    gap: 5.5729166667vw;
  }
}
.single-rental-info__slide-container {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

@media screen and (min-width: 768px) {
  .single-rental-info__slide-container {
    margin: initial;
    flex-shrink: 0;
    width: 43.8541666667vw;
  }
}
.single-rental-info__main-slide-wrapper {
  overflow-x: hidden;
}

.single-rental-info__main-slides {
  position: relative;
  height: 57.9487179487vw;
}

@media screen and (min-width: 768px) {
  .single-rental-info__main-slides {
    height: 29.21875vw;
  }
}
.single-rental-info__main-slide {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.single-rental-info__main-slide.active {
  opacity: 1;
}

.single-rental-info__main-slide-img {
  aspect-ratio: 338/226;
}

@media screen and (min-width: 768px) {
  .single-rental-info__main-slide-img {
    aspect-ratio: 841/561;
  }
}
.single-rental-info__thumbnail-slides-wrap {
  margin-top: 24.358974359vw;
}

@media screen and (min-width: 768px) {
  .single-rental-info__thumbnail-slides-wrap {
    margin-top: 4.9479166667vw;
    width: 43.8020833333vw;
  }
}
.single-rental-info__thumbnail-slides {
  display: flex;
}

.single-rental-info__thumbnail-slide {
  width: 30.7692307692vw;
  aspect-ratio: 120/80;
  margin-right: 3.0769230769vw;
}

@media screen and (min-width: 768px) {
  .single-rental-info__thumbnail-slide {
    width: 9.6354166667vw;
    aspect-ratio: 185/124;
    margin-right: 0.625vw;
  }
}
.single-rental-info__room-info {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .single-rental-info__room-info {
    width: calc(100% - 49.4270833333vw);
    margin-top: 0;
  }
}
.single-rental-info__room-info-title {
  text-transform: uppercase;
  font-family: "Roboto", sans-serif;
  font-size: 5.641025641vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .single-rental-info__room-info-title {
    font-size: max(1.1458333333vw, 16px);
  }
}
.single-rental-info__room-info-title02 {
  margin-top: 14.6153846154vw;
}

@media screen and (min-width: 768px) {
  .single-rental-info__room-info-title02 {
    margin-top: 4.7916666667vw;
  }
}
.single-rental-info__room-slide-container {
  margin-top: 3.5897435897vw;
}

@media screen and (min-width: 768px) {
  .single-rental-info__room-slide-container {
    margin-top: 0.46875vw;
  }
}
.single-rental-info__room-slide-img-box {
  background-color: #fff;
}

.single-rental-info__room-slide-img {
  width: 100%;
  aspect-ratio: 338/219;
}

@media screen and (min-width: 768px) {
  .single-rental-info__room-slide-img {
    aspect-ratio: 760/492;
  }
}
.single-rental-info__room-slide-img img {
  -o-object-fit: contain;
     object-fit: contain;
}

.single-rental-info__room-slide-wrap .splide__pagination {
  position: static;
  padding: 0;
  justify-content: flex-start;
  gap: 1.2820512821vw;
  margin-top: 2.5641025641vw;
}
@media screen and (min-width: 768px) {
  .single-rental-info__room-slide-wrap .splide__pagination {
    gap: 10px;
    margin-top: 0.5208333333vw;
  }
}

.single-rental-info__room-slide-page {
  width: 1.5384615385vw;
  height: 1.5384615385vw;
  background: initial;
  background-color: #1b1b1c !important;
  color: #fff;
  opacity: 1;
  border-radius: 0;
  margin: 0;
  display: grid;
  place-content: center;
  border-radius: 50%;
  font-size: 3.5897435897vw;
  font-weight: 500;
  letter-spacing: 0.01em;
}
.single-rental-info__room-slide-page span {
  opacity: 0;
}

@media screen and (min-width: 768px) {
  .single-rental-info__room-slide-page {
    width: 6px;
    height: 6px;
    font-size: max(11px, 0.7291666667vw);
  }
}
.single-rental-info__room-slide-page {
  --time: 0.3s;
  --timeRate: 2;
  transition-property: width, height;
  transition-timing-function: ease;
  transition-duration: var(--time);
  will-change: width, height;
}

.single-rental-info__room-slide-page.is-active {
  transform: scale(1);
  background: initial;
  border-radius: 0;
  height: 5.641025641vw;
  width: 11.2820512821vw;
  padding: 0 1.0256410256vw;
}
.single-rental-info__room-slide-page.is-active span {
  opacity: 1;
}

@media screen and (min-width: 768px) {
  .single-rental-info__room-slide-page.is-active {
    height: max(1.25vw, 20px);
    width: 2.6041666667vw;
    padding: 0.2083333333vw;
  }
}
.single-rental-info__room-slide-wrap .splide__arrow {
  background-color: transparent;
  transform: translateY(0);
  top: 28.2051282051vw;
  width: 4.4871794872vw;
  height: 4.4871794872vw;
}
@media screen and (min-width: 768px) {
  .single-rental-info__room-slide-wrap .splide__arrow {
    top: 11.7708333333vw;
    width: 2.03125vw;
    height: 2.03125vw;
  }
}
.single-rental-info__room-slide-wrap .splide__arrow--prev {
  transform: rotate(180deg);
}
.single-rental-info__room-slide-wrap .splide__arrow:disabled {
  opacity: 0;
}
.single-rental-info__room-slide-wrap .splide__pagination {
  min-height: 5.641025641vw;
}
@media screen and (min-width: 768px) {
  .single-rental-info__room-slide-wrap .splide__pagination {
    min-height: max(1.25vw, 20px);
  }
}

.single-rental-info__room-info-table-wrap {
  margin-top: 3.8461538462vw;
}

@media screen and (min-width: 768px) {
  .single-rental-info__room-info-table-wrap {
    margin-top: 0.9375vw;
  }
}
.single-rental-info__room-info-table {
  overflow-x: scroll;
}

.room-info-table {
  border-collapse: collapse;
  width: 195.3846153846vw;
}

@media screen and (min-width: 768px) {
  .room-info-table {
    width: max(580px, 39.5833333333vw);
  }
}
.room-info-table__head {
  text-align: left;
  background-color: #bbbbbb;
  padding: 1.0256410256vw 2.5641025641vw 1.5384615385vw;
  font-size: 3.5897435897vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .room-info-table__head {
    padding: 0.2083333333vw 0.5208333333vw 0.2604166667vw;
    font-size: max(0.7291666667vw, 12px);
  }
}
.room-info-table__row:has(.room-info-table__data) {
  height: 12.8205128205vw;
  border-bottom: 0.2564102564vw solid #bbbbbb;
}

@media screen and (min-width: 768px) {
  .room-info-table__row:has(.room-info-table__data) {
    height: max(30px, 2.6041666667vw);
    border-bottom: 1px solid #bbbbbb;
  }
}
.room-info-table__data {
  font-size: 3.8461538462vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  vertical-align: bottom;
  padding-bottom: 1.2820512821vw;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .room-info-table__data {
    font-size: max(0.8333333333vw, 13px);
    padding-bottom: 4px;
  }
}
.room-info-table__data {
  padding-left: 3.0769230769vw;
  padding-right: 3.0769230769vw;
}

@media screen and (min-width: 768px) {
  .room-info-table__data {
    padding-left: 0.625vw;
    padding-right: 0.625vw;
  }
}
.room-info-table__data:last-child {
  padding-left: 6.1538461538vw;
  padding-right: 3.0769230769vw;
}

@media screen and (min-width: 768px) {
  .room-info-table__data:last-child {
    padding-left: max(19px, 1.25vw);
    padding-right: 0.625vw;
  }
}
.room-info-table__row--unavailable {
  color: #bbbbbb;
}

.single-rental-info__map {
  height: 66.6666666667vw;
}
.single-rental-info__map iframe {
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .single-rental-info__map {
    height: max(480px, 29.3229166667vw);
  }
}
@media screen and (min-width: 768px) {
  .single-rental-info__container01 {
    padding: 0 4.0104166667vw;
  }
}
@media screen and (min-width: 768px) {
  .single-rental-info__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1024px) {
  .single-rental-info__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
.single-rental-info__item {
  padding: 6.6666666667vw 7.1794871795vw;
}

@media screen and (min-width: 768px) {
  .single-rental-info__item {
    padding: 1.3020833333vw 1.4583333333vw;
  }
  .single-rental-info__item:nth-child(even) {
    border-left: 1px solid #fff;
  }
  .single-rental-info__item:nth-child(n+2) {
    border-top: 1px solid #fff;
  }
}
@media screen and (min-width: 1024px) {
  .single-rental-info__item:nth-child(even) {
    border-left: none;
  }
  .single-rental-info__item:nth-child(n+2) {
    border-top: none;
  }
  .single-rental-info__item + .single-rental-info__item {
    border-left: 1px solid #fff;
  }
}
.single-rental-info-item__title {
  font-family: "Roboto", sans-serif;
  font-size: 5.641025641vw;
  font-weight: 500;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .single-rental-info-item__title {
    font-size: max(18px, 1.1458333333vw);
  }
}
.single-rental-info__sub-list {
  margin-top: 4.6153846154vw;
  display: grid;
  grid-template-columns: max-content 1fr;
  -moz-column-gap: 5.1282051282vw;
       column-gap: 5.1282051282vw;
  row-gap: 2.0512820513vw;
}

@media screen and (min-width: 768px) {
  .single-rental-info__sub-list {
    margin-top: 0.9375vw;
    -moz-column-gap: 1.0416666667vw;
         column-gap: 1.0416666667vw;
    row-gap: 0.4166666667vw;
  }
}
.single-rental-info__sub-item {
  display: flex;
}

.single-rental-info__theme,
.single-rental-info__data {
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .single-rental-info__theme,
  .single-rental-info__data {
    font-size: max(0.8333333333vw, 12px);
  }
}
.single-rental-info__data {
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .single-rental-info__container02 {
    padding: 5.2083333333vw 5.46875vw 5.7291666667vw;
  }
}
@media screen and (min-width: 768px) {
  .single-rental-info-container02__wrap {
    display: flex;
    gap: 5.5729166667vw;
  }
}
.single-rental-info__nearbySpots {
  padding: 13.8461538462vw 20px 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .single-rental-info__nearbySpots {
    width: calc(100% - 49.375vw);
    padding: 0;
  }
}
.single-rental-info-nearbySpots__title--en {
  font-family: "Roboto", sans-serif;
  font-size: 12.8205128205vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.26;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .single-rental-info-nearbySpots__title--en {
    font-size: 3.90625vw;
    line-height: 1.2533333333;
  }
}
.single-rental-info-nearbySpots__title--jp {
  font-size: 5.1282051282vw;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .single-rental-info-nearbySpots__title--jp {
    font-size: max(15px, 1.0416666667vw);
  }
}
.single-rental-info-nearbySpots__list {
  margin-top: 20.5128205128vw;
}

@media screen and (min-width: 768px) {
  .single-rental-info-nearbySpots__list {
    margin-top: 5.5729166667vw;
  }
}
.single-rental-info-nearbySpots__item + .single-rental-info-nearbySpots__item {
  margin-top: 12.8205128205vw;
}

@media screen and (min-width: 768px) {
  .single-rental-info-nearbySpots__item + .single-rental-info-nearbySpots__item {
    margin-top: 2.6041666667vw;
  }
}
.single-rental-info-nearbySpots__text {
  display: block;
  width: 100%;
  padding-bottom: 3.8461538462vw;
  border-bottom: 0.2564102564vw solid #bbbbbb;
  font-size: 5.1282051282vw;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .single-rental-info-nearbySpots__text {
    padding-bottom: 0.78125vw;
    border-bottom: 1px solid #bbbbbb;
    font-size: max(15px, 1.0416666667vw);
  }
}
a.single-rental-info-nearbySpots__text span {
  padding-right: 6.4102564103vw;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  a.single-rental-info-nearbySpots__text span {
    padding-right: max(15px, 1.3020833333vw);
  }
}
a.single-rental-info-nearbySpots__text span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 3.8461538462vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/icon--link--black.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media screen and (min-width: 768px) {
  a.single-rental-info-nearbySpots__text span::after {
    width: max(10px, 0.78125vw);
  }
}
.single-rental-info__cta {
  background-color: #ebebe7;
  padding: 15.3846153846vw 20px;
}

@media screen and (min-width: 768px) {
  .single-rental-info__cta {
    width: 43.8020833333vw;
    padding: 4.6875vw 4.1145833333vw;
  }
}
.single-rental-info-cta__title {
  font-size: 6.1538461538vw;
  font-weight: 500;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .single-rental-info-cta__title {
    font-size: 1.6666666667vw;
  }
}
.single-rental-info__form-container {
  margin-top: 12.8205128205vw;
}

@media screen and (min-width: 768px) {
  .single-rental-info__form-container {
    margin-top: 2.9166666667vw;
  }
}
.single-rental-articles {
  padding-top: 20.5128205128vw;
}

@media screen and (min-width: 768px) {
  .single-rental-articles {
    padding-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .single-rental-articles__container {
    display: flex;
  }
}
@media screen and (min-width: 768px) {
  .single-rental-filter {
    flex-shrink: 0;
    width: max(220px, 16.3541666667vw);
    padding-top: 1.25vw;
  }
}
.single-rental-articles__box {
  padding: 6.6666666667vw;
}
.single-rental-articles__box .archive-rental-contents__list {
  margin: 0;
}

@media screen and (min-width: 768px) {
  .single-rental-articles__box {
    padding: 0 1.4583333333vw;
    width: calc(100% - max(220px, 16.3541666667vw));
  }
}
.single-rental-contents__list {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .single-rental-contents__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1.0416666667vw;
         column-gap: 1.0416666667vw;
    row-gap: 2.2916666667vw;
    padding: 0 1.4583333333vw;
    margin-top: 0;
  }
}
@media screen and (min-width: 1240px) {
  .single-rental-contents__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.single-rental-info__main-slide-wrapper .single-rental-info__slides-text {
  margin-top: 2.0512820513vw;
  font-size: 3.5897435897vw;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 768px) {
  .single-rental-info__main-slide-wrapper .single-rental-info__slides-text {
    margin-top: 0.78125vw;
    font-size: max(10px, 0.7291666667vw);
  }
}
.single-rental-info__main-slide-wrapper .single-rental-info__slide--main {
  padding: 0 20px;
}
@media screen and (min-width: 768px) {
  .single-rental-info__main-slide-wrapper .single-rental-info__slide--main {
    padding: 0;
  }
}
.single-rental-info__main-slide-wrapper .single-rental-info__splide-track--thumbnail {
  position: relative;
}
.single-rental-info__main-slide-wrapper .thumbnail-go-first-btn {
  width: 10.2564102564vw;
  height: auto;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  left: 40vw;
  transform: translateY(-50%);
  opacity: 0;
  visibility: hidden;
  --time: .1s;
  transition-property: opacity visibility;
  transition-timing-function: ease;
  transition-duration: var(--time);
}
.single-rental-info__main-slide-wrapper .thumbnail-go-first-btn.is-show {
  opacity: 1;
  visibility: visible;
  --time: .2s;
  transition-delay: var(--time);
}
@media screen and (min-width: 768px) {
  .single-rental-info__main-slide-wrapper .thumbnail-go-first-btn {
    width: 2.6041666667vw;
    left: 11.71875vw;
  }
}
.single-rental-info__main-slide-wrapper .single-rental-info__slide--thumbnail {
  padding-left: 20px;
  margin-top: 7.6923076923vw;
}
@media screen and (min-width: 768px) {
  .single-rental-info__main-slide-wrapper .single-rental-info__slide--thumbnail {
    position: relative;
    padding-left: 0;
    margin-top: 2.8125vw;
  }
}
.single-rental-info__main-slide-wrapper .single-rental-info__slides-img {
  height: auto;
  aspect-ratio: 338/226;
}
@media screen and (min-width: 768px) {
  .single-rental-info__main-slide-wrapper .single-rental-info__slides-img {
    aspect-ratio: 841/561;
  }
}
.single-rental-info__main-slide-wrapper .single-rental-info__slides-img--thumbnail {
  aspect-ratio: 120/80;
}
@media screen and (min-width: 768px) {
  .single-rental-info__main-slide-wrapper .single-rental-info__slides-img--thumbnail {
    aspect-ratio: 185/124;
  }
}
.single-rental-info__main-slide-wrapper .splide__track--nav > .splide__list > .splide__slide,
.single-rental-info__main-slide-wrapper .splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 1.5384615385vw solid transparent;
  width: 30.7692307692vw !important;
}
@media screen and (min-width: 768px) {
  .single-rental-info__main-slide-wrapper .splide__track--nav > .splide__list > .splide__slide,
  .single-rental-info__main-slide-wrapper .splide__track--nav > .splide__list > .splide__slide.is-active {
    border: 0.3125vw solid transparent;
    width: 9.6354166667vw !important;
  }
}
.single-rental-info__main-slide-wrapper .single-rental-info__slide--thumbnail .splide__track::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: auto;
  height: 100%;
  aspect-ratio: 131/92;
  border: 0.2564102564vw solid #1b1b1c;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .single-rental-info__main-slide-wrapper .single-rental-info__slide--thumbnail .splide__track::after {
    aspect-ratio: 197/136;
    border: 1px solid #1b1b1c;
  }
}

/* ボタンを画像リンク風に */
.single-rental-info__room-slide-img-box {
  display: block;
  cursor: pointer;
}

/* モーダル全体 */
.rental-modal {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.rental-modal[aria-hidden=false] {
  display: block;
  opacity: 1;
}

/* 背景 */
.rental-modal__backdrop {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.6);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.rental-modal[aria-hidden=false] .rental-modal__backdrop {
  opacity: 1;
}

/* コンテンツ本体 */
.rental-modal__content {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(0.95);
  width: min(96vw, 1200px);
  max-height: 96vh;
  background-color: #fff;
  padding: 12px 48px 48px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.rental-modal[aria-hidden=false] .rental-modal__content {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}

/* スマホ用 */
@media (max-width: 767px) {
  .rental-modal__content {
    padding: 8px 40px 40px;
    border-radius: 10px;
  }
}
/* 中身 */
.rental-modal__figure {
  margin: 0;
  aspect-ratio: 1200/860;
  text-align: center;
}

.rental-modal__figure img {
  max-width: 100%;
  max-height: 85vh;
  height: auto;
  display: inline-block;
  -o-object-fit: contain;
     object-fit: contain;
}

.rental-modal__caption {
  margin-top: 8px;
  font-size: 4.1025641026vw;
  color: #444;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .rental-modal__caption {
    font-size: 1.25vw;
  }
}
/* 閉じるボタン */
.rental-modal__close {
  position: absolute;
  top: 8px;
  right: 12px;
  background: none;
  border: 0;
  font-size: 4.6153846154vw;
  line-height: 1;
  cursor: pointer;
  transition: transform 0.2s ease;
}

@media screen and (min-width: 768px) {
  .rental-modal__close {
    font-size: 1.6666666667vw;
  }
}
.rental-modal__close:hover {
  transform: scale(1.2);
}

/* ナビゲーションボタン */
.rental-modal__nav {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  right: 0;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}

.rental-modal__nav button {
  width: 10.2564102564vw;
  aspect-ratio: 1/1;
  height: auto;
  pointer-events: auto;
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 1.2820512821vw;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

@media screen and (min-width: 768px) {
  .rental-modal__nav button {
    width: 4.1666666667vw;
    padding: 10px 14px;
  }
}
.rental-modal__nav button img {
  -o-object-fit: contain;
     object-fit: contain;
}

.rental-modal__prev {
  transform: rotate(180deg);
}

@property --text-color {
  syntax: "<color>";
  inherits: true;
  initial-value: #1B1B1C;
}
@property --bg-color {
  syntax: "<color>";
  inherits: true;
  initial-value: #ffffff;
}
.bgTarget {
  --text-color: #1B1B1C;
  --bg-color: #fff;
  color: var(--text-color);
  --time: .6s;
  transition-property: --text-color, --bg-color;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  transition-duration: var(--time);
}

.bg-black {
  --bg-color: #1B1B1C;
  --text-color: #fff;
}

.bg-white {
  --bg-color: #fff;
  --text-color: #1B1B1C;
}

.bg-gray {
  --bg-color: #EBEBE7;
  --text-color: #1B1B1C;
}

*:has(> .bg) {
  position: relative;
  z-index: 1;
}

.bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: var(--bg-color);
}

.page-company__title {
  font-size: 10.2564102564vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.25;
}

@media screen and (min-width: 768px) {
  .page-company__title {
    font-size: 3.125vw;
    line-height: 1.5333333333;
  }
}
.fv--company {
  padding-top: calc(var(--header-height) + 5.8974358974vw);
  padding-bottom: 14.8717948718vw;
}

@media screen and (min-width: 768px) {
  .fv--company {
    padding-top: calc(var(--header-height) + 0.46875vw);
    padding-bottom: 3.125vw;
  }
}
.page-company__inner {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .page-company__inner {
    max-width: max(1286px, 66.9791666667vw);
    padding-right: 25px;
    padding-left: 25px;
  }
}

.fv--company__title {
  font-family: "Roboto", sans-serif;
  font-size: 14.8717948718vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .fv--company__title {
    font-size: 3.90625vw;
  }
}
.page-company__catch {
  padding-top: 0;
  padding-bottom: 25.641025641vw;
}

@media screen and (min-width: 768px) {
  .page-company__catch {
    padding-top: 5.625vw;
    padding-bottom: 10.4166666667vw;
  }
}
.page-company-catch__text {
  font-size: 10.2564102564vw;
  font-weight: 500;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .page-company-catch__text {
    font-size: 8.125vw;
  }
}
.page-company-catch__text01,
.page-company-catch__text02 {
  display: inline;
  white-space: nowrap;
}

html:not([lang=ja]) .page-company-catch__text02 {
  white-space: normal;
}

.page-company-catch__text--en {
  font-family: "Roboto", sans-serif;
  font-size: 4.358974359vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-left: 1.2820512821vw;
}

@media screen and (min-width: 768px) {
  .page-company-catch__text--en {
    font-size: max(17px, 1.25vw);
    padding-left: 0.2083333333vw;
  }
}
.page-company-catch__message {
  margin-top: 15.3846153846vw;
  font-size: 4.1025641026vw;
  letter-spacing: 0.01em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .page-company-catch__message {
    font-size: max(14px, 0.9375vw);
    margin-top: 7.2916666667vw;
    letter-spacing: 0.005em;
    line-height: 2.3888888889;
  }
}
@media screen and (min-width: 768px) {
  .page-company-catch__message-box {
    display: contents;
  }
}
.page-company-catch__message-box + .page-company-catch__message-box {
  margin-top: 10.2564102564vw;
}

@media screen and (min-width: 768px) {
  .page-company-catch__message-box + .page-company-catch__message-box {
    margin-top: 0;
  }
}
.page-company-catch__message-text {
  display: contents;
}

@media screen and (min-width: 768px) {
  .page-company-catch__message-text {
    display: block;
    margin-top: 1.4583333333vw;
  }
}
.page-company-catch__contents01 {
  margin-top: 25.641025641vw;
}

@media screen and (min-width: 768px) {
  .page-company-catch__contents01 {
    margin-top: 11.875vw;
  }
}
.page-company-catch__contents02 {
  margin-top: 20.5128205128vw;
}

@media screen and (min-width: 768px) {
  .page-company-catch__contents02 {
    margin-top: 7.8125vw;
  }
}
.page-company-catch__title--en {
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Roboto", sans-serif;
  font-size: 5.1282051282vw;
  letter-spacing: 0.01em;
  padding-right: 26.6666666667vw;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .page-company-catch__title--en {
    font-size: clamp(16px, 1.6181229773vw, 20px);
    padding-right: clamp(78px, 7.928802589vw, 98px);
  }
}
@media screen and (min-width: 1920px) {
  .page-company-catch__title--en {
    font-size: 1.0416666667vw;
    padding-right: 5.1041666667vw;
  }
}
.page-company-catch__title--en::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 23.5897435897vw;
  height: 0.2564102564vw;
  background-color: #1B1B1C;
}

@media screen and (min-width: 768px) {
  .page-company-catch__title--en::after {
    width: clamp(74px, 7.4433656958vw, 92px);
    height: 1px;
  }
}
@media screen and (min-width: 1920px) {
  .p-business-section__title--en::after {
    width: 4.7916666667vw;
    height: 0.0520833333vw;
  }
}
.page-company-catch__title--jp {
  margin-top: 0.7692307692vw;
  font-size: 10.2564102564vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.25;
}

@media screen and (min-width: 768px) {
  .page-company-catch__title--jp {
    margin-top: 0.2427184466vw;
    font-size: clamp(48px, 4.854368932vw, 60px);
  }
}
@media screen and (min-width: 1920px) {
  .page-company-catch__title--jp {
    font-size: 3.125vw;
  }
}
.page-company-catch-contents__text {
  margin-top: 7.6923076923vw;
  font-size: 5.1282051282vw;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .page-company-catch-contents__text {
    margin-top: 2.6041666667vw;
    font-size: max(12px, 1.0416666667vw);
  }
}
.page-company-catch-contents__text01 {
  line-height: 1.7;
}

.page-company-catch-contents__text02 {
  line-height: 2.1111111111;
}

@media screen and (min-width: 768px) {
  .page-company-catch-contents__text02 {
    line-height: 3;
  }
}
.page-company__overview {
  padding-top: 25.641025641vw;
  padding-bottom: 25.641025641vw;
}

@media screen and (min-width: 768px) {
  .page-company__overview {
    padding-top: 8.3333333333vw;
    padding-bottom: 8.3333333333vw;
  }
}
.page-company-overview__table-container {
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .page-company-overview__table-container {
    margin-top: 2.6041666667vw;
  }
}
.page-company-overview__table {
  width: 100%;
  font-size: 3.8461538462vw;
  font-weight: normal;
  letter-spacing: 0.01em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .page-company-overview__table {
    font-size: max(12px, 0.8333333333vw);
  }
}
.page-company-overview__row {
  display: block;
  padding: 7.6923076923vw 0;
  border-bottom: 0.2564102564vw solid var(--text-color);
}

@media screen and (min-width: 768px) {
  .page-company-overview__row {
    padding: 1.5625vw 0;
    border-bottom: 1px solid var(--text-color);
  }
}
.page-company-overview__cell {
  display: block;
}
.page-company-overview__cell .span-data {
  display: block;
}

@media screen and (min-width: 768px) {
  .page-company-overview__cell {
    display: table-cell;
  }
}
.page-company-overview__cell--title {
  vertical-align: baseline;
}

@media screen and (min-width: 768px) {
  .page-company-overview__cell--title {
    width: max(160px, 12.34375vw);
  }
}
.page-company-overview__cell--value {
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .page-company-overview__cell--value {
    width: calc(100% - max(160px, 12.34375vw));
  }
}
.page-company__shop {
  padding-top: 25.641025641vw;
  padding-bottom: 25.641025641vw;
}

@media screen and (min-width: 768px) {
  .page-company__shop {
    padding-top: 8.3333333333vw;
    padding-bottom: 4.1666666667vw;
  }
}
.page-company-shop__list {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .page-company-shop__list {
    margin-top: 4.1666666667vw;
  }
}
.page-company-shop__item + .page-company-shop__item {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .page-company-shop__item + .page-company-shop__item {
    margin-top: 3.125vw;
  }
}
.page-company__sub-title {
  font-size: 6.1538461538vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4166666667;
}

@media screen and (min-width: 768px) {
  .page-company__sub-title {
    font-size: max(20px, 1.6666666667vw);
    line-height: 1.40625;
  }
}
.page-company-shop__list--level02 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 3.0769230769vw;
       column-gap: 3.0769230769vw;
  row-gap: 3.8461538462vw;
  margin-top: 4.358974359vw;
  overflow-y: hidden;
}

@media screen and (min-width: 768px) {
  .page-company-shop__list--level02 {
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 1.5625vw;
         column-gap: 1.5625vw;
    row-gap: 1.4583333333vw;
    margin-top: 0.8854166667vw;
  }
}
.page-company-shop__item--level02 {
  background-color: #fff;
  padding: 2.3076923077vw;
  padding-top: 1.2820512821vw;
}
.page-company-shop__item--level02.--style01 {
  grid-column: 1/-1;
  display: grid;
  padding-top: 6.1538461538vw;
}
.page-company-shop__item--level02.--style01 .page-company-shop__list--level03 {
  display: grid;
  -moz-column-gap: 7.6923076923vw;
       column-gap: 7.6923076923vw;
  row-gap: 4.6153846154vw;
  grid-template-columns: repeat(2, 1fr);
}
.page-company-shop__item--level02.--style01 .page-company-shop__item-img-box {
  aspect-ratio: 88/45;
}
.page-company-shop__item--level02.--style01 .page-company-shop__item-img {
  width: 150%;
}
.page-company-shop__item--level02.--style02 {
  grid-column: 1/-1;
  display: flex;
  gap: 12.0512820513vw;
}
.page-company-shop__item--level02.--style02 .page-company-shop__list--level03 {
  width: 38.4615384615vw;
}
.page-company-shop__item--level02.--style02 .page-company-shop__item-images {
  align-self: center;
  transform: translateX(2.5641025641vw);
}
.page-company-shop__item--level02.--style02 .page-company-shop__item-img-box {
  aspect-ratio: 245/108;
}

@media screen and (min-width: 768px) {
  .page-company-shop__item--level02 {
    padding: 1.0416666667vw;
    padding-top: 0.8854166667vw;
  }
  .page-company-shop__item--level02.--style01 {
    gap: 1.5625vw;
    grid-template-columns: 1fr 2fr;
    grid-template-areas: "a b";
    padding-left: 0;
    padding-top: 0;
  }
  .page-company-shop__item--level02.--style01 .page-company-shop__item-images {
    grid-area: a;
    padding: 0 1.0416666667vw;
  }
  .page-company-shop__item--level02.--style01 .page-company-shop__list--level03 {
    gap: 1.5625vw;
    grid-area: b;
    grid-template-columns: repeat(5, 1fr);
  }
  .page-company-shop__item--level02.--style01 .page-company-shop__item-img {
    width: 100%;
  }
  .page-company-shop__item--level02.--style02 {
    grid-column: initial;
    gap: 1.6666666667vw;
    padding-top: 2.1875vw;
    padding-left: 1.4583333333vw;
    padding-right: 1.4583333333vw;
  }
  .page-company-shop__item--level02.--style02 .page-company-shop__item-images {
    flex-grow: 1;
    align-self: initial;
    transform: initial;
  }
  .page-company-shop__item--level02.--style02 .page-company-shop__list--level03 {
    width: 6.7708333333vw;
    width: min(130px, 10.5177993528vw);
    flex-shrink: 0;
  }
  .page-company-shop__item--level02.--style02 .page-company-shop__item--level03 {
    padding-top: 0;
  }
  .page-company-shop__item--level02.--style02 .page-company-shop__item-img-box {
    aspect-ratio: initial;
    width: 100%;
    width: min(14.0776699029vw, 100%);
    aspect-ratio: 174/130;
  }
  .page-company-shop__item--level02.--style02 .page-company-shop__item-img {
    position: static;
    transform: translate(0);
    aspect-ratio: initial;
    width: 100%;
    height: 100%;
  }
  .page-company-shop__item--level02.--style02 .page-company-shop__item-text {
    margin-top: 1.5625vw;
  }
}
@media screen and (min-width: 1920px) {
  .page-company-shop__item--level02.--style02 .page-company-shop__list--level03 {
    width: 6.7708333333vw;
  }
}
.jsCard01, .jsCard02 {
  transform: translateY(300px);
}

.page-company-shop__item-img-box {
  width: 37.1794871795vw;
  height: auto;
  aspect-ratio: 145/133;
  margin-inline: auto;
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .page-company-shop__item-img-box {
    width: 100%;
    aspect-ratio: 352/185;
  }
}
.page-company-shop__item-img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.page-company-shop__item-img img {
  -o-object-fit: contain;
     object-fit: contain;
}

.page-company-shop__item-text {
  font-size: 2.5641025641vw;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .page-company-shop__item-text {
    font-size: 12px;
    letter-spacing: 0.01em;
  }
}
.page-company-shop__list--level03 {
  margin-top: 5.1282051282vw;
}

.page-company-shop__item-img-box--level03 {
  width: 100%;
  height: auto;
  aspect-ratio: 130/100;
  position: relative;
  overflow: hidden;
  border: 0.2564102564vw solid #707070;
}

.page-company-shop__item-img--level03 {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.page-company-shop__item-text--level03 {
  margin-top: 1.2820512821vw;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .page-company-shop__list--level03 {
    margin-top: 0;
  }
  .page-company-shop__item--level03 {
    padding-top: 1.1458333333vw;
  }
  .page-company-shop__item-img-box--level03 {
    border: 1px solid #707070;
    width: 100%;
    aspect-ratio: 1/1;
  }
  .page-company-shop__item-img-box--level03 img {
    width: 125%;
    height: 125%;
  }
  .page-company-shop__item-text--level03 {
    margin-top: 0.4166666667vw;
  }
}
.page-company-shop__item-text--level03 {
  font-size: 2.5641025641vw;
}

@media screen and (min-width: 768px) {
  .page-company-shop__item-text--level03 {
    font-size: max(12px, 0.625vw);
  }
}
.page-company__maps {
  padding-bottom: 25.641025641vw;
  overflow-x: hidden;
}

@media screen and (min-width: 768px) {
  .page-company__maps {
    padding-top: 4.1666666667vw;
    padding-bottom: 8.3333333333vw;
  }
}
.page-company-map__text {
  margin-top: 15.3846153846vw;
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .page-company-map__text {
    margin-top: 4.1666666667vw;
    font-size: max(12px, 0.8333333333vw);
  }
}
.page-company-map__image {
  width: 100vw;
  aspect-ratio: 1920/1080;
  margin: 0 calc(50% - 50vw);
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .page-company-map__image {
    margin-top: 2.6041666667vw;
  }
}
.page-company__access {
  padding-top: 25.641025641vw;
  padding-bottom: 25.641025641vw;
  overflow-x: hidden;
}

@media screen and (min-width: 768px) {
  .page-company__access {
    padding-top: 8.3333333333vw;
    padding-bottom: 8.3333333333vw;
  }
}
.page-company-access__list {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .page-company-access__list {
    margin-top: 4.1666666667vw;
    display: flex;
    gap: 8.6569579288%;
  }
}
@media screen and (min-width: 768px) {
  .page-company-access-item__wrap01 {
    width: 48.8673139159%;
  }
}
.page-company-access-item__wrap02 {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .page-company-access-item__wrap02 {
    width: 42.4757281553%;
    margin-top: 0;
  }
}
.page-company-access__item + .page-company-access__item {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .page-company-access__item + .page-company-access__item {
    margin-top: 3.125vw;
  }
}
.page-company-access-item__img01 {
  width: 100%;
  height: auto;
  aspect-ratio: 604/805;
}

.page-company-access-item__img02 {
  width: 100%;
  height: auto;
  aspect-ratio: 525/394;
}

.page-company-access-item__img03 {
  width: 100%;
  height: auto;
  aspect-ratio: 525/394;
}

.page-company-access-item__title {
  margin-top: 6.4102564103vw;
  font-size: 6.1538461538vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4166666667;
}

@media screen and (min-width: 768px) {
  .page-company-access-item__title {
    margin-top: 1.3020833333vw;
    font-size: max(24px, 1.6666666667vw);
    line-height: 1.40625;
  }
}
.page-company-access-item__text {
  margin-top: 2.5641025641vw;
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .page-company-access-item__text {
    margin-top: 0.5208333333vw;
    font-size: max(12px, 0.8333333333vw);
  }
}
.page-company-access-item__link {
  display: inline-block;
  margin-top: 3.8461538462vw;
  font-size: 3.8461538462vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  padding-right: 6.4102564103vw;
  position: relative;
}

@media screen and (min-width: 768px) {
  .page-company-access-item__link {
    margin-top: 0.78125vw;
    font-size: max(12px, 0.8333333333vw);
    padding-right: max(18px, 1.3020833333vw);
  }
}
.page-company-access-item__link::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 3.8461538462vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/icon--link--white.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (min-width: 768px) {
  .page-company-access-item__link::after {
    width: max(12px, 0.78125vw);
  }
}
.page-company-access-item__link span {
  border-bottom: 0.2564102564vw solid #1B1B1C;
}

@media screen and (min-width: 768px) {
  .page-company-access-item__link span {
    border-bottom: 1px solid #1B1B1C;
  }
}
.page-company__history {
  padding-top: 25.641025641vw;
  padding-bottom: 25.641025641vw;
}

@media screen and (min-width: 768px) {
  .page-company__history {
    padding-top: 8.3333333333vw;
    padding-bottom: 8.3333333333vw;
  }
}
.page-company-history__inner {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .page-company-history__inner {
    max-width: max(836px, 43.5416666667vw);
    padding-right: calc(25px + max(40px, 2.0833333333vw));
    padding-left: 25px;
  }
}

.page-company-history__list {
  margin-top: 15.3846153846vw;
  position: relative;
  --scaleBar: 0;
}

@media screen and (min-width: 768px) {
  .page-company-history__list {
    margin-top: 4.1666666667vw;
  }
}
.page-company-history__list::before {
  content: "";
  position: absolute;
  top: 12.8205128205vw;
  left: 2.5641025641vw;
  width: 0.1282051282vw;
  height: calc(100% - 23.0769230769vw - 15.3846153846vw);
  background-color: #DD0012;
  transform-origin: top center;
  transform: scaleY(var(--scaleBar));
}

@media screen and (min-width: 768px) {
  .page-company-history__list::before {
    width: 0.5px;
    top: max(14px, 0.7291666667vw);
    height: calc(100% - max(22px, 1.1458333333vw) - max(80px, 4.1666666667vw));
    left: max(81px, 4.21875vw);
  }
}
@media screen and (min-width: 768px) {
  .page-company-history__item {
    display: flex;
  }
}
.page-company-history-item__year {
  font-family: "Roboto", sans-serif;
  font-size: 5.641025641vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #BBBBBB;
  padding-left: 10.7692307692vw;
}

@media screen and (min-width: 768px) {
  .page-company-history-item__year {
    font-size: max(22px, 1.1458333333vw);
    width: max(70px, 3.6458333333vw);
    flex-shrink: 0;
    padding-left: 0;
  }
}
.page-company-history__list--level02 {
  padding-bottom: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .page-company-history__list--level02 {
    width: calc(100% - max(70px, 3.6458333333vw));
    flex-grow: 1;
    padding-bottom: max(80px, 4.1666666667vw);
  }
}
.page-company-history__item--level02 {
  font-size: 5.1282051282vw;
  font-weight: 500;
  position: relative;
  padding-left: 10.7692307692vw;
  --scale: 2.2;
}

@media screen and (min-width: 768px) {
  .page-company-history__item--level02 {
    font-size: max(20px, 1.0416666667vw);
    padding-left: max(2.1875vw, 42px);
  }
}
.page-company-history__item--level02::before {
  content: "";
  position: absolute;
  top: 1.0256410256vw;
  left: 0;
  width: 5.641025641vw;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: rgba(221, 0, 18, 0.3);
  transform: scale(var(--scale));
}

@media screen and (min-width: 768px) {
  .page-company-history__item--level02::before {
    top: max(4px, 0.2083333333vw);
    width: max(22px, 1.1458333333vw);
  }
}
.page-company-history__item--level02::after {
  content: "";
  position: absolute;
  top: 2.5641025641vw;
  left: 1.5384615385vw;
  width: 2.5641025641vw;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #dd0012;
  transform: scale(var(--scale));
}

@media screen and (min-width: 768px) {
  .page-company-history__item--level02::after {
    width: max(10px, 0.5208333333vw);
    top: max(10px, 0.5208333333vw);
    left: max(6px, 0.3125vw);
  }
}
.page-company-history__item--level02 + .page-company-history__item--level02 {
  margin-top: 6.4102564103vw;
}

@media screen and (min-width: 768px) {
  .page-company-history__item--level02 + .page-company-history__item--level02 {
    margin-top: max(30px, 1.5625vw);
  }
}
.page-company-history__btns {
  margin-top: 15.3846153846vw;
  display: flex;
  flex-direction: column;
  gap: 7.6923076923vw;
  font-size: 4.1025641026vw;
  font-weight: 500;
  letter-spacing: 0.01em;
}
.page-company-history__btns .p-btn02__link {
  padding-top: 4.6153846154vw;
  padding-bottom: 4.6153846154vw;
}

@media screen and (min-width: 768px) {
  .page-company-history__btns {
    margin-top: 4.1666666667vw;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.0416666667vw;
    font-size: max(12px, 0.8333333333vw);
  }
  .page-company-history__btns .p-btn02__link {
    padding-top: clamp(4px, 0.5663430421vw, 7px);
    padding-bottom: clamp(5px, 0.6472491909vw, 8px);
  }
}
.fv--contact {
  padding-top: calc(var(--header-height) + 5.8974358974vw);
  padding-bottom: 14.8717948718vw;
}

@media screen and (min-width: 768px) {
  .fv--contact {
    padding-top: calc(var(--header-height) + 0.46875vw);
    padding-bottom: 3.125vw;
  }
}
.page-contact__inner {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .page-contact__inner {
    max-width: max(1128px, 58.75vw);
    padding-right: 25px;
    padding-left: 25px;
  }
}

.fv--contact__title {
  font-family: "Roboto", sans-serif;
  font-size: 14.8717948718vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .fv--contact__title {
    font-size: 3.90625vw;
  }
}
.page-contact-content {
  padding-bottom: 38.4615384615vw;
}

@media screen and (min-width: 768px) {
  .page-contact-content {
    padding-bottom: 13.0208333333vw;
  }
}
.page-contact-content__wrap {
  display: flex;
  flex-direction: column;
  gap: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .page-contact-content__wrap {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.4583333333vw;
  }
}
.page-contact-content__btn {
  background-color: #EBEBE7;
  display: block;
  padding: 6.1538461538vw 6.4102564103vw;
}

@media screen and (min-width: 768px) {
  .page-contact-content__btn {
    flex: 1;
    padding: 1.4583333333vw;
  }
}
.page-contact-content__btn-text {
  white-space: nowrap;
  font-size: 6.1538461538vw;
  font-weight: 500;
  line-height: 1.4166666667;
  min-height: 10.2564102564vw;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  padding-right: 12.8205128205vw;
  position: relative;
  text-wrap: auto;
}

@media screen and (min-width: 768px) {
  .page-contact-content__btn-text {
    min-height: 8.88671875vw;
    font-size: 3.125vw;
    letter-spacing: 0.01em;
    line-height: 1.40625;
    padding-right: 6.8359375vw;
  }
}
@media screen and (min-width: 1024px) {
  .page-contact-content__btn-text {
    min-height: max(91px, 4.7395833333vw);
    font-size: max(32px, 1.6666666667vw);
    padding-right: max(70px, 3.6458333333vw);
  }
}
.page-contact-content__btn-text::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 10.2564102564vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/btn-arrow--black.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (min-width: 768px) {
  .page-contact-content__btn-text::after {
    width: 4.8828125vw;
  }
}
@media screen and (min-width: 1024px) {
  .page-contact-content__btn-text::after {
    width: max(50px, 2.6041666667vw);
  }
}
.page-contact-content__btn-description {
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
  line-height: 2;
  margin-top: 6.4102564103vw;
}

@media screen and (min-width: 768px) {
  .page-contact-content__btn-description {
    font-size: max(10px, 0.8333333333vw);
    margin-top: 1.3020833333vw;
  }
}
.page-contact-content__list {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .page-contact-content__list {
    margin-top: 3.6458333333vw;
  }
}
.page-contact-content__item {
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
  line-height: 2;
  padding-left: 3.8461538462vw;
  position: relative;
}

@media screen and (min-width: 768px) {
  .page-contact-content__item {
    font-size: max(12px, 0.8333333333vw);
    padding-left: max(12px, 0.8333333333vw);
  }
}
.page-contact-content__item a {
  font-weight: 500;
  text-decoration: underline;
}

.page-contact-content__item::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

.page-contact-content__text {
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
  line-height: 2;
  margin-top: 8.2051282051vw;
}

@media screen and (min-width: 768px) {
  .page-contact-content__text {
    font-size: max(12px, 0.8333333333vw);
    margin-top: 1.6666666667vw;
  }
}
.page-contact-content__text span {
  display: block;
}

.page-contact-content__text span.text-bold {
  font-weight: 700;
}

.page-contact-content__title {
  font-size: 6.1538461538vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4166666667;
}

@media screen and (min-width: 768px) {
  .page-contact-content__title {
    font-size: 1.6666666667vw;
    line-height: 1.40625;
  }
}
.page-contact-content__text {
  margin-top: 7.6923076923vw;
  font-size: 3.8461538462vw;
  line-height: 2;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .page-contact-content__text {
    margin-top: 1.5625vw;
    font-size: max(12px, 0.8333333333vw);
  }
}
.page-contact-content__form-container {
  margin: 0 calc(50% - 50vw);
  margin-top: 15.3846153846vw;
  background-color: #EBEBE7;
  width: 100vw;
  padding: 15.3846153846vw 5.1282051282vw;
}

@media screen and (min-width: 768px) {
  .page-contact-content__form-container {
    margin: 0;
    margin-top: 3.6458333333vw;
    padding: 4.6875vw 4.1145833333vw;
    width: initial;
  }
}
@media screen and (min-width: 768px) {
  .c-form__row {
    display: grid;
    grid-template-areas: "a b" "c d";
    grid-template-columns: max(240px, 15vw) 1fr;
  }
}
.c-form__row > *:nth-child(1) {
  grid-area: a;
}

@media screen and (min-width: 768px) {
  .c-form__row > *:nth-child(1) {
    place-items: baseline;
  }
}
.c-form__row > *:nth-child(2) {
  grid-area: b;
}

.c-form__row > *:nth-child(3) {
  grid-area: d;
}

.c-form__row--policy > *:nth-child(1),
.c-form__row--bottom > *:nth-child(1) {
  grid-area: b;
}

.c-form__row--policy > *:nth-child(2) {
  grid-area: c;
}

.c-form__row--bottom > *:nth-child(2) {
  grid-area: d;
}

.c-form__row + .c-form__row {
  margin-top: 8.9743589744vw;
}

@media screen and (min-width: 768px) {
  .c-form__row + .c-form__row {
    margin-top: 2.0833333333vw;
  }
}
.c-form__label {
  font-size: 5.1282051282vw;
  font-weight: 700;
  display: flex;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .c-form__label {
    font-size: max(14px, 1.0416666667vw);
  }
}
.c-form__req {
  font-size: 3.3333333333vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #fff;
  background-color: #1B1B1C;
  margin-left: 2.5641025641vw;
  padding-left: 1.7948717949vw;
  padding-right: 1.7948717949vw;
  padding-bottom: 0.5128205128vw;
}

@media screen and (min-width: 768px) {
  .c-form__req {
    font-size: max(10px, 0.6770833333vw);
    margin-left: 0.625vw;
    padding-left: 0.3645833333vw;
    padding-right: 0.3645833333vw;
    padding-bottom: 0.1041666667vw;
  }
}
.page-contact-content__form-container {
  /* デフォルトのボタン */
  /* チェック前のボタン */
  /* チェック後のボタン */
}
.page-contact-content__form-container .wpcf7-radio .wpcf7-list-item {
  margin-left: 0;
}
.page-contact-content__form-container .wpcf7-list-item.first {
  margin: 0;
}
.page-contact-content__form-container .wpcf7-list-item-label {
  cursor: pointer;
  display: flex;
  font-size: 3.8461538462vw;
  font-weight: 500;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 768px) {
  .page-contact-content__form-container .wpcf7-list-item-label {
    font-size: max(16px, 0.8333333333vw);
  }
}
.page-contact-content__form-container input[type=radio] {
  opacity: 0; /* デフォルトのボタンを非表示 */
  position: absolute;
}
.page-contact-content__form-container .wpcf7-list-item-label::before {
  background: #fff;
  border-radius: 100%; /* ラジオボタンっぽく丸くする */
  content: "";
  height: 1em;
  margin-bottom: auto;
  margin-right: 0.5em;
  margin-top: auto;
  transition: background-color 0.5s; /* 色をじんわり変化させる */
  width: 1em;
}
.page-contact-content__form-container input[type=radio]:checked + .wpcf7-list-item-label::before {
  background-color: #DD0012; /* チェック後の中心の色 */
  box-shadow: inset 0 0 0 1.0256410256vw #fff; /* 中心の色のスタイル */
}
@media screen and (min-width: 768px) {
  .page-contact-content__form-container input[type=radio]:checked + .wpcf7-list-item-label::before {
    box-shadow: inset 0 0 0 4px #fff; /* 中心の色のスタイル */
  }
}
.page-contact-content__form-container .c-form__row--policy .wpcf7-list-item {
  margin-left: 0;
}
.page-contact-content__form-container .c-form__row--policy .wpcf7-list-item-label::before {
  display: none;
}
.page-contact-content__form-container .c-form__row--policy .wpcf7-list-item > label {
  display: flex;
  align-items: center;
  gap: 8px;
}
.page-contact-content__form-container .c-form__row--policy .wpcf7-list-item-label {
  display: block !important;
  flex-grow: 1;
  font-weight: 400;
}
.page-contact-content__form-container .c-form__row--policy input {
  width: 5.1282051282vw;
  height: 5.1282051282vw;
}
@media screen and (min-width: 768px) {
  .page-contact-content__form-container .c-form__row--policy input {
    width: 20px;
    height: 20px;
  }
  .page-contact-content__form-container .c-form__row--policy input:hover {
    cursor: pointer;
  }
}
.page-contact-content__form-container .c-form__row--policy .wpcf7-list-item-label a {
  font-weight: 500;
  text-decoration: underline;
}
.page-contact-content__form-container input[type=radio] {
  width: -moz-fit-content;
  width: fit-content;
}

.c-form__control {
  margin-top: 0.7692307692vw;
  /* ========== Reset ========== */
  /* ========== Base Style ========== */
  /* input[type="text"], input[type="email"], input[type="tel"] など */
  /* textarea は高さを自由に伸ばせるように */
}
@media screen and (min-width: 768px) {
  .c-form__control {
    margin-top: 0;
  }
}
.c-form__control .wpcf7-form-control-wrap {
  width: 100%;
}
.c-form__control input,
.c-form__control textarea {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  color: inherit;
  outline: none; /* フォーカス時の青枠を消す */
  resize: none; /* textarea のリサイズを無効化（必要なら外す） */
  box-sizing: border-box;
}
.c-form__control input,
.c-form__control textarea,
.c-form__control select {
  width: 100%;
  padding: 0.6em 0.8em;
  background-color: #fff;
  color: inherit;
  font-weight: 500;
  font-size: 3.8461538462vw;
  line-height: 1.4;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.c-form__control input:focus,
.c-form__control textarea:focus,
.c-form__control select:focus {
  border-color: #DD0012;
  box-shadow: 0 0 0 2px rgba(221, 0, 18, 0.2);
}
@media screen and (min-width: 768px) {
  .c-form__control input,
  .c-form__control textarea,
  .c-form__control select {
    font-size: max(12px, 0.8333333333vw);
  }
}
.c-form__control select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
}
.c-form__control input {
  height: 10.2564102564vw;
}
@media screen and (min-width: 768px) {
  .c-form__control input {
    height: 42px;
  }
}
.c-form__control textarea#address {
  min-height: 19.2307692308vw;
}
.c-form__control textarea#message {
  min-height: 30.5128205128vw;
}
@media screen and (min-width: 768px) {
  .c-form__control textarea#address,
  .c-form__control textarea#message {
    min-height: 98px;
  }
}

.c-form__row--radios .wpcf7-radio {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 10.2564102564vw;
       column-gap: 10.2564102564vw;
  row-gap: 2.5641025641vw;
}
@media screen and (min-width: 768px) {
  .c-form__row--radios .wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
@media screen and (min-width: 768px) {
  .c-form__row--radios .wpcf7-radio {
    -moz-column-gap: 2.0833333333vw;
         column-gap: 2.0833333333vw;
    row-gap: 0.5208333333vw;
  }
}

html:not([lang=ja]) .c-form__row--radios .wpcf7-radio {
  grid-template-columns: repeat(2, 1fr);
}

.c-form__row--radios02 .wpcf7-radio {
  -moz-column-gap: 11.7948717949vw;
       column-gap: 11.7948717949vw;
}
@media screen and (min-width: 768px) {
  .c-form__row--radios02 .wpcf7-radio {
    -moz-column-gap: 2.0833333333vw;
         column-gap: 2.0833333333vw;
  }
}

.wpcf7-not-valid-tip {
  font-size: 3.8461538462vw;
  font-weight: 500;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .wpcf7-not-valid-tip {
    font-size: max(12px, 0.8333333333vw);
  }
}
.c-form__attention {
  font-size: 3.5897435897vw;
  letter-spacing: 0.01em;
  padding-left: 3.5897435897vw;
  position: relative;
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .c-form__attention {
    font-size: max(10px, 0.7291666667vw);
    padding-left: max(10px, 0.7291666667vw);
    margin-top: 1.5625vw;
  }
}
.c-form__attention::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

.c-button {
  font-size: 4.1025641026vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #fff;
  background-color: #1B1B1C;
  border-radius: 0;
  padding-top: 1.7948717949vw;
  padding-bottom: 2.0512820513vw;
  padding-left: 5.641025641vw;
  padding-right: 11.5384615385vw;
}

@media screen and (min-width: 768px) {
  .c-button {
    font-size: max(12px, 0.8333333333vw);
    padding-top: 0.3645833333vw;
    padding-bottom: 0.4166666667vw;
    padding-left: 1.1458333333vw;
    padding-right: 2.34375vw;
  }
}
.c-button {
  --time: .3s;
  --timeRate: 1;
  transition-property: opacity;
  transition-timing-function: ease;
  transition-duration: calc(var(--time) * var(--timeRate));
}

.c-button:disabled {
  opacity: 0.5;
  transition-duration: var(--time);
}

.c-button:hover {
  cursor: pointer;
}

.c-form__actions {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 1;
  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .c-form__actions {
    margin-inline: initial;
  }
}
.c-form__actions::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 5.641025641vw;
  transform: translateY(-50%);
  width: 4.6153846154vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/btn-arrow.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .c-form__actions::after {
    width: 0.9375vw;
    right: 1.1458333333vw;
  }
}
.c-form__actions:hover::after {
  cursor: pointer;
}

.wpcf7-spinner {
  position: absolute;
  top: -100%;
  left: -100%;
}

.fv--privacy {
  padding-top: calc(var(--header-height) + 5.8974358974vw);
  padding-bottom: 14.8717948718vw;
}

@media screen and (min-width: 768px) {
  .fv--privacy {
    padding-top: calc(var(--header-height) + 0.46875vw);
    padding-bottom: 3.125vw;
  }
}
.page-privacy__inner {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .page-privacy__inner {
    max-width: max(1128px, 58.75vw);
    padding-right: 25px;
    padding-left: 25px;
  }
}

.fv--privacy__title {
  font-family: "Roboto", sans-serif;
  font-size: 14.8717948718vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .fv--privacy__title {
    font-size: 3.90625vw;
  }
}
.page-privacy-container {
  padding-bottom: 38.4615384615vw;
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .page-privacy-container {
    padding-bottom: 13.0208333333vw;
    font-size: max(12px, 0.8333333333vw);
  }
}
.page-privacy-container__title {
  font-size: 6.1538461538vw;
  font-weight: 500;
  line-height: 1.4166666667;
  letter-spacing: 0.01em;
  padding-bottom: 3.0769230769vw;
  border-bottom: 0.2564102564vw solid #BBBBBB;
}

@media screen and (min-width: 768px) {
  .page-privacy-container__title {
    font-size: max(24px, 1.6666666667vw);
    line-height: 1.40625;
    padding-bottom: 0.625vw;
    border-bottom: 1px solid #BBBBBB;
  }
}
.page-privacy-container__title:not(:first-child) {
  margin-top: 15.3846153846vw;
}

@media screen and (min-width: 768px) {
  .page-privacy-container__title:not(:first-child) {
    margin-top: 5.2083333333vw;
  }
}
.page-privacy-container__text {
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .page-privacy-container__text {
    margin-top: 1.5625vw;
  }
}
.page-privacy-container__text a {
  display: inline-block;
  padding-right: 4.6153846154vw;
  position: relative;
}

@media screen and (min-width: 768px) {
  .page-privacy-container__text a {
    padding-right: max(14px, 0.9375vw);
  }
}
.page-privacy-container__text a span {
  text-decoration: underline;
  font-weight: 500;
}

.page-privacy-container__text a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 3.8461538462vw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../images/icon--link--black.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-top: 0.2564102564vw;
}

@media screen and (min-width: 768px) {
  .page-privacy-container__text a::before {
    width: max(10px, 0.7291666667vw);
    margin-top: 1px;
  }
}
h3 + .page-privacy-container__text {
  margin-top: 0;
}

.page-privacy-container h3 + ul, .page-privacy-container h3 + ol {
  margin-top: 0 !important;
}

.page-privacy-container__list {
  margin-top: 7.6923076923vw;
}

@media screen and (min-width: 768px) {
  .page-privacy-container__list {
    margin-top: 1.5625vw;
  }
}
.page-privacy-container__item {
  position: relative;
  padding-left: 3.8461538462vw;
}

@media screen and (min-width: 768px) {
  .page-privacy-container__item {
    padding-left: max(12px, 0.8333333333vw);
  }
}
ul .page-privacy-container__item::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

ol {
  counter-reset: olNum;
}

ol .page-privacy-container__item::before {
  counter-increment: olNum 1;
  content: counter(olNum) ".";
  position: absolute;
  top: 0;
  left: 0;
}

.page-privacy-container__sub-title {
  margin-top: 10.2564102564vw;
}

@media screen and (min-width: 768px) {
  .page-privacy-container__sub-title {
    margin-top: 2.0833333333vw;
  }
}
.fv--notFound {
  padding-top: calc(var(--header-height) + 5.8974358974vw);
  padding-bottom: 14.8717948718vw;
}

@media screen and (min-width: 768px) {
  .fv--notFound {
    padding-top: calc(var(--header-height) + 0.46875vw);
    padding-bottom: 3.125vw;
  }
}
.page-notFound-content {
  padding-bottom: 38.4615384615vw;
}

@media screen and (min-width: 768px) {
  .page-notFound-content {
    padding-bottom: 15.625vw;
  }
}
.page-notFound__inner {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .page-notFound__inner {
    max-width: max(1128px, 58.75vw);
    padding-right: 25px;
    padding-left: 25px;
  }
}

.fv--notFound__title {
  font-family: "Roboto", sans-serif;
  font-size: 14.8717948718vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.2931034483;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .fv--notFound__title {
    font-size: max(60px, 3.90625vw);
  }
}
.page-notFound__text {
  font-size: 3.8461538462vw;
  letter-spacing: 0.01em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .page-notFound__text {
    font-size: max(12px, 0.8333333333vw);
  }
}
.page-notFound__link {
  display: inline-block;
  margin-top: 12.8205128205vw;
  font-size: 3.8461538462vw;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 2;
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .page-notFound__link {
    margin-top: 2.6041666667vw;
    font-size: max(12px, 0.8333333333vw);
  }
}