@charset "UTF-8";
@import url("assets/css/reset.css");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,200..900;1,200..900&display=swap");
/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  box-sizing: border-box;
}
input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}
input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

@media screen and (max-width: 959px) {
  .pc_only {
    display: none;
  }
  .sp_only {
    display: block;
  }
}
@media screen and (min-width: 960px) {
  .pc_only {
    display: block;
  }
  .sp_only {
    display: none;
  }
}
html,
body {
  width: 100vw;
  position: relative;
}
@media screen and (max-width: 959px) {
  html,
  body {
    overflow-x: hidden !important;
  }
}

.page {
  padding: 10vw 0;
}
@media screen and (max-width: 959px) {
  .page {
    padding: 20vw 0;
  }
}
.page-bottom-md {
  padding-bottom: 16vw;
}
@media screen and (max-width: 959px) {
  .page-bottom-md {
    padding-bottom: 50vw;
  }
}
.page-font-color--white {
  color: #fff;
}
.page--concept {
  position: relative;
  padding-bottom: 14vw;
}
@media screen and (max-width: 959px) {
  .page--concept {
    padding-bottom: 22vw;
  }
}
@media screen and (max-width: 959px) {
  .page--profile {
    padding-top: 25vw;
  }
}

.panel--lineup .page {
  padding-bottom: 300px;
}

#concept {
  padding-top: 20vw;
}

.color-red {
  color: #d32d00;
  text-decoration: underline;
}

.bg-color_mv {
  background-color: #a87740;
}

.bg-color_01 {
  background-color: #c7b39c;
}

.bg-color_02 {
  background-color: #efceb6;
}

.bg-color_03 {
  background-color: #e8cdac;
}

.bg-color_04 {
  background-color: #211919;
}

.bg-img--mv {
  position: relative;
  z-index: 0;
}
.bg-img--mv:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  mix-blend-mode: multiply;
  opacity: 0.3;
  z-index: -1;
}
.bg-img--concept {
  position: relative;
  z-index: 0;
}
.bg-img--concept::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(assets/images/bg-concept.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.7;
  z-index: -1;
  mix-blend-mode: overlay;
}
@media screen and (max-width: 959px) {
  .bg-img--concept::before {
    background-image: url(assets/images/bg-concept--sp.webp);
  }
}
.bg-img--about {
  position: relative;
  z-index: 0;
}
.bg-img--about::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(assets/images/bg-about.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 1;
  z-index: -1;
  mix-blend-mode: overlay;
}
@media screen and (max-width: 959px) {
  .bg-img--about::before {
    background-image: url(assets/images/bg-about--sp.webp);
  }
}
.bg-img--lineup {
  position: relative;
  z-index: 0;
}
.bg-img--lineup::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(assets/images/bg-lineup.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 1;
  z-index: -1;
}
@media screen and (max-width: 959px) {
  .bg-img--lineup::before {
    background-image: url(assets/images/bg-lineup--sp.webp);
  }
}
.bg-img--info {
  position: relative;
  z-index: 0;
}
.bg-img--info::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(assets/images/bg-info.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 1;
  z-index: -1;
}
@media screen and (max-width: 959px) {
  .bg-img--info::before {
    background-image: url(assets/images/bg-info--sp.webp);
  }
}
.bg-img--profile {
  position: relative;
  z-index: 0;
}
.bg-img--profile::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(assets/images/bg-profile.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0, 7;
  z-index: -1;
  mix-blend-mode: overlay;
}
@media screen and (max-width: 959px) {
  .bg-img--profile::before {
    background-image: url(assets/images/bg-profile--sp.webp);
  }
}
.bg-img--shoplist {
  position: relative;
  z-index: 0;
}
.bg-img--shoplist::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(assets/images/bg-shoplist.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 1;
  z-index: -1;
}
@media screen and (max-width: 959px) {
  .bg-img--shoplist::before {
    background-image: url(assets/images/bg-shoplist--sp.webp);
  }
}

.bg-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.bg-video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

body {
  overflow-x: hidden;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 600;
  font-size: 1.056vw;
  overflow-wrap: break-word;
}
@media (max-width: 959px) {
  body {
    font-size: 3.733vw;
  }
}
@media (min-width: 1421px) {
  body {
    font-size: 1.056vw;
  }
}
body input,
body button {
  font-family: inherit;
}
body a {
  color: inherit;
}
body p {
  line-height: 2.3;
  letter-spacing: -0.02em;
  font-weight: 300;
  text-align: justify;
  font-feature-settings: "halt";
}
@media screen and (max-width: 959px) {
  body p {
    letter-spacing: -0.03em;
  }
}
body strong {
  font-weight: bold;
}
body .underline {
  text-decoration: underline;
}
body h2,
body h3,
body h4,
body h5,
body h6 {
  line-height: 1.4;
}
body img {
  max-width: 100%;
  height: auto;
}
body iframe {
  max-width: 100%;
}
body li {
  list-style: none;
}
body img {
  display: block;
}
@media screen and (min-width: 960px) {
  body a:hover {
    opacity: 0.6;
  }
}

.container {
  width: 100%;
  max-width: 100%;
  margin: auto;
  box-sizing: border-box;
  padding: 0 6vw;
}
@media screen and (max-width: 959px) {
  .container {
    padding: 0 16vw 0 4vw;
  }
}

.scroll-box {
  padding: 0.6vw 0;
  color: #fff;
  text-align: center;
  border: 1px solid #fff;
  box-sizing: border-box;
  width: 12.676056338vw;
  margin: auto;
  font-family: "Crimson Pro", serif;
  font-style: italic;
  font-weight: 200;
  font-size: 0.845vw;
}
@media (max-width: 959px) {
  .scroll-box {
    font-size: 2.667vw;
  }
}
@media (min-width: 1421px) {
  .scroll-box {
    font-size: 0.845vw;
  }
}
@media screen and (max-width: 959px) {
  .scroll-box {
    display: none;
  }
}

.instagram-link {
  position: fixed;
  top: 4vw;
  left: 2vw;
  height: 100%;
  width: 0.8450704225vw;
  z-index: 10;
  cursor: pointer;
  pointer-events: auto;
}
@media screen and (max-width: 959px) {
  .instagram-link {
    display: none;
  }
}

.main-visual {
  height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
}
.main-visual__wrap {
  overflow: hidden;
}
.main-visual__scroll-box {
  position: absolute;
  bottom: 2vw;
  left: 0;
  right: 0;
  opacity: 0;
}
.main-visual__scroll-parts {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.main-visual,
.panel--mv,
.bg-img--mv {
  min-height: 100svh;
  height: 100dvh;
  min-height: 100vh;
}

.header {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10;
  transition: all 1s ease;
}
.header.active {
  top: 50%;
  transform: translateY(-50%);
  transition: all 1s ease;
}
.header__sp-menu {
  margin-left: auto;
}
.header__cv-btn {
  margin-top: 2vw;
  opacity: 0;
  transition: all 1s ease;
  pointer-events: none;
}
.header__cv-btn.active {
  opacity: 1;
  transition: all 1s ease;
  pointer-events: auto;
}
.header__cv-btn-link:not(:first-child) {
  margin-top: 2vw;
}

.menu-trigger-block {
  cursor: pointer;
  padding: 2vw 1vw 1vw;
  background-color: #211919;
}
@media screen and (max-width: 959px) {
  .menu-trigger-block {
    padding: 3vw 2vw;
  }
}

.menu-trigger-text {
  display: inline-block;
  margin-top: 1vw;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 959px) {
  .menu-trigger-text {
    margin-top: 4vw;
  }
}

.menu-trigger {
  display: block;
  box-sizing: border-box;
  position: relative;
  vertical-align: middle;
  width: 3vw;
  height: 3vw;
  cursor: pointer;
}
@media screen and (max-width: 959px) {
  .menu-trigger {
    width: 8vw;
    height: 5vw;
  }
}
.menu-trigger span {
  display: inline-block;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  transition: all 0.3s ease-in-out;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 50%;
  transform: translate(0, -50%);
}
.menu-trigger span:nth-of-type(3) {
  left: inherit;
  bottom: 0;
}
.menu-trigger.active span:nth-of-type(1) {
  transform: translate(0, -50%) rotate(-45deg);
  top: 50%;
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  transform: translate(0, -50%) rotate(45deg);
  top: 50%;
}

.sp-navi {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  position: fixed;
  z-index: 11;
  top: 0;
  left: 0;
  transition: all 0.9s cubic-bezier(0.5, 0, 0, 1);
  box-sizing: border-box;
  opacity: 0;
  pointer-events: none;
  background-color: #211919;
}
.sp-navi__wrap {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 959px) {
  .sp-navi__wrap {
    display: block;
  }
}
.sp-navi.active {
  transform: translateY(0%);
  transition: all 0.9s cubic-bezier(0.5, 0, 0, 1);
  opacity: 1;
  pointer-events: auto;
}
.sp-navi__logo {
  width: 28.1690140845vw;
  margin: auto;
  margin-bottom: 4vw;
}
@media screen and (max-width: 959px) {
  .sp-navi__logo {
    display: none;
  }
}
.sp-navi__block {
  position: relative;
  padding-left: 6vw;
  padding-right: 6vw;
  padding-bottom: 10vw;
  margin: 0 4vw;
  width: 100%;
}
@media screen and (max-width: 959px) {
  .sp-navi__block {
    padding-top: 30vw;
    padding-left: 0;
    padding-right: 0;
    margin: 0 6vw;
    width: auto;
  }
}
.sp-navi__menu {
  display: flex;
  justify-content: space-between;
  gap: 2vw;
}
@media screen and (max-width: 959px) {
  .sp-navi__menu {
    flex-direction: column;
  }
}
.sp-navi__menu > div {
  width: calc((100% - 2vw) / 2);
}
@media screen and (max-width: 959px) {
  .sp-navi__menu > div {
    width: 100%;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 959px) {
  .sp-navi__btn {
    margin-top: 10vw;
  }
}
@media screen and (max-width: 959px) {
  .sp-navi__navi {
    padding: 0 6vw;
  }
}
.sp-navi .btn {
  width: 27.4647887324vw;
  margin-left: auto;
}
@media screen and (max-width: 959px) {
  .sp-navi .btn {
    width: 100%;
  }
}
.sp-navi .btn .btn__text-block {
  justify-content: center;
}
@media screen and (max-width: 959px) {
  .sp-navi .btn .btn__text-block {
    width: 100%;
  }
}
.sp-navi .btn .btn__link--white {
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}
@media screen and (max-width: 959px) {
  .sp-navi .btn .btn__link--white {
    width: 100%;
  }
}
.sp-navi .btn a {
  display: block;
}
.sp-navi ul {
  color: #fff;
}
.sp-navi ul li span {
  display: inline-block;
  font-weight: 200;
}
.sp-navi ul li span:nth-of-type(1) {
  width: 20vw;
  font-family: "Crimson Pro", serif;
  font-style: italic;
}
@media screen and (max-width: 959px) {
  .sp-navi ul li span:nth-of-type(1) {
    width: auto;
    display: block;
  }
}
.sp-navi ul li span:nth-of-type(2) {
  font-weight: 200;
}
@media screen and (max-width: 959px) {
  .sp-navi ul li span:nth-of-type(2) {
    display: block;
    margin-top: 2vw;
    padding-left: 2vw;
    font-size: 0.704vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .sp-navi ul li span:nth-of-type(2) {
    font-size: 2.667vw;
  }
}
@media screen and (max-width: 959px) and (min-width: 1421px) {
  .sp-navi ul li span:nth-of-type(2) {
    font-size: 0.704vw;
  }
}
.sp-navi ul li:not(:first-child) {
  margin-top: 2vw;
}
@media screen and (max-width: 959px) {
  .sp-navi ul li:not(:first-child) {
    margin-top: 4vw;
  }
}
.sp-navi__close {
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 959px) {
  .sp-navi__close {
    top: 0;
    bottom: inherit;
  }
}
.sp-navi__close-inner {
  position: relative;
  z-index: 0;
}
.sp-navi__close-inner::before {
  content: "Close";
  position: absolute;
  top: 50%;
  left: -5vw;
  color: #fff;
  font-size: 1.408vw;
  font-family: "Crimson Pro", serif;
  font-style: italic;
  transform: translateY(-50%);
  width: 100%;
}
@media (max-width: 959px) {
  .sp-navi__close-inner::before {
    font-size: 2.667vw;
  }
}
@media (min-width: 1421px) {
  .sp-navi__close-inner::before {
    font-size: 1.408vw;
  }
}
@media screen and (max-width: 959px) {
  .sp-navi__close-inner::before {
    display: none;
  }
}

.close-btn {
  cursor: pointer;
  display: inline-flex;
  text-decoration: none;
  font-weight: 700;
  color: #111;
  width: 8vw;
  height: 8vw;
  font-size: 14px;
  position: relative;
  opacity: 1 !important;
  background-color: #5a5a5a;
  border-radius: 100%;
  overflow: hidden;
  transform: rotate(90deg);
  transition: all 0.3s, color 0.4s;
}
@media screen and (max-width: 959px) {
  .close-btn {
    width: 14vw;
    height: 14vw;
    background-color: #211919;
    top: 8vw;
  }
}
.close-btn::before, .close-btn::after {
  content: "";
  display: block;
  position: absolute;
  width: 50%;
  height: 0;
  background-color: #fff;
  pointer-events: none;
}
@media screen and (max-width: 959px) {
  .close-btn::before, .close-btn::after {
    display: none;
  }
}
.close-btn::before {
  bottom: 0;
  left: 0;
}
.close-btn::after {
  top: 0;
  right: 0;
}
.close-btn:hover::before, .close-btn:hover::after {
  height: 100%;
}
.close-btn:hover::before {
  transition: height 0.2s 0.2s linear;
}
.close-btn:hover::after {
  transition: height 0.2s linear;
}
.close-btn span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  background-color: #211919;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99;
}
.close-btn img {
  width: 30%;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .close-btn img {
    width: 50%;
  }
}

.heading {
  margin-bottom: 3vw;
}
@media screen and (max-width: 959px) {
  .heading {
    margin-bottom: 10vw;
  }
}
.heading__en {
  display: flex;
  align-items: baseline;
  gap: 1vw;
  padding-left: 2.5vw;
  position: relative;
  margin-bottom: 4vw;
}
@media screen and (max-width: 959px) {
  .heading__en {
    margin-left: -4vw;
    padding-left: 4.5vw;
    gap: 2vw;
    margin-bottom: 12vw;
  }
}
.heading__en::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 2vw;
  height: 2px;
  background-color: #d32d00;
}
@media screen and (max-width: 959px) {
  .heading__en::before {
    width: 4vw;
  }
}
@media screen and (max-width: 959px) {
  .heading__en--sp-margin-bottom-none {
    margin-bottom: 0;
  }
}
.heading .en {
  font-family: "Crimson Pro", serif;
  font-style: italic;
  font-size: 2.113vw;
  font-weight: 200;
}
@media (max-width: 959px) {
  .heading .en {
    font-size: 4.267vw;
  }
}
@media (min-width: 1421px) {
  .heading .en {
    font-size: 2.113vw;
  }
}
.heading .ja {
  font-size: 1.127vw;
}
@media (max-width: 959px) {
  .heading .ja {
    font-size: 2.667vw;
  }
}
@media (min-width: 1421px) {
  .heading .ja {
    font-size: 1.127vw;
  }
}
.heading__ja {
  font-size: 2.465vw;
  font-weight: 200;
  margin-bottom: 1vw;
  line-height: 1.5;
  font-feature-settings: "halt";
}
@media (max-width: 959px) {
  .heading__ja {
    font-size: 5.067vw;
  }
}
@media (min-width: 1421px) {
  .heading__ja {
    font-size: 2.465vw;
  }
}
.heading__ja-sub {
  margin-top: 3vw !important;
}
@media screen and (max-width: 959px) {
  .heading__ja-sub {
    font-size: 2.465vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .heading__ja-sub {
    font-size: 4.533vw;
  }
}
@media screen and (max-width: 959px) and (min-width: 1421px) {
  .heading__ja-sub {
    font-size: 2.465vw;
  }
}
.heading__lead {
  font-size: 1.62vw;
  font-family: "Crimson Pro", serif;
  font-style: italic;
  font-weight: 200;
}
@media (max-width: 959px) {
  .heading__lead {
    font-size: 3.733vw;
  }
}
@media (min-width: 1421px) {
  .heading__lead {
    font-size: 1.62vw;
  }
}
@media screen and (max-width: 959px) {
  .heading__lead {
    margin-top: 4vw;
  }
}
.heading__lead p {
  letter-spacing: 0.03em;
  line-height: 1.5;
}
@media screen and (max-width: 959px) {
  .heading__lead p {
    line-height: 1.3;
  }
}
.heading__lead span {
  letter-spacing: 0.03em;
  line-height: 1.5;
}
@media screen and (max-width: 959px) {
  .heading__lead span {
    line-height: 1.3;
  }
}
.heading__en-title {
  font-size: 3.169vw;
  font-weight: 200;
}
@media (max-width: 959px) {
  .heading__en-title {
    font-size: 5.333vw;
  }
}
@media (min-width: 1421px) {
  .heading__en-title {
    font-size: 3.169vw;
  }
}
@media screen and (max-width: 959px) {
  .heading__en-title--sp-big {
    font-size: 3.169vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .heading__en-title--sp-big {
    font-size: 7.467vw;
  }
}
@media screen and (max-width: 959px) and (min-width: 1421px) {
  .heading__en-title--sp-big {
    font-size: 3.169vw;
  }
}

@media screen and (max-width: 959px) {
  .concept__wrap {
    margin-top: 15vw;
  }
}
.concept__block {
  display: flex;
  gap: 3vw;
}
@media screen and (max-width: 959px) {
  .concept__block {
    flex-direction: column;
  }
}
.concept__block:nth-of-type(2) {
  margin-top: 4vw;
}
.concept__block:nth-of-type(3) {
  margin-top: -6vw;
}
@media screen and (max-width: 959px) {
  .concept__block:nth-of-type(3) {
    margin-top: 15vw;
  }
}
.concept__block:nth-of-type(4) {
  margin-top: -10vw;
}
@media screen and (max-width: 959px) {
  .concept__block:nth-of-type(4) {
    margin-top: 15vw;
  }
}
.concept__block > div {
  width: calc((100% - 3vw) / 2);
}
@media screen and (max-width: 959px) {
  .concept__block > div {
    width: 100%;
  }
}
.concept__text-block-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 2vw;
}
@media screen and (max-width: 959px) {
  .concept__text-block-flex {
    gap: 10vw;
  }
}
.concept__text-block-flex > div {
  width: calc((100% - 2vw) / 2);
}
@media screen and (max-width: 959px) {
  .concept__text-block-flex > div {
    width: 100%;
  }
}
@media screen and (max-width: 959px) {
  .concept__text:nth-of-type(2) {
    padding-left: 12vw;
  }
}
.concept__blank {
  width: 50%;
}
.concept__margin-mr {
  padding-right: 8vw;
}
@media screen and (max-width: 959px) {
  .concept__margin-mr {
    padding-right: 0vw;
  }
}
.concept__img img {
  width: 100%;
}
.concept__img--01 {
  width: 30vw;
  height: 31.6901408451vw;
  overflow: hidden;
}
.concept__img--01 img {
  width: 100%;
  transform: translate(0px, -10vw);
}
@media screen and (max-width: 959px) {
  .concept__img--01 {
    width: 66.6666666667vw;
    height: 93.3333333333vw;
    margin-left: auto;
  }
}
.concept__img--02 {
  margin-left: auto;
  width: 20vw;
  margin-top: -6vw;
  height: 24.6478873239vw;
  overflow: hidden;
}
.concept__img--02 img {
  width: 100%;
  transform: translate(0px, -2vw);
}
@media screen and (max-width: 959px) {
  .concept__img--02 {
    margin-top: -10vw;
    width: 46.6666666667vw;
    height: 64vw;
    transform: translateX(-4.5vw);
    margin-left: inherit;
    margin-right: auto;
  }
}
.concept__img--03 {
  height: 24.6478873239vw;
  overflow: hidden;
}
.concept__img--03 img {
  width: 100%;
  transform: translate(0px, -2vw);
}
@media screen and (max-width: 959px) {
  .concept__img--03 {
    height: 80vw;
    margin-left: -4vw;
  }
}
.concept__img--04 {
  text-align: center;
}
.concept__img--04 img {
  width: 30vw;
}
@media screen and (max-width: 959px) {
  .concept__img--04 img {
    width: 54.6666666667vw;
    margin: auto;
  }
}
.concept__img--05 {
  margin-left: auto;
  transform: translateX(7vw);
  width: 40vw;
  margin-top: -8vw;
  height: 28.1690140845vw;
  overflow: hidden;
}
.concept__img--05 img {
  width: 100%;
}
@media screen and (max-width: 959px) {
  .concept__img--05 {
    transform: translateX(0);
    width: 81.3333333333vw;
    height: 53.3333333333vw;
    margin: auto;
  }
}
.concept__block--flex-none {
  display: block;
}
@media screen and (max-width: 959px) {
  .concept__block--flex-none {
    padding-top: 4vw;
  }
}
@media screen and (max-width: 959px) {
  .concept__block--sp-gap {
    gap: 15vw;
  }
  .concept__block--sp-margin-top {
    margin-top: 15vw !important;
  }
}
.concept .image-parallax--01 {
  height: 31.6901408451vw;
  overflow: hidden;
}
.concept .image-parallax--01 img {
  transform: translate(0px, -20vw);
}
@media screen and (max-width: 959px) {
  .concept .image-parallax--01 {
    height: 64vw;
  }
}
.concept .image-parallax--02 {
  height: 31.6901408451vw;
  overflow: hidden;
  position: absolute;
  top: -2vw;
  left: -2vw;
  width: 100%;
  z-index: -1;
}
@media screen and (max-width: 959px) {
  .concept .image-parallax--02 {
    top: -6vw;
    left: -6vw;
    height: 64vw;
  }
}
.concept .image-parallax--02 img {
  transform: translate(0px, -1vw);
}

.about__block {
  display: flex;
  gap: 3vw;
}
@media screen and (max-width: 959px) {
  .about__block {
    flex-direction: column;
    gap: 25vw;
  }
}
.about__block:nth-of-type(2) {
  margin-top: 10vw;
}
@media screen and (max-width: 959px) {
  .about__block:nth-of-type(2) {
    margin-top: 6vw;
  }
}
@media screen and (max-width: 959px) {
  .about__block:nth-of-type(2) .about__text-block .about__text:nth-of-type(1) {
    padding-right: 12vw;
  }
}
@media screen and (max-width: 959px) {
  .about__block:nth-of-type(2) .about__text-block .about__text:nth-of-type(2) {
    padding-left: 12vw;
  }
}
.about__block > div {
  width: calc((100% - 3vw) / 2);
}
@media screen and (max-width: 959px) {
  .about__block > div {
    width: auto;
  }
}
.about__block-item-center {
  align-items: center;
}
@media screen and (max-width: 959px) {
  .about__block-item-center {
    align-items: normal;
  }
}
.about__block-gap-none {
  gap: 0;
}
.about__text-block-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 2vw;
}
@media screen and (max-width: 959px) {
  .about__text-block-flex {
    gap: 15vw;
  }
}
.about__text-block-flex > div {
  width: calc((100% - 2vw) / 2);
}
@media screen and (max-width: 959px) {
  .about__text-block-flex > div {
    width: 100%;
  }
}
.about__text-block-flex-column {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 2vw;
  width: 50%;
}
@media screen and (max-width: 959px) {
  .about__text-block-flex-column {
    width: 100%;
    gap: 10vw;
    padding-left: 12vw;
  }
}
.about__text-block-flex-column > div {
  width: 60%;
}
@media screen and (max-width: 959px) {
  .about__text-block-flex-column > div {
    width: 100%;
  }
}
.about__text-block-flex-column > div:nth-of-type(1) {
  margin: auto;
}
.about__text-block-flex-column > div:nth-of-type(2) {
  margin-left: auto;
}
@media screen and (max-width: 959px) {
  .about__img-block--02 {
    margin-right: calc(64vw - 100%);
  }
}
.about__blank {
  width: 50%;
}
.about__margin-mr {
  padding-right: 8vw;
}
@media screen and (max-width: 959px) {
  .about__margin-mr {
    padding-right: 0vw;
  }
}
.about__img--01 {
  height: 38.7323943662vw;
  overflow: hidden;
  margin-left: auto;
  width: 32vw;
}
@media screen and (max-width: 959px) {
  .about__img--01 {
    width: 53.3333333333vw;
    height: 73.3333333333vw;
    margin-right: auto;
    margin-left: inherit;
  }
}
.about__img--01 img {
  width: 100%;
  transform: translate(0px, -10vw);
}
.about__img--02 {
  height: 24.6478873239vw;
  overflow: hidden;
  width: 100%;
}
@media screen and (max-width: 959px) {
  .about__img--02 {
    height: 62.6666666667vw;
  }
}
.about__img--02 img {
  width: 100%;
  transform: translate(0px, -1vw);
}

@media screen and (max-width: 959px) {
  .course__heading {
    margin-bottom: 10vw;
  }
}
.course__block {
  display: flex;
  flex-wrap: wrap;
}
.course__block > div {
  width: 50%;
}
@media screen and (max-width: 959px) {
  .course__block > div {
    width: 100%;
  }
}
.course__block-item-center {
  align-items: center;
}
.course__text-block-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 2vw;
}
.course__text-block-flex > div {
  width: calc((100% - 2vw) / 2);
}
.course__img img {
  width: 100%;
}
.course__blank {
  width: 50%;
}
.course__margin-mr {
  padding-right: 8vw;
}
@media screen and (max-width: 959px) {
  .course__margin-mr {
    padding-right: 0vw;
  }
}
@media screen and (max-width: 959px) {
  .course__btn {
    margin-top: 10vw;
  }
  .course__btn a {
    width: 100%;
    box-sizing: border-box;
  }
  .course__btn a .btn__text-block {
    justify-content: center;
  }
}
.course__img--01 {
  height: 42.2535211268vw;
  overflow: hidden;
}
.course__img--01 img {
  transform: translate(0px, -1vw);
}
@media screen and (max-width: 959px) {
  .course__img--01 {
    height: 93.3333333333vw;
  }
}

.btn__link--white {
  padding: 1vw 2vw;
  border: 1px solid #fff;
  display: inline-block;
  color: #fff;
  width: 16vw;
  text-align: center;
  font-weight: 200;
}
@media screen and (max-width: 959px) {
  .btn__link--white {
    padding: 4vw 4vw;
    width: 100%;
  }
}
.btn__link--red {
  background-color: #d32d00;
  padding: 1vw 4vw;
  display: inline-block;
  color: #fff;
  font-weight: 200;
}
@media screen and (max-width: 959px) {
  .btn__link--red {
    padding: 4vw 4vw;
  }
}
.btn__text-block {
  display: flex;
  align-items: center;
  gap: 0.5vw;
}
.btn__ja-block {
  font-size: 1.197vw;
  border-right: 1px solid #fff;
  padding-right: 2vw;
  margin-right: 2vw;
  font-weight: 300;
}
@media (max-width: 959px) {
  .btn__ja-block {
    font-size: 4.267vw;
  }
}
@media (min-width: 1421px) {
  .btn__ja-block {
    font-size: 1.197vw;
  }
}
@media screen and (max-width: 959px) {
  .btn__ja-block {
    padding-right: 4vw;
    margin-right: 4vw;
  }
}
.btn__en-block {
  font-size: 1.408vw;
  display: flex;
  align-items: center;
  gap: 0.5vw;
}
@media (max-width: 959px) {
  .btn__en-block {
    font-size: 4vw;
  }
}
@media (min-width: 1421px) {
  .btn__en-block {
    font-size: 1.408vw;
  }
}
@media screen and (max-width: 959px) {
  .btn__en-block {
    gap: 2vw;
  }
}
.btn__en-icon {
  display: inline-block;
  font-size: 0.704vw;
}
@media (max-width: 959px) {
  .btn__en-icon {
    font-size: 2.667vw;
  }
}
@media (min-width: 1421px) {
  .btn__en-icon {
    font-size: 0.704vw;
  }
}
.btn:not(:first-child) {
  margin-top: 2vw;
}
@media screen and (max-width: 959px) {
  .btn:not(:first-child) {
    margin-top: 4vw;
  }
}
.btn__en-text {
  font-family: "Crimson Pro", serif;
  font-style: italic;
  font-weight: 200;
}

.online-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1vw;
  position: relative;
  width: 24.6478873239vw;
  padding: 2vw 2vw;
  margin: auto;
  margin-top: 4vw;
  box-sizing: border-box;
}
@media screen and (max-width: 959px) {
  .online-btn {
    width: 100%;
    padding: 4vw 4vw;
    margin-top: 14vw;
  }
}
.online-btn::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.3vw;
  left: -0.3vw;
  width: 100%;
  height: 100%;
  background-image: url(../assets/images/box-bg.svg);
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.7;
  z-index: -1;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 959px) {
  .online-btn::before {
    background-image: url(../assets/images/box-bg--sp.svg);
  }
}
.online-btn:after {
  content: "";
  display: block;
  position: absolute;
  top: -0.3vw;
  right: -0.3vw;
  width: 100%;
  height: 100%;
  background-image: url(../assets/images/box-line.svg);
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 959px) {
  .online-btn:after {
    background-size: auto auto;
    background-image: url(../assets/images/box-line--sp.svg);
  }
}
.online-btn__ja-block {
  font-size: 1.408vw;
  font-weight: 200;
}
@media (max-width: 959px) {
  .online-btn__ja-block {
    font-size: 3.733vw;
  }
}
@media (min-width: 1421px) {
  .online-btn__ja-block {
    font-size: 1.408vw;
  }
}
.online-btn__en-block {
  font-size: 1.408vw;
  font-weight: 200;
  font-family: "Crimson Pro", serif;
}
@media (max-width: 959px) {
  .online-btn__en-block {
    font-size: 3.733vw;
  }
}
@media (min-width: 1421px) {
  .online-btn__en-block {
    font-size: 1.408vw;
  }
}
.online-btn__en-text {
  font-style: italic;
  font-weight: 200;
}
.online-btn__en-icon {
  display: inline-block;
  font-size: 0.704vw;
}
@media (max-width: 959px) {
  .online-btn__en-icon {
    font-size: 2.667vw;
  }
}
@media (min-width: 1421px) {
  .online-btn__en-icon {
    font-size: 0.704vw;
  }
}

.lineup__block {
  display: flex;
  gap: 3vw;
}
@media screen and (max-width: 959px) {
  .lineup__block {
    flex-direction: column;
  }
}
.lineup__block:nth-of-type(2) {
  margin-top: 4vw;
}
.lineup__block:nth-of-type(3) {
  margin-top: -6vw;
}
.lineup__block:nth-of-type(4) {
  margin-top: -10vw;
}
.lineup__block > div {
  width: calc((100% - 3vw) / 2);
}
@media screen and (max-width: 959px) {
  .lineup__block > div {
    width: 100%;
  }
}
@media screen and (max-width: 959px) {
  .lineup__text-block {
    margin-top: 10vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .lineup__text-block > div:nth-of-type(2) {
    padding-left: 12vw;
  }
}
.lineup__text-block-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 2vw;
}
@media screen and (max-width: 959px) {
  .lineup__text-block-flex {
    flex-direction: column;
    gap: 14vw;
  }
}
.lineup__text-block-flex > div {
  width: calc((100% - 2vw) / 2);
}
@media screen and (max-width: 959px) {
  .lineup__text-block-flex > div {
    width: auto;
  }
}
.lineup__blank {
  width: 50%;
}
.lineup__margin-mr {
  padding-right: 8vw;
}
@media screen and (max-width: 959px) {
  .lineup__margin-mr {
    padding-right: 0vw;
  }
}
.lineup__img--01 {
  height: 24.6478873239vw;
  overflow: hidden;
}
.lineup__img--01 img {
  width: 100%;
  transform: translate(0px, -10vw);
}
@media screen and (max-width: 959px) {
  .lineup__img--01 img {
    transform: translate(0px, -15vw);
  }
}
@media screen and (max-width: 959px) {
  .lineup__img--01 {
    height: 46.6666666667vw;
  }
}

.info__logo {
  margin: auto;
  margin-bottom: 4vw;
  width: 37.323943662vw;
}
@media screen and (max-width: 959px) {
  .info__logo {
    width: 70.6666666667vw;
  }
}
.info__block {
  display: flex;
  gap: 3vw;
}
@media screen and (max-width: 959px) {
  .info__block {
    flex-direction: column-reverse;
    gap: 10vw;
    margin-top: 8vw;
  }
}
.info__block > div {
  width: calc((100% - 3vw) / 2);
}
@media screen and (max-width: 959px) {
  .info__block > div {
    width: 100%;
  }
}
.info__text-box:not(:last-of-type) {
  margin-bottom: 2vw;
}
@media screen and (max-width: 959px) {
  .info__text-box:not(:last-of-type) {
    margin-bottom: 10vw;
  }
}
.info__text {
  line-height: 1.8;
  font-weight: 200;
}
.info__heading {
  font-size: 1.127vw;
  font-weight: 200;
  margin-bottom: 1vw;
  text-decoration: underline;
}
@media (max-width: 959px) {
  .info__heading {
    font-size: 3.733vw;
  }
}
@media (min-width: 1421px) {
  .info__heading {
    font-size: 1.127vw;
  }
}
@media screen and (max-width: 959px) {
  .info__heading {
    margin-bottom: 4vw;
  }
}
.info__list li {
  display: flex;
  flex-wrap: wrap;
  gap: 2vw;
  line-height: 1;
  font-weight: 200;
}
@media screen and (max-width: 959px) {
  .info__list li {
    gap: 6vw;
  }
}
.info__list li:not(:last-of-type) {
  margin-bottom: 1vw;
}
@media screen and (max-width: 959px) {
  .info__list li:not(:last-of-type) {
    margin-bottom: 4vw;
  }
}
.info__list li span {
  font-weight: 200;
  display: inline-block;
}
.info__list li span:nth-of-type(1) {
  width: 7vw;
  border-right: 1px solid #fff;
}
@media screen and (max-width: 959px) {
  .info__list li span:nth-of-type(1) {
    width: 24vw;
  }
}
.info__margin-ml {
  padding-left: 8vw;
}
@media screen and (max-width: 959px) {
  .info__margin-ml {
    padding-left: 0vw;
  }
}
.info__margin-mr {
  padding-right: 8vw;
}
@media screen and (max-width: 959px) {
  .info__margin-mr {
    padding-right: 0vw;
  }
}
.info__btn {
  margin-top: 2vw;
}
@media screen and (max-width: 959px) {
  .info__btn {
    margin-top: 10vw;
  }
  .info__btn .btn__link--white {
    border: none;
    text-align: left;
    padding-left: 0;
  }
  .info__btn .inline-block {
    display: inline-block;
  }
}
.info__img--01 {
  height: 35.2112676056vw;
  overflow: hidden;
}
.info__img--01 img {
  width: 100%;
  transform: translate(0px, -10vw);
}
@media screen and (max-width: 959px) {
  .info__img--01 img {
    transform: translate(0px, -35vw);
  }
}
@media screen and (max-width: 959px) {
  .info__img--01 {
    height: 54.6666666667vw;
  }
}

.profile__block {
  display: flex;
  gap: 3vw;
}
@media screen and (max-width: 959px) {
  .profile__block {
    flex-direction: column;
  }
}
.profile__block > div {
  width: calc((100% - 3vw) / 2);
}
@media screen and (max-width: 959px) {
  .profile__block > div {
    width: auto;
  }
}
@media screen and (max-width: 959px) {
  .profile__text-block {
    margin-top: 10vw;
    padding-left: 12vw;
  }
}
.profile__text-block-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 2vw;
}
@media screen and (max-width: 959px) {
  .profile__text-block-flex {
    flex-direction: column;
    gap: 10vw;
  }
}
.profile__text-block-flex > div {
  width: calc((100% - 2vw) / 2);
}
@media screen and (max-width: 959px) {
  .profile__text-block-flex > div {
    width: 100%;
  }
}
@media screen and (max-width: 959px) {
  .profile__text {
    font-size: 0.986vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .profile__text {
    font-size: 3.467vw;
  }
}
@media screen and (max-width: 959px) and (min-width: 1421px) {
  .profile__text {
    font-size: 0.986vw;
  }
}
.profile__blank {
  width: 50%;
}
.profile__margin-mr {
  padding-right: 8vw;
}
@media screen and (max-width: 959px) {
  .profile__margin-mr {
    padding-right: 0vw;
  }
}
.profile__text-heading {
  font-size: 1.268vw;
  font-weight: 200;
  margin-bottom: 2vw;
  padding-bottom: 1vw;
  border-bottom: 1px solid #3f302a;
}
@media (max-width: 959px) {
  .profile__text-heading {
    font-size: 3.733vw;
  }
}
@media (min-width: 1421px) {
  .profile__text-heading {
    font-size: 1.268vw;
  }
}
@media screen and (max-width: 959px) {
  .profile__text-heading {
    display: inline-block;
    text-decoration: underline;
    border-bottom: none;
  }
}
.profile__caption {
  font-size: 1.268vw;
  margin-top: 2vw;
  line-height: 1.5;
  font-weight: 200;
}
@media (max-width: 959px) {
  .profile__caption {
    font-size: 3.733vw;
  }
}
@media (min-width: 1421px) {
  .profile__caption {
    font-size: 1.268vw;
  }
}
@media screen and (max-width: 959px) {
  .profile__caption {
    margin-top: 4vw;
  }
  .profile__caption .sp-line {
    text-decoration: underline;
  }
}
.profile__text li {
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 959px) {
  .profile__text li {
    font-size: 0.986vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .profile__text li {
    font-size: 3.467vw;
  }
}
@media screen and (max-width: 959px) and (min-width: 1421px) {
  .profile__text li {
    font-size: 0.986vw;
  }
}
.profile__text li:not(:last-of-type) {
  margin-bottom: 1vw;
}
.profile__img {
  padding-right: 3vw;
}
@media screen and (max-width: 959px) {
  .profile__img {
    padding-right: 0vw;
  }
}
.profile__img img {
  width: 100%;
}
.profile__img--01 {
  height: 38.7323943662vw;
  overflow: hidden;
}
.profile__img--01 img {
  width: 100%;
  transform: translate(0px, -10vw);
}
@media screen and (max-width: 959px) {
  .profile__img--01 {
    height: 93.3333333333vw;
  }
}

.business__block {
  display: flex;
  gap: 2vw;
}
.business__block > div:nth-of-type(1) {
  width: 70%;
}
@media screen and (max-width: 959px) {
  .business__block > div:nth-of-type(1) {
    width: 100%;
  }
}
.business__block > div:nth-of-type(2) {
  width: 30%;
}
@media screen and (max-width: 959px) {
  .business__block > div:nth-of-type(2) {
    width: 100%;
  }
}
.business__block-item-center {
  align-items: center;
}
.business__text-box {
  margin-top: 5vw;
}
@media screen and (max-width: 959px) {
  .business__text-box {
    margin-top: 12vw;
  }
}
.business__text-block-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 2vw;
}
.business__text-block-flex > div {
  width: calc((100% - 2vw) / 2);
}
@media screen and (max-width: 959px) {
  .business__text-block-flex > div {
    width: 100%;
  }
}
.business__btn {
  margin-top: 5vw;
}
@media screen and (max-width: 959px) {
  .business__btn {
    margin-top: 10vw;
  }
  .business__btn a {
    width: 100%;
    box-sizing: border-box;
  }
  .business__btn a .btn__text-block {
    justify-content: center;
  }
}
.business__margin-mr {
  padding-right: 8vw;
}
@media screen and (max-width: 959px) {
  .business__margin-mr {
    padding-right: 0vw;
  }
}
.business__img:nth-of-type(1) {
  margin-bottom: 1vw;
}
.business__img--01 {
  height: 21.1267605634vw;
  overflow: hidden;
}
.business__img--01 img {
  width: 100%;
  transform: translate(0px, -2vw);
}
@media screen and (max-width: 959px) {
  .business__img--01 {
    height: 56vw;
  }
  .business__img--01 img {
    width: 100%;
    transform: translate(0px, -50vw);
  }
}
.business__img--02 {
  height: 21.1267605634vw;
  overflow: hidden;
}
.business__img--02 img {
  width: 100%;
  transform: translate(0px, -0.5vw);
}

.shoplist__block {
  margin-top: 6vw;
  padding-left: 8vw;
  padding-right: 8vw;
}
@media screen and (max-width: 959px) {
  .shoplist__block {
    padding-left: 0;
    padding-right: 0;
  }
}
.shoplist__text-heading {
  font-size: 1.408vw;
  font-weight: 200;
  margin-bottom: 2vw;
  padding-bottom: 1vw;
  border-bottom: 1px solid #fff;
}
@media (max-width: 959px) {
  .shoplist__text-heading {
    font-size: 3.467vw;
  }
}
@media (min-width: 1421px) {
  .shoplist__text-heading {
    font-size: 1.408vw;
  }
}
@media screen and (max-width: 959px) {
  .shoplist__text-heading {
    margin-bottom: 10vw;
    padding-bottom: 2vw;
  }
}
.shoplist__btn {
  margin-top: 3vw;
}
@media screen and (max-width: 959px) {
  .shoplist__btn {
    margin-top: 10vw;
  }
}
@media screen and (max-width: 959px) {
  .shoplist__btn a {
    width: 100%;
    box-sizing: border-box;
  }
}
.shoplist__text-block:not(:first-of-type) {
  margin-top: 6vw;
}
@media screen and (max-width: 959px) {
  .shoplist__text-block:not(:first-of-type) {
    margin-top: 20vw;
  }
}
.shoplist__text-box {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 959px) {
  .shoplist__text-box {
    flex-direction: column;
    font-size: 0.986vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .shoplist__text-box {
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 959px) and (min-width: 1421px) {
  .shoplist__text-box {
    font-size: 0.986vw;
  }
}
.shoplist__text-box > div {
  width: calc((100% - 2vw) / 2);
}
@media screen and (max-width: 959px) {
  .shoplist__text-box > div {
    width: 100%;
  }
}
.shoplist__btn-block {
  display: flex;
  gap: 2vw;
}
@media screen and (max-width: 959px) {
  .shoplist__btn-block {
    flex-direction: column;
    margin-top: 4vw;
    gap: 4vw;
  }
}
.shoplist__btn-block > div {
  width: calc((100% - 2vw) / 2);
}
@media screen and (max-width: 959px) {
  .shoplist__btn-block > div {
    width: 100%;
  }
}
.shoplist__web-btn {
  text-align: center;
}
.shoplist__web-btn a {
  background-color: #d32d00;
  color: #fff;
  padding: 1vw 2vw;
  display: block;
}
@media screen and (max-width: 959px) {
  .shoplist__web-btn a {
    width: 100%;
    box-sizing: border-box;
    padding: 4vw 4vw;
  }
}
.shoplist__instagram-btn {
  text-align: center;
}
.shoplist__instagram-btn a {
  background-color: #fff;
  color: #3f302a;
  padding: 1vw 2vw;
  display: block;
}
@media screen and (max-width: 959px) {
  .shoplist__instagram-btn a {
    width: 100%;
    box-sizing: border-box;
    padding: 4vw 4vw;
  }
}

.footer {
  padding: 5vw 0;
}
@media screen and (max-width: 959px) {
  .footer {
    padding: 15vw 0 10vw;
  }
  .footer .container {
    padding: 0 4vw;
  }
}
.footer__logo {
  width: 37.323943662vw;
  margin: auto;
  margin-bottom: 4vw;
}
@media screen and (max-width: 959px) {
  .footer__logo {
    width: 53.3333333333vw;
    margin-bottom: 10vw;
  }
}
.footer__block {
  padding-left: 8vw;
  padding-right: 8vw;
}
@media screen and (max-width: 959px) {
  .footer__block {
    padding: 0;
  }
}
.footer__copyright {
  margin-top: 5vw;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 959px) {
  .footer__copyright {
    font-size: 1.127vw;
    margin-top: 10vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .footer__copyright {
    font-size: 2.667vw;
  }
}
@media screen and (max-width: 959px) and (min-width: 1421px) {
  .footer__copyright {
    font-size: 1.127vw;
  }
}
.footer__menu {
  display: flex;
  justify-content: space-between;
  gap: 2vw;
}
.footer__menu > div {
  width: calc((100% - 2vw) / 2);
}
@media screen and (max-width: 959px) {
  .footer__menu > div {
    width: 100%;
  }
}
.footer .btn {
  width: 27.4647887324vw;
  margin-left: auto;
}
.footer .btn .btn__text-block {
  justify-content: center;
}
.footer .btn .btn__link--white {
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}
.footer .btn a {
  display: block;
}

.footer-navi {
  color: #fff;
}
@media screen and (max-width: 959px) {
  .footer-navi {
    max-inline-size: -moz-max-content;
    max-inline-size: max-content;
    margin-inline: auto;
    width: 60%;
  }
}
.footer-navi ul li span {
  display: inline-block;
  font-weight: 200;
}
.footer-navi ul li span:nth-of-type(1) {
  width: 20vw;
  font-family: "Crimson Pro", serif;
  font-style: italic;
}
@media screen and (max-width: 959px) {
  .footer-navi ul li span:nth-of-type(1) {
    font-size: 1.127vw;
    width: 100%;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .footer-navi ul li span:nth-of-type(1) {
    font-size: 4vw;
  }
}
@media screen and (max-width: 959px) and (min-width: 1421px) {
  .footer-navi ul li span:nth-of-type(1) {
    font-size: 1.127vw;
  }
}
.footer-navi ul li span:nth-of-type(2) {
  font-weight: 200;
}
@media screen and (max-width: 959px) {
  .footer-navi ul li span:nth-of-type(2) {
    margin-top: 2vw;
    font-size: 0.704vw;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .footer-navi ul li span:nth-of-type(2) {
    font-size: 2.667vw;
  }
}
@media screen and (max-width: 959px) and (min-width: 1421px) {
  .footer-navi ul li span:nth-of-type(2) {
    font-size: 0.704vw;
  }
}
.footer-navi ul li:not(:first-child) {
  margin-top: 2vw;
}
@media screen and (max-width: 959px) {
  .footer-navi ul li:not(:first-child) {
    margin-top: 4vw;
  }
}

@media screen and (min-width: 960px) {
  .obj-concept-block {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    transition: all 0.8s cubic-bezier(0.25, 0.1, 0.25, 1);
    opacity: 1;
  }
  .obj-concept-block.is-hidden {
    opacity: 0;
  }
}

.obj-scroll {
  position: absolute;
}
@media screen and (max-width: 959px) {
  .obj-scroll {
    width: 25.3333333333vw;
  }
}
.obj-scroll img {
  width: 100%;
}
@media screen and (min-width: 960px) {
  .obj-scroll--concept {
    top: 8vw;
    right: 8vw;
    width: 13.3802816901vw;
    z-index: 1;
  }
}
@media screen and (max-width: 959px) {
  .obj-scroll--concept {
    top: 73vw;
    right: inherit;
    left: 4vw;
    z-index: 1;
  }
}
@media screen and (min-width: 960px) {
  .obj-scroll--about {
    top: 8vw;
    right: 8vw;
    width: 13.3802816901vw;
    z-index: 1;
  }
}
@media screen and (max-width: 959px) {
  .obj-scroll--about {
    top: 10vw;
    right: 15vw;
    z-index: 1;
  }
}
.obj-scroll--lineup {
  mix-blend-mode: color-dodge;
}
@media screen and (min-width: 960px) {
  .obj-scroll--lineup {
    top: 8vw;
    right: 8vw;
    width: 13.3802816901vw;
    z-index: 1;
  }
}
@media screen and (max-width: 959px) {
  .obj-scroll--lineup {
    top: 36vw;
    right: 15vw;
    z-index: 1;
  }
}
@media screen and (min-width: 960px) {
  .obj-scroll--course {
    top: 8vw;
    right: 8vw;
    width: 13.3802816901vw;
    z-index: 1;
  }
}
@media screen and (max-width: 959px) {
  .obj-scroll--course {
    right: 15vw;
    z-index: 1;
  }
}
@media screen and (min-width: 960px) {
  .obj-scroll--profile {
    top: 8vw;
    right: 8vw;
    width: 13.3802816901vw;
    z-index: 1;
  }
}
@media screen and (max-width: 959px) {
  .obj-scroll--profile {
    top: 26vw;
    right: 10vw;
    z-index: 1;
  }
}
.obj-scroll--business {
  mix-blend-mode: color-dodge;
}
@media screen and (min-width: 960px) {
  .obj-scroll--business {
    top: 8vw;
    right: 8vw;
    width: 13.3802816901vw;
    z-index: 1;
  }
}
@media screen and (max-width: 959px) {
  .obj-scroll--business {
    top: 105vw;
    right: inherit;
    left: 4vw;
    z-index: 1;
  }
}
@media screen and (min-width: 960px) {
  .obj-scroll--info {
    top: 8vw;
    right: 8vw;
    width: 13.3802816901vw;
    z-index: 1;
  }
}
@media screen and (max-width: 959px) {
  .obj-scroll--info {
    margin-right: 16vw;
    top: 75vw;
    right: 0;
    z-index: 1;
  }
}
.obj-scroll--shoplist {
  mix-blend-mode: color-dodge;
}
@media screen and (min-width: 960px) {
  .obj-scroll--shoplist {
    top: 8vw;
    right: 8vw;
    width: 13.3802816901vw;
    z-index: 1;
  }
}
@media screen and (max-width: 959px) {
  .obj-scroll--shoplist {
    top: 25vw;
    right: 13vw;
    z-index: 1;
  }
}

section {
  position: relative;
}

.panel {
  will-change: transform;
  min-height: 100lvh;
  position: relative;
}
.panel--mv {
  overflow: hidden;
}
.panel--course {
  min-height: auto;
}

.image-curtain {
  position: relative;
  overflow: hidden;
}

.image-curtain .curtain {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.curtain.first {
  background-color: #b24228;
  transform: translateX(0%);
  z-index: 2;
}

.curtain.second {
  background-color: #911b00;
  transform: translateX(0%);
  z-index: 1;
}

.image-blur {
  filter: blur(12px);
  transition: filter 0.8s cubic-bezier(0.25, 0.1, 0.25, 1);
  will-change: filter;
}

.bg-obj-concept--01 {
  position: absolute;
  top: 73vw;
  left: 47vw;
  width: 6.338028169vw;
  z-index: 1;
}
@media screen and (max-width: 959px) {
  .bg-obj-concept--01 {
    top: 200vw;
    left: inherit;
    right: 10vw;
    width: 13.3333333333vw;
  }
}
.bg-obj-concept--01 img {
  width: 100%;
}

.bg-obj-about {
  position: absolute;
  z-index: -1;
  mix-blend-mode: color-burn;
  isolation: isolate;
  opacity: 0;
}
@supports (-webkit-touch-callout: none) or (background: -webkit-named-image(i)) {
  .bg-obj-about {
    mix-blend-mode: hard-light !important;
  }
}
.bg-obj-about img {
  will-change: transform;
  transform: translateZ(0);
}
.bg-obj-about--01 {
  top: 8vw;
  left: 46vw;
  width: 19.014084507vw;
  transform: translateY(-20%);
}
@media screen and (max-width: 959px) {
  .bg-obj-about--01 {
    top: 38vw;
    left: inherit;
    right: 0;
    width: 33.3333333333vw;
  }
}
.bg-obj-about--02 {
  top: 53vw;
  left: -5vw;
  width: 35.2112676056vw;
  transform: translateY(-20%);
}
@media screen and (max-width: 959px) {
  .bg-obj-about--02 {
    top: 265vw;
    left: inherit;
    right: 0;
    width: 64vw;
  }
}
.bg-obj-about--03 {
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 39.4366197183vw;
  transform: translateY(0%);
}
@media screen and (max-width: 959px) {
  .bg-obj-about--03 {
    width: 100vw;
  }
}

.bg-obj-profile--01 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 19.7183098592vw;
  z-index: 1;
  opacity: 0.3;
}
@media screen and (max-width: 959px) {
  .bg-obj-profile--01 {
    bottom: 0;
    left: 0;
    right: inherit;
    width: 40vw;
  }
}
.bg-obj-profile--01 img {
  width: 100%;
}

.bg-obj-mv {
  position: absolute;
  bottom: -20vw;
  left: 0;
  right: 0;
  margin: auto;
  width: 49.2957746479vw;
  z-index: -1;
  mix-blend-mode: color-burn;
  animation: mv-bg-obj 50s linear infinite;
  transform: translate3d(0, 0, 0);
}
@media screen and (max-width: 959px) {
  .bg-obj-mv {
    bottom: -40vw;
    width: 93.3333333333vw;
  }
}
.bg-obj-mv img {
  width: 100%;
}
@keyframes mv-bg-obj {
  0% {
    transform: translate3d(0, 0, 0) rotate(0deg);
  }
  100% {
    transform: translate3d(0, 0, 0) rotate(360deg);
  }
}

.scroll-parts {
  color: #fff;
}
.scroll-parts__block:nth-of-type(2) {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: auto;
  transform: translateY(-50%);
  width: 100%;
  z-index: 1;
}
.scroll-parts__block:nth-of-type(3) {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: auto;
  transform: translateY(-50%);
  width: 100%;
  z-index: 1;
}
.scroll-parts__block-inner {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.scroll-parts__logo {
  position: absolute;
  top: 10%;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 2;
  width: 37.323943662vw;
}
@media screen and (max-width: 959px) {
  .scroll-parts__logo {
    width: min(90vw, 500px);
    top: 12%;
  }
}
.scroll-parts__logo img {
  width: 100%;
}
.scroll-parts__en-title {
  font-size: 1.549vw;
  font-weight: 200;
  font-family: "Crimson Pro", serif;
  font-style: italic;
}
@media (max-width: 959px) {
  .scroll-parts__en-title {
    font-size: 2.667vw;
  }
}
@media (min-width: 1421px) {
  .scroll-parts__en-title {
    font-size: 1.549vw;
  }
}
@media screen and (max-width: 959px) {
  .scroll-parts__en-title {
    font-size: min(15vw, 12px);
  }
}
.scroll-parts__jp-title {
  font-size: max(30px, 3vw);
  font-weight: 200;
  margin-top: 1vw;
  line-height: 1.6;
}
@media screen and (max-width: 959px) {
  .scroll-parts__jp-title {
    font-size: min(20vw, 24px);
  }
}
.scroll-parts__line {
  position: relative;
  z-index: 1;
  margin: 1vw 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5vw;
  height: 5vw;
  margin: 1.5vw auto;
}
@media screen and (max-width: 959px) {
  .scroll-parts__line {
    margin: min(40px, 30vw) auto;
    width: 8vw;
    height: 2vw;
  }
}
.scroll-parts__line .scroll-parts-line-inner {
  display: block;
  width: 100%;
  height: 1px;
  margin: auto;
  opacity: 0;
  transform: rotate(90deg);
  background-color: #fff;
}
.scroll-parts__text-block {
  position: relative;
  max-inline-size: -moz-max-content;
  max-inline-size: max-content;
  margin-inline: auto;
  opacity: 0;
}
.scroll-parts__text-block.bottom {
  padding-right: 2vw;
}
@media screen and (max-width: 959px) {
  .scroll-parts__text-block.bottom {
    padding-right: 0;
  }
}
.scroll-parts__text-block-sub {
  font-weight: 200;
  position: absolute;
  margin-left: 8vw;
  top: 35%;
  left: 0;
  width: 100%;
  width: 9.5070422535vw;
}
@media screen and (max-width: 959px) {
  .scroll-parts__text-block-sub {
    width: 24vw;
    position: relative;
    top: inherit;
    left: inherit;
    margin: inherit;
    transform: inherit;
    margin-top: 4vw;
    margin-left: 0;
  }
}
.scroll-parts__img {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: auto;
  width: 35.2112676056vw;
  z-index: -1;
}
@media screen and (max-width: 959px) {
  .scroll-parts__img {
    width: 80vw;
  }
}

.project-font {
  font-family: "Crimson Pro", serif;
  font-style: italic;
}

.pin-spacer {
  pointer-events: none;
}
.pin-spacer .btn {
  pointer-events: auto;
}
.pin-spacer .footer {
  pointer-events: auto;
}

@media screen and (max-width: 959px) {
  .text-adjust--sp {
    text-align: left;
    font-feature-settings: "halt";
  }
}

.text-scale-fade-in {
  display: inline-block;
  transform-origin: bottom left;
  transform: rotateX(90deg) skewX(-80deg) translateY(0);
  opacity: 0;
  will-change: transform, opacity;
  -webkit-font-smoothing: antialiased;
}

.image-parallax {
  overflow: hidden;
  will-change: transform;
}

.image-parallax-group {
  position: relative;
  z-index: 0;
}
.image-parallax-group img {
  margin: auto;
}

.img-block__wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 2vw;
  margin: 0 4vw;
}
@media screen and (max-width: 959px) {
  .img-block__wrap {
    grid-template-columns: 1fr;
    gap: 6vw;
  }
}
@media screen and (max-width: 375px) and (max-height: 767px) and (orientation: portrait) {
  .img-block__wrap {
    gap: 3vw;
  }
}
@media screen and (max-width: 375px) and (max-height: 667px) and (orientation: portrait) {
  .img-block__wrap {
    gap: 3vw;
  }
}
.img-block__img img {
  width: 100%;
}
.img-block__text {
  margin-top: 0.5vw;
  position: relative;
  z-index: 11;
}
@media screen and (max-width: 959px) {
  .img-block__box {
    width: 35vw;
    margin: auto;
  }
}/*# sourceMappingURL=style.css.map */