@charset "UTF-8";
/* ===================================================================
CSS information

file name  : copy.css
author     : Abilive
style info : コピー
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 汎用設定
=================================================================== */
.l-header__title .u-font-size--64 {
  letter-spacing: 0.1em;
}

.img img {
  width: auto;
}

.c-intro--pt {
  position: relative;
}
.c-intro--pt__inner {
  position: relative;
  z-index: 1;
}
.c-intro--pt::before {
  content: "";
  position: absolute;
  left: 0;
  top: -14rem;
  width: 100%;
  height: 100%;
  background: url(./../../concept/images/pt_dot.webp) top left no-repeat;
  background-size: contain;
}

.p-inter {
  background: url(./../../concept/images/bg_inter.webp) center top -12em no-repeat;
}
@media only screen and (min-width: 1025px) {
  .p-inter {
    padding-top: calc(122 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-inter {
    padding-top: calc(90 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-inter {
    padding-top: calc(90 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 1025px) {
  .p-inter {
    padding-bottom: calc(115 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-inter {
    padding-bottom: calc(90 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-inter {
    padding-bottom: calc(90 / var(--parent-font-size) * 1rem);
  }
}
.p-inter .inner {
  width: 90%;
  max-width: 1100px;
  margin-inline: auto;
}
@media only screen and (min-width: 1441px) {
  .p-inter .inner {
    max-width: calc(1100 / 1440 * 100%);
  }
}
.p-inter .inner .img_ic {
  margin-bottom: calc(37 / var(--parent-font-size) * 1rem);
}
@media only screen and (min-width: 768px) {
  .p-inter .inner .c-title--reverse {
    margin: calc(65 / var(--parent-font-size) * 1rem) 0 calc(40 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-inter .inner .c-title--reverse {
    margin: calc(65 / var(--parent-font-size) * 1rem) 0 calc(40 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-inter .inner .c-title__jp {
    line-height: 1.6;
  }
}
.p-inter .inner .c-anchor {
  margin-top: calc(80 / var(--parent-font-size) * 1rem);
}
@media only screen and (max-width: 767px) {
  .p-inter .inner .c-anchor {
    margin-top: calc(60 / var(--parent-font-size) * 1rem);
  }
}

.p-harmony {
  background: url(./../../concept/images/bg_white.webp) center top no-repeat;
}
@media only screen and (min-width: 1025px) {
  .p-harmony {
    padding-top: calc(180 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-harmony {
    padding-top: calc(100 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-harmony {
    padding-top: calc(70 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 1025px) {
  .p-harmony {
    padding-bottom: calc(142 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-harmony {
    padding-bottom: calc(90 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-harmony {
    padding-bottom: calc(70 / var(--parent-font-size) * 1rem);
  }
}
.p-harmony .c-stnumber span {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #ffffff 100%), linear-gradient(0deg, rgba(18, 14, 13, 0.2), rgba(18, 14, 13, 0.2)), url(./../../concept/images/bg_num.png);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  font-size: calc(var(--target-font-size) / var(--parent-font-size) * 1rem);
  letter-spacing: -0.05em;
}
@media only screen and (min-width: 1025px) {
  .p-harmony .c-stnumber span {
    --target-font-size: 48;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-harmony .c-stnumber span {
    --target-font-size: 40;
  }
}
@media only screen and (max-width: 767px) {
  .p-harmony .c-stnumber span {
    --target-font-size: 37;
  }
}
.p-harmony .inner {
  width: 90%;
  margin-inline: auto;
}
.p-harmony .inner .c-title {
  margin-top: calc(10 / var(--parent-font-size) * 1rem);
  margin-bottom: calc(30 / var(--parent-font-size) * 1rem);
}
.p-harmony .inner .c-title__jp {
  color: #1b1b1b;
}
.p-harmony .inner .c-txt {
  color: #4a4a4a;
}
.p-harmony__list {
  margin-top: calc(60 / var(--parent-font-size) * 1rem);
}
.p-harmony__list .swiper-wrapper {
  transition-timing-function: linear;
}
.p-harmony__list .swiper-wrapper .swiper-slide {
  margin: 0 4px;
}
.p-harmony .c-slider__pagination {
  display: none;
}
.p-harmony .c-slider__pause svg {
  fill: #777777 !important;
}

.p-wabi .img_bn {
  width: calc(1400 / 1440 * 100%);
}
.p-wabi .c-stnumber {
  margin-bottom: calc(10 / var(--parent-font-size) * 1rem);
}
.p-wabi .c-stnumber span {
  background: linear-gradient(180deg, rgba(18, 14, 13, 0) 0%, #120e0d 100%), linear-gradient(0deg, rgba(18, 14, 13, 0.2), rgba(18, 14, 13, 0.2)), url(./../../concept/images/bg_num.png);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  font-size: calc(var(--target-font-size) / var(--parent-font-size) * 1rem);
  letter-spacing: -0.05em;
}
@media only screen and (min-width: 1025px) {
  .p-wabi .c-stnumber span {
    --target-font-size: 48;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-wabi .c-stnumber span {
    --target-font-size: 40;
  }
}
@media only screen and (max-width: 767px) {
  .p-wabi .c-stnumber span {
    --target-font-size: 37;
  }
}
.p-wabi .c-intro {
  margin-top: calc(-54 / var(--parent-font-size) * 1rem);
  margin-right: 0;
  position: relative;
}
@media only screen and (min-width: 1025px) {
  .p-wabi .c-intro {
    padding-bottom: calc(320 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-wabi .c-intro {
    padding-bottom: calc(300 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-wabi .c-intro {
    padding-bottom: calc(120 / var(--parent-font-size) * 1rem);
  }
}
.p-wabi .c-intro__inner {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .p-wabi .c-intro__inner {
    margin-left: auto !important;
    margin-right: 0 !important;
  }
}
.p-wabi .c-intro::before {
  content: "";
  position: absolute;
  right: calc(242 / var(--parent-font-size) * 1rem);
  top: calc(54 / var(--parent-font-size) * 1rem);
  width: calc(340 / var(--parent-font-size) * 1rem);
  aspect-ratio: 340/771;
  background: url(./../../concept/images/pt_lea.svg) left top;
  background-size: cover;
  mix-blend-mode: soft-light;
  max-width: 24%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-wabi .c-intro::before {
    right: calc(100 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-wabi .c-intro::before {
    right: 5em;
    max-width: 30%;
  }
}
.p-wabi .c-intro::after {
  content: "";
  position: absolute;
  left: calc(104 / var(--parent-font-size) * 1rem);
  width: calc(366 / var(--parent-font-size) * 1rem);
  aspect-ratio: 366/348;
  background: url(./../../concept/images/pt_lea-s.svg) left top;
  background-size: cover;
  mix-blend-mode: soft-light;
  max-width: 30%;
}
@media only screen and (min-width: 1025px) {
  .p-wabi .c-intro::after {
    bottom: calc(154 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-wabi .c-intro::after {
    top: 28%;
  }
}
@media only screen and (max-width: 767px) {
  .p-wabi .c-intro::after {
    top: 17%;
    left: 3em;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-wabi .c-intro .c-intro__text {
    margin-top: calc(100 / var(--parent-font-size) * 1rem);
  }
}
.p-wabi .c-intro .c-intro__text__text {
  margin-top: calc(30 / var(--parent-font-size) * 1rem);
}

.p-spatial {
  background: url(./../../concept/images/bg_spatial.webp) center top no-repeat;
  background-size: cover;
  width: calc(1400 / 1440 * 100%);
  margin-inline: auto;
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 1025px) {
  .p-spatial {
    padding-bottom: calc(15 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-spatial {
    padding-bottom: calc(15 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-spatial {
    padding-bottom: calc(15 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-spatial {
    width: 100%;
  }
}
.p-spatial .inner {
  width: calc(1220 / 1400 * 100%);
  margin-inline: auto;
}
@media only screen and (max-width: 767px) {
  .p-spatial .inner {
    width: 100%;
    margin-left: auto;
    margin-right: 0;
  }
}
.p-spatial__in {
  width: calc(1187 / 1220 * 100%);
  position: relative;
}
@media only screen and (min-width: 1025px) {
  .p-spatial__in {
    top: calc(-150 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-spatial__in {
    top: calc(-100 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-spatial__in {
    top: calc(-50 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-spatial__in {
    width: 100%;
    margin-left: auto;
    margin-right: 0;
  }
}
@media only screen and (min-width: 768px) {
  .p-spatial__top {
    width: calc(790 / 1187 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .p-spatial__top {
    width: 90%;
  }
}
@media only screen and (min-width: 768px) {
  .p-spatial__top {
    position: relative;
    z-index: 1;
  }
}
@media only screen and (max-width: 767px) {
  .p-spatial__top {
    margin-inline: auto;
  }
}
.p-spatial__bot {
  margin-right: 0;
  margin-left: auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
@media only screen and (min-width: 1025px) {
  .p-spatial__bot {
    margin-top: calc(-77 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-spatial__bot {
    margin-top: calc(-50 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-spatial__bot {
    margin-top: calc(-30 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (min-width: 768px) {
  .p-spatial__bot {
    width: calc(1055 / 1187 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .p-spatial__bot {
    width: 95%;
  }
}
@media only screen and (max-width: 1024px) {
  .p-spatial__bot {
    align-items: flex-start;
  }
}
@media only screen and (min-width: 768px) {
  .p-spatial__bot .img {
    width: calc(564 / 1055 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .p-spatial__bot .img {
    width: calc(564 / 1055 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .p-spatial__bot__text {
    width: calc(400 / 1055 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .p-spatial__bot__text {
    width: calc(564 / 1055 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-spatial__bot__text {
    padding-top: calc(100 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p-spatial__bot__text {
    padding-top: calc(60 / var(--parent-font-size) * 1rem);
  }
}
.p-spatial__bot__text .c-stnumber {
  margin-bottom: calc(5 / var(--parent-font-size) * 1rem);
}
.p-spatial__bot__text .c-stnumber span {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #ffffff 100%), linear-gradient(0deg, rgba(18, 14, 13, 0.2), rgba(18, 14, 13, 0.2)), url(./../../concept/images/bg_num.png);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  font-size: calc(var(--target-font-size) / var(--parent-font-size) * 1rem);
  letter-spacing: -0.05em;
}
@media only screen and (min-width: 1025px) {
  .p-spatial__bot__text .c-stnumber span {
    --target-font-size: 48;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .p-spatial__bot__text .c-stnumber span {
    --target-font-size: 40;
  }
}
@media only screen and (max-width: 767px) {
  .p-spatial__bot__text .c-stnumber span {
    --target-font-size: 37;
  }
}
.p-spatial__bot__text__title {
  color: #1b1b1b;
}
.p-spatial__bot__text .c-txt {
  margin-top: calc(30 / var(--parent-font-size) * 1rem);
  color: #4a4a4a;
}
@media only screen and (max-width: 767px) {
  .p-spatial__bot__text .c-txt {
    margin-top: calc(20 / var(--parent-font-size) * 1rem);
  }
}

.c-topage {
  width: calc(1400 / 1440 * 100%);
  margin-left: auto;
  margin-right: 0;
  background: url(./../../concept/images/bg_topage.webp);
  background-size: cover;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .c-topage {
    width: 100%;
  }
}
.c-topage::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: calc(366 / var(--parent-font-size) * 1rem);
  aspect-ratio: 366/647;
  background: url(./../../concept/images/pt_lea-link.svg) left top;
  background-size: cover;
  mix-blend-mode: soft-light;
}
.c-topage .inner {
  margin-inline: auto;
  width: calc(1300 / 1400 * 100%);
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 1025px) {
  .c-topage .inner {
    padding: calc(180 / var(--parent-font-size) * 1rem) 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-topage .inner {
    padding: calc(100 / var(--parent-font-size) * 1rem) 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-topage .inner {
    padding: calc(80 / var(--parent-font-size) * 1rem) 0;
  }
}
.c-topage__list {
  display: flex;
  flex-wrap: wrap;
  width: calc(1260 / 1300 * 100%);
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-topage__list {
    justify-content: space-between;
    row-gap: calc(50 / var(--parent-font-size) * 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .c-topage__list {
    row-gap: calc(50 / var(--parent-font-size) * 1rem);
    width: 100%;
  }
}
@media only screen and (min-width: 1025px) {
  .c-topage__list .c-topage__item:not(:last-child) {
    margin-right: calc(4 / 1260 * 100%);
  }
}
.c-topage__item {
  text-decoration: none;
}
@media only screen and (min-width: 1025px) {
  .c-topage__item {
    width: calc(312 / 1260 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-topage__item {
    width: 48%;
  }
}
@media only screen and (max-width: 767px) {
  .c-topage__item {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .c-topage__item {
    display: flex;
    gap: 0.5rem;
  }
  .c-topage__item .img {
    width: 40%;
    flex-shrink: 0;
  }
}
.c-topage__item__info {
  padding: calc(20 / var(--parent-font-size) * 1rem) calc(30 / var(--parent-font-size) * 1rem) 0;
}
@media only screen and (min-width: 1025px) {
  .c-topage__item__info {
    padding: calc(20 / var(--parent-font-size) * 1rem) calc(30 / var(--parent-font-size) * 1rem) 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-topage__item__info {
    padding: calc(20 / var(--parent-font-size) * 1rem) calc(10 / var(--parent-font-size) * 1rem) 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-topage__item__info {
    padding: 0 calc(10 / var(--parent-font-size) * 1rem) 0;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1199px) {
  .c-topage__item__info {
    padding-left: 0.5em;
    padding-right: 0.5em;
  }
  .c-topage__item__info .c-title__en {
    letter-spacing: 0.1em;
  }
}
.c-topage__item__info .c-txt {
  margin: calc(16 / var(--parent-font-size) * 1rem) 0;
}
.c-topage__item__info .c-arrow-btn {
  margin-left: auto;
}
