@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Homemade+Apple&family=Jost:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Outfit:wght@100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");

/* =========================
    base
========================= */
:root {
  --color00: #313131;
  --color01: #f5b1c0;
  --color02: #72bb6b;
  --color03: #6ec4cb;
  --color04: #f8f4f4;
  --color05: #eae2e3;
  --color06: #d37589;
  --color07: #db9277;
  --color08: #dcbd77;
  --color09: #d0c0c2;
  --ff01: "Noto Sans JP", sans-serif;
  --ff02: "Jost", sans-serif;
  --ff03: "Homemade Apple", cursive;
  --ff04: "Poppins", sans-serif;
  --ff99: "font awesome 5 free";
}

html {
  font-family: var(--ff01);
  color: var(--color00);
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.text {
  font-size: 14px;
  line-height: 2.5;
}

.date {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-weight: 500;
  font-size: 14px;
}

.w-txt {
  overflow-wrap: anywhere;
  word-break: keep-all;
}

@media(max-width:599px) {
  .text {
    line-height: 2;
  }
}

[data-element-id] .date {
  -ms-flex-negative: 1;
  flex-shrink: 1;
}

/*===================================
  基本設定
===================================*/
.color-cmn-01 {
  color: var(--color01);
}

.color-cmn-02 {
  color: var(--color02);
}

.color-cmn-03 {
  color: var(--color03);
}

.color-cmn-04 {
  color: var(--color04);
}

.color-cmn-05 {
  color: var(--color05);
}

/* bgc */
.bgc--primary {
  background-color: var(--color04);
}

.bgc-cmn-02 {
  background-color: var(--color02);
}

.bgc-cmn-03 {
  background-color: var(--color03);
}

.bgc-cmn-04 {
  background-color: var(--color04);
}

.bgc-cmn-05 {
  background-color: var(--color05);
}

.bgc-cmn-parts1 {
  position: relative;
}

.bgc-cmn-parts1::before {
  content: "";
  width: 30%;
  height: 100%;
  display: block;
  background-color: var(--color04);
  position: absolute;
  top: 0;
  left: 0;
}

.bgc-cmn-parts2 {
  position: relative;
}

.bgc-cmn-parts2::before {
  content: "";
  width: 30%;
  height: 100%;
  display: block;
  background-image: url('/import/tenant_1/162.43.19.177/html/images/texture_1.webp');
  background-repeat: repeat;
  background-color: var(--color04);
  position: absolute;
  top: 0;
  right: 0;
}

@media(max-width:1024px) {
  .bgc-cmn-parts1::before {
    width: 15%;
  }

  .bgc-cmn-parts2::before {
    width: 15%;
  }
}

@media(max-width:599px) {
  .bgc-cmn-parts1::before {
    width: 13%;
  }
}

.bg-cmn-parts1 {
  position: relative;
}

.bg-cmn-parts1::before {
  content: "";
  width: 404px;
  display: block;
  background-image: url('/import/tenant_1/162.43.19.177/html/images/paint_4.webp');
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0px;
  left: 0px;

  aspect-ratio: 404 / 319;
}

.bg-cmn-parts1 .inner {
  position: relative;
  z-index: 2;
}

@media(max-width:1024px) {
  .staff__section::before {
    width: 300px;
  }
}

@media(max-width:599px) {
  .staff__section::before {
    width: 220px;
  }
}

.marker-under {
  display: inline;
  padding: 0 1px 0px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, var(--color01)));
  background: linear-gradient(transparent 60%, var(--color01) 0%);
}

/* bgi */
.bgi-primary {
  position: relative;
}

.bgi00 {
  width: 100%;
  height: 100%;
  opacity: 0.2;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.bgi00+* {
  position: relative;
  z-index: 2;
}

@media(max-width:1024px) {}

/* font */
.font-cmn-01 {
  font-family: var(--ff01);
}

.font-cmn-02 {
  font-family: var(--ff02);
}

.font-cmn-03 {
  font-family: var(--ff03);
}

/* hover */
.hover-img-box a:hover {
  opacity: 1;
}

.hover-img-box .img {
  overflow: hidden;
}

.hover-img-box .img img {
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.hover-img-box a:hover .img img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/* list-cmn */
.list-cmn-01 .list-cmn-01__item+.list-cmn-01__item {
  margin-top: 10px;
}

.list-cmn-01 .list-cmn-01__item {
  padding-left: 1.2rem;
  font-weight: 500;
  line-height: 1.8;
  position: relative;
}

.list-cmn-01__item::before {
  content: "";
  width: 9px;
  display: block;
  border-radius: 50%;
  background-color: var(--color01);
  position: absolute;
  top: 9px;
  left: 2px;

  aspect-ratio: 1;
}

.list-cmn-point {
  padding: 20px;
  border: 3px solid var(--color05);
  border-radius: 5px;
  background-color: var(--color04);
}

.list-cmn-point .point {
  font-family: var(--ff02);
  font-size: 20px;
  color: var(--color06);
  line-height: 1;
}

/* section-title */
.section-title--primary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.section-title--primary .section-title__en {
  font-family: var(--ff02);
  font-weight: 500;
  font-size: 46px;
  line-height: 1;
}

.section-title--primary .section-title__ja {
  font-size: 18px;
}

.section-title--center {
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
}

@media(max-width:1024px) {
  .section-title--primary .section-title__en {
    font-size: 42px;
  }
}

@media(max-width:599px) {
  .section-title--primary .section-title__en {
    font-size: 40px;
  }

  .section-title--primary--sm .section-title__en {
    font-size: 36px;
  }

  .section-title--primary .section-title__ja {
    font-size: 16px;
  }
}

/* product */
.product__item-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.product__section .product__slider-option .swiper-button-next,
.product__section .product__slider-option .swiper-button-prev {
  width: 60px !important;
  height: 40px !important;
  padding: 15px 15px 15px 17px !important;
  color: #fff !important;
  background: var(--color06);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  z-index: 2;
}

.product__section .product__slider-option .swiper-button-next {
  right: -80px;
}

.product__section .product__slider-option .swiper-button-prev {
  left: -80px;
}

.product__section .product__slider-option .swiper-button-next::after,
.product__section .product__slider-option .swiper-button-prev::after {
  font-size: 12px;
}

.product__section .product__slider-option .swiper-button-next:hover,
.product__section .product__slider-option .swiper-button-prev:hover {
  color: #fff !important;
  background: var(--color01) !important;
}

@media(max-width:599px) {
  .product__slider {
    padding: 0 20px;
  }

  .product__section .product__slider-option .swiper-button-next,
  .product__section .product__slider-option .swiper-button-prev {
    width: 45px !important;
    height: 35px !important;
    padding: 17px 17px 15px 17px !important;
    top: 30%;
  }

  .product__section .product__slider-option .swiper-button-next {
    right: 0px;
  }

  .product__section .product__slider-option .swiper-button-prev {
    left: 0px;
  }

  .product__item-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* staff */
.staff__content {
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

a:hover .staff__content {
  color: var(--color06);
}

.staff__job {
      width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 15px auto 5px;
    padding-bottom: 10px;
    font-size: 12px;
    position: relative;
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    justify-content: center;
}

.staff__job::before {
  content: "";
  width: 50px;
  height: 1px;
  display: block;
  border: 1px dashed #7c7c7c;
  -webkit-transform: translateX(-50%) scale(0.8);
  transform: translateX(-50%) scale(0.8);
  position: absolute;
  bottom: 0;
  left: 50%;
}

.staff__job span+span::before {
  content: "/";
  margin: 0 3px;
}

a:hover .staff__content .staff__job::before {
  border-color: var(--color06);
}

.staff__name {
  font-weight: 500;
  text-align: center;
}

.staff__kana {
  margin-top: 5px;
  font-size: 10px;
  text-align: center;
}


.staff__section .staff__slider-option {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: auto;

  gap: 10px;
}

.staff__section .staff__slider-option .swiper-button-next,
.staff__section .staff__slider-option .swiper-button-prev {
  width: 60px !important;
  height: 40px !important;
  padding: 15px 15px 15px 17px !important;
  color: #fff !important;
  background: var(--color06);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
}

.staff__section .staff__slider-option .swiper-button-next::after,
.staff__section .staff__slider-option .swiper-button-prev::after {
  font-size: 12px;
}

.staff__section .staff__slider-option .swiper-button-next:hover,
.staff__section .staff__slider-option .swiper-button-prev:hover {
  color: #fff !important;
  background: var(--color01) !important;
}

.staff__section .staff__slider-option .swiper-button-prev {
  padding: 15px 17px 15px 15px !important;
  left: auto;
  right: auto;
}

.staff__info {
  margin-top: 10px;
  padding-bottom: 1px;
  background-color: var(--color05);
}

.staff-profile__toggle {
  padding: 5px 10px;
  font-family: var(--ff02);
  text-align: center;
  position: relative;
}

.staff-profile__toggle::before,
.staff-profile__toggle::after {
  content: "";
  width: 13px;
  height: 1px;
  background-color: var(--color00);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  position: absolute;
  top: 50%;
  right: 10px;
}

.staff-profile__toggle::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.staff-profile__toggle.is-parent::after {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

.staff-profile__list {
  display: none;
  margin: 0 10px 10px;
  padding: 10px;
  background-color: #fff;
}

.staff-profile__term {
  padding: 5px 5px 5px 10px;
  font-weight: 600;
  font-size: 12px;
  color: var(--color06);
  background-color: var(--color04);
}

.staff-profile__desc {
  padding: 5px 5px 5px 10px;
  font-weight: 500;
  font-size: 12px;
}

.staff-profile__item--btn {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed var(--color09);
}

.staff-profile__item--btn a {
  display: block;
  padding: 5px 10px;
  font-weight: 500;
  font-size: 15px;
  color: #fff;
  text-align: center;
  border: 2px solid var(--color06);
  border-radius: 3px;
  background-color: var(--color06);
}

.staff-profile__item--btn a:hover {
  color: var(--color06);
  background-color: #fff;
  opacity: 1;
}

@media(max-width:1024px) {}

@media(max-width:599px) {
  .staff__section .staff__slider-option {
    margin-top: 50px;
    margin-right: auto;
  }

  .staff__section .staff__slider-option .swiper-button-next,
  .staff__section .staff__slider-option .swiper-button-prev {
    width: 45px !important;
    height: 35px !important;
    padding: 15px 17px 15px 17px !important;
  }
}

/* gallery */
.gallery__section .gallery__slider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  align-items: flex-end;
  -ms-flex-align: end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.gallery__slider-option {
  width: 120px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-right: 50px;
}

.gallery__section .swiper-pagination {
  font-family: var(--ff02);
  font-size: 20px;
  color: #a7a7a7;
  position: relative;
}

.gallery__section .swiper-pagination-current,
.gallery__section .swiper-pagination-total {
  margin: 0 5px;
}

.gallery__section .swiper-pagination-current {
  color: var(--color06);
}

.gallery__section .swiper-button-next,
.gallery__section .swiper-button-prev {
  width: auto !important;
  height: auto !important;
  margin-top: -15px;
  padding: 0 !important;
  color: var(--color06) !important;
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
}

.gallery__section .swiper-button-next::after,
.gallery__section .swiper-button-prev::after {
  font-size: 12px !important;
}

.gallery__section .swiper-index-gallery {
  width: 100%;
}

.gallery__item a {
  position: relative;
}

.gallery__item a:hover {
  opacity: 1;
}

.gallery__item .gallery__content {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  visibility: hidden;
  padding: 10px;
  background: rgb(245 177 192 / 30%);
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  position: absolute;
  top: 0;
  left: 0;

  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  gap: 10px;
}

.gallery__item a:hover .gallery__content {
  visibility: visible;
  opacity: 1;
}

.filter__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 40px;
  font-family: var(--ff02);
  font-size: 20px;
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  column-gap: 40px;
}

.filter__list .filter__item {
  position: relative;
}

.filter__list .filter__item:not(:first-of-type)::before {
  content: "/";
  font-size: 12px;
  color: var(--color00) !important;
  position: absolute;
  top: 5px;
  right: calc(100% + 17px);
}

.filter__list .filter__item>a {
  position: relative;
}

.filter__list .filter__item>a:hover {
  color: var(--color06);
  opacity: 1;
}

.filter__list .filter__item>a::before,
.filter__list .filter__item>a::after {
  content: "";
  width: 1px;
  height: 1px;
  visibility: hidden;
  color: var(--color06);
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  position: absolute;
}

.filter__list .filter__item>a::before {
  border-top: 2px solid var(--color06);
  border-left: 2px solid var(--color06);
  top: -7px;
  left: -13px;
}

.filter__list .filter__item>a::after {
  border-bottom: 2px solid var(--color06);
  border-right: 2px solid var(--color06);
  bottom: -5px;
  right: -13px;
}

.filter__list .filter__item>a:hover::before,
.filter__list .filter__item>a:hover::after {
  width: calc(100% + 10px);
  height: 100%;
  visibility: visible;
  opacity: 1;
}

@media(max-width:1024px) {
  .gallery__item .gallery__content{
    display: none;
  }
}

@media(max-width:599px) {
  .gallery__section .gallery__slider {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }

  .gallery__slider-option {
    width: 120px;
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
  }

  .filter__list {
    margin-bottom: 30px;
    font-size: 15px;
    -webkit-column-gap: 15px;
    -moz-column-gap: 15px;
    column-gap: 15px;
  }

  .filter__list .filter__item:not(:first-of-type)::before {
    font-size: 10px;
    top: 4px;
    right: calc(100% + 5px);
  }

  .filter__list .filter__item>a::before,
  .filter__list .filter__item>a::after {
    content: none;
  }
}

.gallerty-detail__image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.gallerty-detail__image-main {
  width: calc(100% - 100px);
}

.gallerty-detail__image-sub {
  width: 90px;
}

.gallerty-detail__image-sub-item{
  cursor: pointer;
}

.gallerty-detail__image-sub-item+.gallerty-detail__image-sub-item {
  margin-top: 10px;
}

.gallerty-detail__title {
  margin: 0 0 20px;
  font-weight: 600;
  font-size: 22px;
}

.gallerty-detail__data-title {
  padding: 5px 10px 3px;
  font-family: var(--ff02);
  font-weight: 500;
  font-size: 18px;
  color: #fff;
  text-align: center;
  background-color: var(--color01);
}

.gallerty-detail__comment-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  font-family: var(--ff02);
  font-size: 22px;
  color: var(--color01);

  gap: 10px;
  position: relative;
}

.gallerty-detail__comment-text {
  margin-top: 10px;
  padding: 20px;
  border-radius: 5px;
  background-color: var(--color05);
  position: relative;
}

.gallerty-detail__comment-text::before {
  content: "";
  width: 10px;
  height: 5px;
  display: block;
  background-color: var(--color05);
  position: absolute;
  bottom: 100%;
  left: 25px;

  -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

.gallerty-detail__comment-img {
  font-size: 10px;
  letter-spacing: 0;
  color: var(--color00);
  text-align: center;
  font-weight: 500;
  position: relative;
}

.gallerty-detail__comment-img::before {
    content: "\f118";
    font-family: var(--ff99);
    font-size: 38px;
    line-height: 1;
    position: absolute;
    top: 10px;
    left: 15px;
    color: var(--color06);
}

.gallerty-detail__comment-img .img{
  width: 60px;
}

.gallerty-detail__data-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: baseline;
  margin-top: 10px;
  padding: 0 10px;
  z-index: 2;
}

.gallerty-detail__data-term {
  width: 110px;
  margin-right: 10px;
  padding: 5px;
  font-weight: 600;
  color: var(--color01);
  line-height: 1;
  text-align: center;
  border: 1px solid;
  border-radius: 100px;
  position: relative;
  flex-shrink: 0;
}

@media(max-width:1024px) {

  .gallery-list--recommendation .gallery__item:nth-of-type(5),
  .gallery-list--recommendation .gallery__item:nth-of-type(6) {
    display: none;
  }
}

@media(max-width:599px) {
  .gallerty-detail__image-main {
    width: calc(100% - 80px);
  }

  .gallerty-detail__image-sub {
    width: 70px;
  }

  .gallerty-detail__title {
    margin: 20px 0 20px;
    font-size: 20px;
  }

  .gallerty-detail__data-title {
    font-size: 14px;
  }

  .gallery-list--recommendation .gallery__item:nth-of-type(5),
  .gallery-list--recommendation .gallery__item:nth-of-type(6) {
    display: block;
  }
}


/* article */

.article__section::after {
  content: "";
  width: 120px;
  display: block;
  background-image: url('/import/tenant_1/162.43.19.177/html/images/paint_3.webp');
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  right: 0;

  aspect-ratio: 121 / 178;
}

.article__item {
  width: 100%;
  height: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
}

.article__item a{
  width: 100%;
}

.article__item+.article__item {
  margin-top: 30px;
}

.article__item .article__title {
  font-weight: 500;
}

.article__item a:hover {
  opacity: 1;
}

.article__item a:hover .article__title {
  text-decoration: underline;
}

.article__item .article__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  gap: 10px;
}

.article__group--blog .article__item-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.article__group--blog .article__img {
  width: 80px;
}

.article__group--blog .article__content {
  width: calc(100% - 100px);
}

@media(max-width:1024px) {
  .article__section::after {
    width: 80px;
    bottom: 20px;
  }
}

@media(max-width:599px) {
  .article__section::after {
    width: 60px;
  }

  .article__group+.article__group {
    margin-top: 60px;
  }
}

/* recruit */
.recruit__section {
  background: #f0f2f6;
}

.recruit__section .bgi00 {
  width: 50%;
  opacity: 1;
  left: auto;
  right: 0;
}

@media(max-width:1024px) {}

@media(max-width:599px) {
  .recruit__section .bgi00 {
    width: 100%;
    opacity: 0.2;
  }
}

/* sub-cmn */
.heading-md {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 500;
  font-size: 22px;
  line-height: 2;
  letter-spacing: 3px;
}

@media(max-width:1024px) {
  .heading-md {
    line-height: 1.8;
  }
}

@media(max-width:599px) {
  .heading-md {
    font-size: 18px;
    letter-spacing: 1px;
  }
}

.mt-md {
  margin-top: 50px;
}

.mt-sm {
  margin-top: 30px;
}

.mt-xsm {
  margin-top: 20px;
}

@media(max-width:1024px) {
  .mt-xsm {
    margin-top: 10px;
  }
}

@media(max-width:599px) {
  .mt-md {
    margin-top: 30px;
  }

  .mt-sm {
    margin-top: 20px;
  }

  .mt-xsm {
    margin-top: 10px;
  }
}

/* btn-pattern */
.btn--primary {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.btn--primary a,
.btn--primary button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  font-family: var(--ff02);
  font-weight: 500;
  text-align: center;
  background: var(--color05);
  position: relative;
}

.btn--primary.-white a {
  background-color: #fff;
}

.btn--primary a::before,
.btn--primary button::before {
  border-top: 2px solid;
  border-left: 2px solid;
  top: 0;
  left: 0;
}

.btn--primary a::after,
.btn--primary button::after {
  border-bottom: 2px solid;
  border-right: 2px solid;
  bottom: 0;
  right: 0;
}

.btn--primary a::before,
.btn--primary a::after,
.btn--primary button::before,
.btn--primary button::after {
  content: "";
  width: 0;
  height: 0;
  border-color: var(--color09);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  position: absolute;
}

.btn--primary a:hover,
.btn--primary button:hover {
  opacity: 1;
}

.btn--primary a:hover::before,
.btn--primary a:hover::after,
.btn--primary button:hover::before,
.btn--primary button:hover::after {
  width: calc(100% - 100px);
  height: calc(100% - 5px);
}

@media(max-width:599px) {

  .btn--primary a,
  .btn--primary button {
    font-size: 15px;
  }

  .btn--primary a::before,
  .btn--primary a::after,
  .btn--primary button::before,
  .btn--primary button::after {
    width: calc(100% - 100px);
    height: calc(100% - 5px);
  }
}

.btn--secondary a {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-family: var(--ff02);
  font-weight: 500;
  color: #fff;
  text-align: center;
  background: var(--color05);
  position: relative;

  gap: 10px;
  border: 2px solid;
}

.btn--secondary a:hover{
  opacity: 1;
}

.btn--secondary a::before {
  content: "";
  width: 25px;
  height: 22px;
  display: block;
}

.btn--secondary.-contact a {
  background-color: var(--color02);
  border-color: var(--color02);
}

.btn--secondary.-reserve a {
  background-color: var(--color01);
  border-color: var(--color01);
}

.btn--secondary.-shop a {
  background-color: var(--color03);
  border-color: var(--color03);
}

.btn--secondary.-access a{
  background-color: var(--color06);
  border-color: var(--color06);
  width: 100%;
}

.btn--secondary.-contact a:hover {
  background-color: #fff;
  color: var(--color02);
}

.btn--secondary.-reserve a:hover {
  background-color: #fff;
  color: var(--color01);
}

.btn--secondary.-shop a:hover {
  background-color: #fff;
  color: var(--color03);
}

.btn--secondary.-access a:hover {
  background-color: #fff;
  color: var(--color06);
}

.btn--secondary.-contact a::before {
  background-image: url('/import/tenant_1/162.43.19.177/html/images/icon-mail.webp');

  aspect-ratio: 32/24;
}

.btn--secondary.-contact a:hover::before{
 /* -webkit-filter: brightness(0) saturate(100%) invert(66%) sepia(31%) saturate(557%) hue-rotate(67deg) brightness(94%) contrast(91%);
  filter: brightness(0) saturate(100%) invert(66%) sepia(31%) saturate(557%) hue-rotate(67deg) brightness(94%) contrast(91%); */
  
  background-image: url('/upload/tenant_1/icon-mail_green.webp');
}

.btn--secondary.-reserve a::before {
  background-image: url('/import/tenant_1/162.43.19.177/html/images/icon-schedule.webp');
  -webkit-transform: translateY(-2px);
  transform: translateY(-2px);

  aspect-ratio: 29/31;
}

.btn--secondary.-reserve a:hover::before{
  /* -webkit-filter: brightness(0) saturate(100%) invert(99%) sepia(91%) saturate(4506%) hue-rotate(286deg) brightness(105%) contrast(92%);
  filter: brightness(0) saturate(100%) invert(99%) sepia(91%) saturate(4506%) hue-rotate(286deg) brightness(105%) contrast(92%); */
  
  background-image: url('/upload/tenant_1/icon-schedule_pink.webp');
}

.btn--secondary.-shop a::before {
  background-image: url('/import/tenant_1/162.43.19.177/html/images/icon-cart.webp');

  aspect-ratio: 34/30;
}

.btn--secondary.-shop a:hover::before{
  /* -webkit-filter: brightness(0) saturate(100%) invert(84%) sepia(74%) saturate(908%) hue-rotate(158deg) brightness(84%) contrast(86%);
  filter: brightness(0) saturate(100%) invert(84%) sepia(74%) saturate(908%) hue-rotate(158deg) brightness(84%) contrast(86%); */
  
  background-image: url('/upload/tenant_1/icon-cart_blue.webp');
}

.btn--secondary.-access a::before {
  background-image: url('/upload/tenant_1/map-icon.webp');

  aspect-ratio: 132/150;
}

.btn--secondary.-access a:hover::before{
  background-image: url('/upload/tenant_1/map-icon_pink.webp');
}

.btn--secondary a::before {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* btn--size */
.btn--large {
  width: 100%;
}

.btn--large a,
.btn--large button {
  width: 100%;
  display: block;
  padding: 15px 30px;
}

.btn--medium a,
.btn--medium button {
  min-width: 300px;
  padding: 15px;
}

.btn--small a,
.btn--small button {
  min-width: 170px;
  padding: 15px;
}

@media(max-width:599px) {

  .btn--medium a,
  .btn--medium button {
    min-width: 220px;
    padding: 12px;
  }
}

/* indent-cmn */
.indent-cmn-01 {
  padding-left: 1em;
  line-height: 1.8;
  text-indent: -1em;
}

/* 共通コンテンツ間隔 */
[class*="section-m"],
[class*="section-p"] {
  --section-xlarge: 150px;
  --section-large: 120px;
  --section-medium: 100px;
  --section-small: 80px;
  --section-xsmall: 60px;
}

.section-my-xlarge {
  margin-top: var(--section-xlarge);
  margin-bottom: var(--section-xlarge);
}

.section-mt-xlarge {
  margin-top: var(--section-xlarge);
}

.section-mb-xlarge {
  margin-bottom: var(--section-xlarge);
}

.section-my-large {
  margin-top: var(--section-large);
  margin-bottom: var(--section-large);
}

.section-mt-large {
  margin-top: var(--section-large);
}

.section-mb-large {
  margin-bottom: var(--section-large);
}

.section-my-medium {
  margin-top: var(--section-medium);
  margin-bottom: var(--section-medium);
}

.section-mt-medium {
  margin-top: var(--section-medium);
}

.section-mb-medium {
  margin-bottom: var(--section-medium);
}

.section-my-small {
  margin-top: var(--section-small);
  margin-bottom: var(--section-small);
}

.section-mt-small {
  margin-top: var(--section-small);
}

.section-mb-small {
  margin-bottom: var(--section-small);
}

.section-my-xsmall {
  margin-top: var(--section-xsmall);
  margin-bottom: var(--section-xsmall);
}

.section-mt-xsmall {
  margin-top: var(--section-xsmall);
}

.section-mb-xsmall {
  margin-bottom: var(--section-xsmall);
}

@media (max-width: 1024px) {
  .section-my-xlarge {
    margin-top: calc(var(--section-xlarge) * 0.8);
    margin-bottom: calc(var(--section-xlarge) * 0.8);
  }

  .section-mt-xlarge {
    margin-top: calc(var(--section-xlarge) * 0.8);
  }

  .section-mb-xlarge {
    margin-bottom: calc(var(--section-xlarge) * 0.8);
  }

  .section-my-large {
    margin-top: calc(var(--section-large) * 0.8);
    margin-bottom: calc(var(--section-large) * 0.8);
  }

  .section-mt-large {
    margin-top: calc(var(--section-large) * 0.8);
  }

  .section-mb-large {
    margin-bottom: calc(var(--section-large) * 0.8);
  }

  .section-my-medium {
    margin-top: calc(var(--section-medium) * 0.8);
    margin-bottom: calc(var(--section-medium) * 0.8);
  }

  .section-mt-medium {
    margin-top: calc(var(--section-medium) * 0.8);
  }

  .section-mb-medium {
    margin-bottom: calc(var(--section-medium) * 0.8);
  }

  .section-my-small {
    margin-top: calc(var(--section-small) * 0.8);
    margin-bottom: calc(var(--section-small) * 0.8);
  }

  .section-mt-small {
    margin-top: calc(var(--section-small) * 0.8);
  }

  .section-mb-small {
    margin-bottom: calc(var(--section-small) * 0.8);
  }

  .section-my-xsmall {
    margin-top: calc(var(--section-xsmall) * 0.8);
    margin-bottom: calc(var(--section-xsmall) * 0.8);
  }

  .section-mt-xsmall {
    margin-top: calc(var(--section-xsmall) * 0.8);
  }

  .section-mb-xsmall {
    margin-bottom: calc(var(--section-xsmall) * 0.8);
  }
}

@media (max-width: 599px) {
  .section-my-xlarge {
    margin-top: calc(var(--section-xlarge) * 0.6);
    margin-bottom: calc(var(--section-xlarge) * 0.6);
  }

  .section-mt-xlarge {
    margin-top: calc(var(--section-xlarge) * 0.6);
  }

  .section-mb-xlarge {
    margin-bottom: calc(var(--section-xlarge) * 0.6);
  }

  .section-my-large {
    margin-top: calc(var(--section-large) * 0.6);
    margin-bottom: calc(var(--section-large) * 0.6);
  }

  .section-mt-large {
    margin-top: calc(var(--section-large) * 0.6);
  }

  .section-mb-large {
    margin-bottom: calc(var(--section-large) * 0.6);
  }

  .section-my-medium {
    margin-top: calc(var(--section-medium) * 0.6);
    margin-bottom: calc(var(--section-medium) * 0.6);
  }

  .section-mt-medium {
    margin-top: calc(var(--section-medium) * 0.6);
  }

  .section-mb-medium {
    margin-bottom: calc(var(--section-medium) * 0.6);
  }

  .section-my-small {
    margin-top: calc(var(--section-small) * 0.6);
    margin-bottom: calc(var(--section-small) * 0.6);
  }

  .section-mt-small {
    margin-top: calc(var(--section-small) * 0.6);
  }

  .section-mb-small {
    margin-bottom: calc(var(--section-small) * 0.6);
  }

  .section-my-xsmall {
    margin-top: calc(var(--section-xsmall) * 0.6);
    margin-bottom: calc(var(--section-xsmall) * 0.6);
  }

  .section-mt-xsmall {
    margin-top: calc(var(--section-xsmall) * 0.6);
  }

  .section-mb-xsmall {
    margin-bottom: calc(var(--section-xsmall) * 0.6);
  }
}

.section-py-xlarge {
  padding-top: var(--section-xlarge);
  padding-bottom: var(--section-xlarge);
}

.section-pt-xlarge {
  padding-top: var(--section-xlarge);
}

.section-pb-xlarge {
  padding-bottom: var(--section-xlarge);
}

.section-py-large {
  padding-top: var(--section-large);
  padding-bottom: var(--section-large);
}

.section-pt-large {
  padding-top: var(--section-large);
}

.section-pb-large {
  padding-bottom: var(--section-large);
}

.section-py-medium {
  padding-top: var(--section-medium);
  padding-bottom: var(--section-medium);
}

.section-pt-medium {
  padding-top: var(--section-medium);
}

.section-pb-medium {
  padding-bottom: var(--section-medium);
}

.section-py-small {
  padding-top: var(--section-small);
  padding-bottom: var(--section-small);
}

.section-pt-small {
  padding-top: var(--section-small);
}

.section-pb-small {
  padding-bottom: var(--section-small);
}

.section-py-xsmall {
  padding-top: var(--section-xsmall);
  padding-bottom: var(--section-xsmall);
}

.section-pt-xsmall {
  padding-top: var(--section-xsmall);
}

.section-pb-xsmall {
  padding-bottom: var(--section-xsmall);
}

@media (max-width: 1024px) {
  .section-py-xlarge {
    padding-top: calc(var(--section-xlarge) * 0.8);
    padding-bottom: calc(var(--section-xlarge) * 0.8);
  }

  .section-pt-xlarge {
    padding-top: calc(var(--section-xlarge) * 0.8);
  }

  .section-pb-xlarge {
    padding-bottom: calc(var(--section-xlarge) * 0.8);
  }

  .section-py-large {
    padding-top: calc(var(--section-large) * 0.8);
    padding-bottom: calc(var(--section-large) * 0.8);
  }

  .section-pt-large {
    padding-top: calc(var(--section-large) * 0.8);
  }

  .section-pb-large {
    padding-bottom: calc(var(--section-large) * 0.8);
  }

  .section-py-medium {
    padding-top: calc(var(--section-medium) * 0.8);
    padding-bottom: calc(var(--section-medium) * 0.8);
  }

  .section-pt-medium {
    padding-top: calc(var(--section-medium) * 0.8);
  }

  .section-pb-medium {
    padding-bottom: calc(var(--section-medium) * 0.8);
  }

  .section-py-small {
    padding-top: calc(var(--section-small) * 0.8);
    padding-bottom: calc(var(--section-small) * 0.8);
  }

  .section-pt-small {
    padding-top: calc(var(--section-small) * 0.8);
  }

  .section-pb-small {
    padding-bottom: calc(var(--section-small) * 0.8);
  }

  .section-py-xsmall {
    padding-top: calc(var(--section-xsmall) * 0.8);
    padding-bottom: calc(var(--section-xsmall) * 0.8);
  }

  .section-pt-xsmall {
    padding-top: calc(var(--section-xsmall) * 0.8);
  }

  .section-pb-xsmall {
    padding-bottom: calc(var(--section-xsmall) * 0.8);
  }
}

@media (max-width: 599px) {
  .section-py-xlarge {
    padding-top: calc(var(--section-xlarge) * 0.6);
    padding-bottom: calc(var(--section-xlarge) * 0.6);
  }

  .section-pt-xlarge {
    padding-top: calc(var(--section-xlarge) * 0.6);
  }

  .section-pb-xlarge {
    padding-bottom: calc(var(--section-xlarge) * 0.6);
  }

  .section-py-large {
    padding-top: calc(var(--section-large) * 0.6);
    padding-bottom: calc(var(--section-large) * 0.6);
  }

  .section-pt-large {
    padding-top: calc(var(--section-large) * 0.6);
  }

  .section-pb-large {
    padding-bottom: calc(var(--section-large) * 0.6);
  }

  .section-py-medium {
    padding-top: calc(var(--section-medium) * 0.6);
    padding-bottom: calc(var(--section-medium) * 0.6);
  }

  .section-pt-medium {
    padding-top: calc(var(--section-medium) * 0.6);
  }

  .section-pb-medium {
    padding-bottom: calc(var(--section-medium) * 0.6);
  }

  .section-py-small {
    padding-top: calc(var(--section-small) * 0.6);
    padding-bottom: calc(var(--section-small) * 0.6);
  }

  .section-pt-small {
    padding-top: calc(var(--section-small) * 0.6);
  }

  .section-pb-small {
    padding-bottom: calc(var(--section-small) * 0.6);
  }

  .section-py-xsmall {
    padding-top: calc(var(--section-xsmall) * 0.6);
    padding-bottom: calc(var(--section-xsmall) * 0.6);
  }

  .section-pt-xsmall {
    padding-top: calc(var(--section-xsmall) * 0.6);
  }

  .section-pb-xsmall {
    padding-bottom: calc(var(--section-xsmall) * 0.6);
  }
}

/* fead */
.fead-mv.mv {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.fead-up.mv {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.fead-order>* {
  opacity: 0;
}

.fead-order>.mv {
  opacity: 1;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.fead-text>* {
  opacity: 0;
}

.fead-text .mv {
  opacity: 1;
  -webkit-transition: 1s;
  transition: 1s;
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.fead-tit {
  position: relative;
}

.fead-tit:after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: var(--color01);
  -webkit-transition: 0.8s cubic-bezier(0.57, 0.15, 0.13, 0.97);
  transition: 0.8s cubic-bezier(0.57, 0.15, 0.13, 0.97);
  position: absolute;
  top: 0;
  right: 0;
}

.fead-tit.mv:after {
  width: 0;
}

/* show hide */
.show\@pc {
  display: block;
}

.hide\@pc {
  display: none;
}

@media (max-width: 1024px) {
  .show\@tb {
    display: block;
  }

  .hide\@tb {
    display: none;
  }
}

@media (max-width: 599px) {
  .show\@sp {
    display: block;
  }

  .hide\@sp {
    display: none;
  }
}

/* =========================
  共通要素
========================= */

/*h1ページタイトル */
.header__page-title {
  max-width: 1200px;
  margin: 0 auto;
  padding-right: 130px;
  font-weight: 500;
  font-size: 10px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.js-fixed .header__page-title {
  height: 0;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

@media(max-width:1024px) {
  .header__page-title {
    margin: 0 2%;
    padding: 0px calc(40px + 2%) 0px 0px;
  }
}

@media(max-width:599px) {
  .header__page-title {
    font-size: 10px;
  }
}

/* ヘッダー header */
#header {
  width: 100%;
  padding: 0 20px 20px;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;

  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

.js-fixed #header {
  padding-top: 20px;
  -webkit-box-shadow: 0 0 10px rgb(0 0 0 / 15%);
  box-shadow: 0 0 10px rgb(0 0 0 / 15%);
}

.header .header-common .header__brand {
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.header .header__row {
  max-width: 1200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 auto 0;
}

.header .header__logo {
  height: 80px;
  display: block;
}

.header .header__logo img {
  max-width: 80px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.page-index .header .header__logo img {
  max-width: 140px;
}

.js-fixed .header .header__logo img {
  max-width: 80px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.header .header__main .header__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-transform: translateY(-20px);
  transform: translateY(-20px);
}

.js-fixed .header .header__main .header__info {
  -webkit-transform: translateY(-10px);
  transform: translateY(-10px);
}

@media (max-width: 1024px) {
  #header {
    padding: 0;
    background: none;
    position: fixed;
    top: auto;
    left: auto;
  }

  .js-fixed #header {
    padding-top: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }

  .header .header__container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-bottom: 0;
  }

  .header .header__row {
    margin: 0;
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 100;
  }

  .header .header__logo {
    height: auto;
  }

  .header .header__logo img {
    max-height: 50px;
  }

  .header .header-common {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .header .header-common .header__main {
    width: 100%;
    max-width: 400px;
    height: 100vh;
    height: 100dvh;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    padding: 50px 40px;
    background: rgba(255, 255, 255, 1);
    transition: .5s;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    position: fixed;
    top: 0;
    right: 0;
    z-index: 250;
  }

  .drawer-active .header .header-common .header__main {
    width: 100%;
    cursor: pointer;
    transition: .5s;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  .header .header__main .header__info {
    width: 80px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-top: 0;
    letter-spacing: 0;
    -webkit-transform: none;
    transform: none;
    margin-right: 20px;
  }
  
  .js-fixed .header .header__main .header__info {
    -webkit-transform: translateY(-10px);
    transform: translateY(0px);
  }

  .header .header__row {
    margin: 0;
  }
}

/* 追従ボタン */
.fix-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  align-items: flex-end;
  -ms-flex-align: end;
  -webkit-transition: 1s;
  transition: 1s;
  position: fixed;
  bottom: 0;
  right: -100px;
  z-index: 100;
}

.fix-bottom.mv {
  right: 0;
}

[data-element-id] .fix-bottom {
  position: relative;
  top: auto;
  right: auto;
}

.fix-bottom a {
  min-width: unset;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  min-height: 170px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 10px 15px;
  font-size: 15px;
  letter-spacing: 2px;
  -ms-writing-mode: tb-lr;
  -webkit-writing-mode: vertical-lr;
  writing-mode: vertical-lr;
  background: var(--color01);

  gap: 10px;
}

/* 光らせるためのstyle */
.shine {
    overflow: hidden;
    border: 0 solid transparent;
    position: relative;
}

/* 光の疑似要素 */
.shine::before {
    content: "";
    width: 200%;
    height: 100%;
    background-color: #fff;
    opacity: 0.5;
    -webkit-transform: skewX(-45deg);
    transform: skewX(-45deg);
    -webkit-transform-origin: top right;
    transform-origin: top right;
    -webkit-animation: shine 3s cubic-bezier(0.25, 0, 0.25, 1) infinite;
    animation: shine 3s cubic-bezier(0.25, 0, 0.25, 1) infinite;
    position: absolute;
    top: 0;
    left: -200%;
    z-index: 2;
}

/* 光の動き */
@-webkit-keyframes shine {
    0% {
        opacity: 0;
        left: -200%;
    }

    70% {
        opacity: 0.5;
        left: -200%;
    }

    71% {
        opacity: 1;
        left: -200%;
    }

    100% {
        opacity: 0;
        left: 400%;
    }
}

@keyframes shine {
    0% {
        opacity: 0;
        left: -200%;
    }

    70% {
        opacity: 0.5;
        left: -200%;
    }

    71% {
        opacity: 1;
        left: -200%;
    }

    100% {
        opacity: 0;
        left: 400%;
    }
}

@media (max-width: 1024px) {
  .fix-bottom {
    width: calc(100% - 8px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-transform: none;
    transform: none;
    position: fixed;
    top: auto;
    bottom: 4px;
    left: 4px;
    z-index: 250;

    gap: 4px;
  }

  .fix-bottom .btn {
    width: calc(100% / 3);
  }

  .fix-bottom .btn a {
    width: 100%;
    min-height: 70px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 10px 5px;
    font-size: 14px;
    letter-spacing: 1px;
    -ms-writing-mode: unset;
    -webkit-writing-mode: unset;
    writing-mode: unset;
    -webkit-box-shadow: 0 2px 5px rgb(0 0 0 / 30%);
    box-shadow: 0 2px 5px rgb(0 0 0 / 30%);

    gap: 5px;
  }

  .fix-bottom a:before {
    width: 26px;
    margin-right: 5px;
  }
}

@media(max-width:599px) {}

/* js-modal-open */
.js-modal-open01 {
  cursor: pointer;
}

.modal {
  width: 100%;
  height: 100vh;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

.modal__bg {
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  position: absolute;
}

.modal__content {
  width: 60%;
  padding: 60px 40px;
  border-radius: 10px;
  background: #fff;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
}

.modal .btn_close {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 150px;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  padding: 10px 15px 10px;
  color: #838383;
  text-align: center;
  border: 2px solid #838383;
  border-radius: 5px;
  background: #fff;
  -webkit-transform: rotateZ(0.03deg);
  transform: rotateZ(0.03deg);

  gap: 5px;
}

.modal .btn_close:hover {
  opacity: 1;
}

.modal .tablebox {
  padding: 10px 15px 15px;
  border: 2px solid var(--color08);
}

@media(max-width:1024px) {
  .modal__content {
    width: 90%;
    padding: 30px 20px;
  }
}

@media(max-width:599px) {
  .modal__content {
    width: 94%;
    padding: 20px 10px;
    border-radius: 5px;
  }

  .modal .tablebox {
    padding: 10px 8px 15px;
  }

  .modal .tablebox dl dt {
    width: 200px;
    font-size: 13px;
  }
}

/* グローバルナビ global-nav */
.global-nav {
  position: relative;
  z-index: 100;
}

.global-nav .global-nav__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-box-align: baseline;
  align-items: baseline;
  -ms-flex-align: baseline;

  gap: 20px;
}

.global-nav__h1 {
  display: none;
  white-space: normal;
}

.global-nav .global-nav__list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: end;
  -ms-flex-pack: distribute;
  justify-content: flex-end;
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  column-gap: 40px;
}

.global-nav .global-nav__item {
  font-size: 16px;
  text-align: center;
  position: relative;
}

.global-nav .global-nav__item:not(:first-of-type)::before {
  content: "/";
  color: var(--color00) !important;
  position: absolute;
  top: -3px;
  right: calc(100% + 17px);
}

.global-nav .global-nav__item>a,
.global-nav .global-nav__item .global-nav__toggle {
  display: block;
  font-family: var(--ff02);
  font-weight: 500;
  letter-spacing: 3px;
  cursor: pointer;
  position: relative;
  z-index: 2;
}

.global-nav .global-nav__item>a::before,
.global-nav .global-nav__item .global-nav__toggle::before,
.global-nav .global-nav__item>a::after,
.global-nav .global-nav__item .global-nav__toggle::after {
  content: "";
  width: 1px;
  height: 1px;
  visibility: hidden;
  color: var(--color06);
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  position: absolute;
}

.global-nav .global-nav__item>a:hover::before,
.global-nav .global-nav__item:hover .global-nav__toggle::before,
.global-nav .global-nav__item>a:hover::after,
.global-nav .global-nav__item:hover .global-nav__toggle::after {
  width: calc(100% + 10px);
  height: 100%;
  visibility: visible;
  opacity: 1;
}

.global-nav .global-nav__item>a:hover,
.global-nav .global-nav__item:hover {
  color: var(--color06);
  opacity: 1;
}


.global-nav .global-nav__item>a::before,
.global-nav .global-nav__item .global-nav__toggle::before {
  border-top: 2px solid var(--color06);
  border-left: 2px solid var(--color06);
  top: -7px;
  left: -13px;
}

.global-nav .global-nav__item>a::after,
.global-nav .global-nav__item .global-nav__toggle::after {
  border-bottom: 2px solid var(--color06);
  border-right: 2px solid var(--color06);
  bottom: -5px;
  right: -10px;
}

.global-nav .global-nav__item .en {
  line-height: 1;
}

.global-nav .global-nav__item .ja {
  font-size: 75%;
  color: var(--color02);
}

.global-nav .global-nav__item.global-nav__item--has-submenu {
  position: relative;
}

.global-nav .global-nav__item.global-nav__item--has-submenu:hover .global-nav__submenu {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.global-nav .global-nav__submenu {
  width: 180px;
  visibility: hidden;
  padding-top: 60px;
  font-size: 15px;
  letter-spacing: 1px;
  background: rgb(255 255 255) content-box;
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  pointer-events: none;
  position: absolute;
  top: calc(100% - 40px);
  left: 50%;
}

.global-nav .global-nav__submenu-item a {
  display: block;
  padding: 10px;
  font-size: 14px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  font-family: var(--ff02);
}

.global-nav .global-nav__submenu-item a:hover {
  color: #fff;
  background-color: var(--color01);
  opacity: 1;
}

/* sns__list */
.sns__list-title,
.reserve__list-title {
  margin-bottom: 10px;
  padding-bottom: 5px;
  font-family: var(--ff02);
  font-weight: 500;
  border-bottom: 1px solid var(--color09);
}

.sns__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;

  gap: 5px;
}

.sns__list .sns__icon a:hover {
  color: var(--color06);
  opacity: 1;
}

.reserve__list-wrap {
  width: 100%;
  padding: 10px;
  border-radius: 5px;
  background-color: var(--color05);
}

.reserve__list .reserve__btn+.reserve__btn {
  margin-top: 10px;
}

.reserve__list .reserve__btn a {
  width: 100%;
  display: block;
  padding: 10px;
  font-family: var(--ff02);
  font-weight: 500;
  color: var(--color06);
  text-align: center;
  border-radius: 5px;
  background-color: #fff;
  position: relative;
}

/* 
.reserve__list .reserve__btn a::before {
  top: 0;
  left: 0;
  border-top: 2px solid;
  border-left: 2px solid;
}

.reserve__list .reserve__btn a::after {
  bottom: 0;
  right: 0;
  border-bottom: 2px solid;
  border-right: 2px solid;
}

.reserve__list .reserve__btn a::before,
.reserve__list .reserve__btn a::after {
  content: "";
  position: absolute;
  width: calc(100% - 100px);
  height: calc(100% - 5px);
  -webkit-transition: .5s;
  transition: .5s;
  border-color: var(--color09);
} */

.tel__box {
  font-family: var(--ff02);
}

.tel__box .tel {
  font-weight: 500;
  font-size: 180%;
  color: var(--color06);
}

@media (max-width: 1024px) {
  body.drawer-active {
    overflow: hidden;

    -ms-touch-action: none;
    touch-action: none;
  }

  .header .header__brand,
  .header .header__page-title,
  main,
  footer {
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }

  .global-nav__h1 {
    display: block;
    font-size: 12px;
  }

  .header__page-title {
    display: none;
  }

  .drawer-active .header .header__brand,
  .drawer-active main,
  .drawer-active footer {
    -webkit-filter: blur(3px);
    filter: blur(3px);
  }

  .global-nav {
    margin-top: 40px;
  }

  .global-nav .global-nav__list {
    gap: 20px;
  }

  .global-nav .global-nav__item {
    /* margin: 0 0 10px 0; */
    width: 100%;
    text-align: left;
  }

  .global-nav .global-nav__item>a::before,
  .global-nav .global-nav__item .global-nav__toggle::before,
  .global-nav .global-nav__item>a::after,
  .global-nav .global-nav__item .global-nav__toggle::after {
    content: none;
  }

  .global-nav .global-nav__submenu {
    width: 100%;
    visibility: visible;
    margin-top: 5px;
    padding-top: 0;
    background: none;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    pointer-events: auto;
    position: relative;
    top: 0;
    left: 0;
  }

  .global-nav .global-nav__submenu a {
    display: block;
    padding: 5px 0 5px 1em;
    font-family: var(--ff02);
    font-size: 15px;
    position: relative;
  }

  .global-nav .global-nav__submenu a::before {
    content: "\f054";
    font-family: var(--ff99);
    font-weight: bold;
    font-size: 10px;
    position: absolute;
    top: 9px;
    left: 1px;
  }

  .global-nav .global-nav__submenu a:hover {
    color: var(--color06);
    background: none;
    opacity: 0.5;
  }

  .sns__list-wrap {
    width: 100%;
    padding: 10px;
    border-radius: 5px;
    background-color: var(--color05);
  }

  .sns__list {
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
  }

  .sns__list-wrap .sns__list {
    gap: 20px;
  }

  .sns__list-wrap .sns__list .sns__icon+.sns__icon::before {
    content: "/";
    position: absolute;
    bottom: 0;
    right: calc(100% + 5px);
  }

  .sns__list .sns__icon {
    position: relative;
  }

  .sns__list-wrap .sns__list .sns__icon a i {
    font-size: 20px;
  }
}

@media(max-width:599px) {
  .global-nav {
    max-width: 300px;
  }
}

[data-element-id] .global-nav.js-fixed {
  position: relative;
}

/* ハンバーガーメニュー  */
.site-header__hamburger {
  width: 50px;
  height: 50px;
  display: none;
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  position: relative;
  z-index: 251;

  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

.site-header__hamburger .hamburger__bar {
  width: 28px;
  height: 1px;
  display: block;
  margin-top: -1px;
  padding: 0;
  text-indent: 9999px;
  background: #000;
  -webkit-transition: ease 0.4s;
  transition: ease 0.4s;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  position: absolute;
  top: 50%;
  left: 50%;
}

.site-header__hamburger .hamburger__bar:nth-of-type(1) {
  top: calc(50% - 8px);
}

.site-header__hamburger .hamburger__bar:nth-of-type(3) {
  top: calc(50% + 8px);
}

.drawer-active .site-header__hamburger .hamburger__bar:nth-of-type(1) {
  -webkit-transform: translate(-50%, 0) rotate(45deg);
  transform: translate(-50%, 0) rotate(45deg);
  top: 50%;
}

.drawer-active .site-header__hamburger .hamburger__bar:nth-of-type(2) {
  opacity: 0;
}

.drawer-active .site-header__hamburger .hamburger__bar:nth-of-type(3) {
  -webkit-transform: translate(-50%, 0) rotate(-45deg);
  transform: translate(-50%, 0) rotate(-45deg);
  top: 50%;
}

@media (max-width: 1024px) {
  .site-header__hamburger {
    display: block;
    position: fixed;
    top: 10px;
    right: 10px;
  }

  .drawer-active .overlay {
    content: "";
    width: 100%;
    height: 100vh;
    background: #000;
    opacity: 0.3;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 249;
  }
}

/* フッター footer */
.footer .fnav__copy {
  margin: 80px 0 0 0;
  font-family: var(--ff02);
  font-weight: 500;
  font-size: 12px;
  text-align: center;
}

.footer .maps iframe {
  width: 100%;
  height: 270px;
}

@media (max-width: 1024px) {
  .footer .fnav__copy {
    margin-top: 30px;
    padding-bottom: 40px;
    text-align: center;
  }

  .footer .map {
    padding-top: 70%;
  }

  .footer .maps iframe {
    height: 300px;
  }
}

@media(max-width:599px) {}

.footer .fnav__logo img {
  max-width: 100px;
}

/** フッターナビ fnav */
.fnav {
  padding: 80px 0 50px;
}

.fnav .fnav__tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  font-family: var(--ff02);
  font-weight: 500;
  font-size: 26px;
  color: var(--color01);

  gap: 10px;
}

.fnav .item a:before {
  content: "";
  width: 4px;
  height: 4px;
  display: block;
  border-radius: 50%;
  background: #000;
  position: absolute;
  top: 10px;
  left: 0;
}

.fnav .fnav__item {
  margin-bottom: 5px;
  padding-right: 10px;
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
  break-inside: avoid;
}

.fnav .fnav__item+.fnav__item {
  margin-top: 25px;
}

.fnav .fnav__item a {
  display: block;
  padding-left: 15px;
  font-family: var(--ff02);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 2px;
  position: relative;
}

.fnav .fnav__item a::before {
  content: "\f054";
  font-family: var(--ff99);
  font-weight: bold;
  font-size: 10px;
  color: var(--color06);
  position: absolute;
  top: 3px;
  left: 0;
}

.fnav .fnav__item-sub+.fnav__item-sub {
  margin-top: 25px;
}

.fnav .fnav__item-sub a {
  display: block;
  padding-left: 15px;
  font-family: var(--ff02);
  font-weight: 500;
  color: #a0a0a0;
  line-height: 1.2;
  letter-spacing: 2px;
  position: relative;
}

.fnav__open-wrap {
  gap: 20px;
}

.fnav__open {
  font-size: 14px;
}

.fnav__open-title {
  margin-right: 10px;
  padding: 5px 10px;
  background-color: var(--color04);
}

.fnav__open-text {
  font-weight: 500;
  color: var(--color01);
}

.fnav__contact-btn {
  white-space: nowrap;
}

@media (max-width: 1024px) {
  .global-nav .global-nav__inner {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    white-space: nowrap;

    gap: 30px;
  }

  .global-nav {
    margin-top: 20px;
  }

  .global-nav .global-nav__item:not(:first-of-type)::before {
    content: none;
  }

  .fnav .global-nav__submenu {
    width: 100%;
  }
}

@media (max-width: 599px) {
  .fnav {
    padding: 50px 0;
  }

  .fnav__list:not(:nth-of-type(2)),
  .fnav__list-sub {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
  }

  .fnav__list+.fnav__list {
    margin-top: 20px;
  }

  .fnav .fnav__item-sub+.fnav__item-sub {
    margin-top: 20px;
  }

  .fnav .fnav__item-sub a {
    padding-left: 10px;
  }

  .fnav .fnav__item-sub.-ls0 a {
    letter-spacing: 0;
  }

  .fnav .fnav__item+.fnav__item {
    margin-top: 0;
  }

  .fnav .fnav__item a {
    padding-left: 10px;
  }

  .fnav .fnav__item a::before {
    font-size: 8px;
    top: 6px;
    left: -2px;
  }

  .fnav .fnav__item {
    margin-bottom: 20px;
  }

  .fnav__open-wrap {
    gap: 10px;
  }

  .fnav .btn--secondary a {
    width: 100%;
  }

  .fnav .btn--secondary+.btn--secondary {
    margin-top: 10px;
  }
}

/**
2カラムページ
*/
.column2 .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.column2 .sidebar {
  width: 200px;
}

.column2 .mainwrap {
  width: calc(100% - 250px);
}

@media (max-width: 1024px) {
  .column2 .inner {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .column2 .sidebar {
    width: 100%;
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    margin-bottom: 50px;
  }

  .column2 .mainwrap {
    width: 100%;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin-bottom: 50px;
  }
}

/* サイドメニュー */
.sidebar .sidebar__section {
  margin-bottom: 30px;
}

@media (max-width: 1024px) {
  .sidebar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .sidebar .sidebar__section {
    width: 100%;
  }
}

@media (max-width: 599px) {
  .sidebar .sidebar__section {
    width: 100%;
  }
}

.sidebar__section .sidebar__title {
  margin-bottom: 5px;
  padding: 15px;
  font-family: var(--ff02);
  font-size: 20px;
  color: #fff;
  line-height: 1;
  letter-spacing: 3px;
  text-align: center;
  background: var(--color01);
  position: relative;
}

.sidebar__section .sidebar__item {
  margin-bottom: 5px;
}

.sidebar__section a {
  width: 100%;
  display: block;
  padding: 8px 10px 8px 30px;
  line-height: 1.5;
  background: var(--color04);
  position: relative;
}

.sidebar__section a:hover {
  color: #fff;
  background: var(--color01);
  opacity: 1;
}

.sidebar__section a:before {
  content: "●";
  font-size: 10px;
  color: var(--color01);
  position: absolute;
  top: 12px;
  left: 10px;
}

.sidebar__section a:hover:before {
  color: #fff;
}

@media (max-width: 1024px) {
  .sidebar__section.sidebar__section--archive .sidebar__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .sidebar .sidebar__section {
    margin-bottom: 20px;
  }

  .sidebar__section .sidebar__title {
    padding: 10px;
  }

  .sidebar__section.sidebar__section--archive .sidebar__list .sidebar__title {
    width: 100%;
  }

  .sidebar__section.sidebar__section--archive .sidebar__list .sidebar__item {
    width: calc((100% - 5px) / 2);
  }
}

/*===================================
  各個別コンテンツ
===================================*/
/* トップページ */
/* mainvisual */
.mainvisual {
  position: relative;
}

.mainvisual__img {
  width: 100%;
  height: 100vh;
  padding-bottom: 100px;
  padding-left: calc(50% - 400px);
}

.mainvisual__catch {
  width: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 2;
}

.mainvisual__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: var(--ff04);
  font-size: 90px;
  line-height: 1;
  -webkit-transform: translateX(-5px);
  transform: translateX(-5px);
}

.mainvisual__name span.mv svg text {
  letter-spacing: 13px;
}

.mainvisual__name span.mv svg text {
  -webkit-animation: top-ttl 600ms linear 3400ms both;
  animation: top-ttl 600ms linear 3400ms both;
}

.svg-line-text.type-a {
  width: 73px;
}

.svg-line-text.type-n {
  width: 70px;
}

.svg-line-text.type-r {
  width: 50px;
}

.svg-line-text.type-i {
  width: 35px;
}

.svg-line-text.type-s {
  width: 60px;
}

.text-a {
  position: relative;
}

.text-a::before {
  content: "";
  width: 110%;
  display: block;
  background-image: url('/import/tenant_1/162.43.19.177/html/images/text_a_parts.webp');
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  position: absolute;
  bottom: calc(100% - 40px);
  left: 45%;

  aspect-ratio: 92 / 34;
}

.text-a.mv::before {
  opacity: 1;
  bottom: calc(100% - 20px);
}

@-webkit-keyframes top-ttl {
  0% {
    fill: var(--color06);
    stroke: rgba(0, 0, 0, 0);
  }

  100% {
    fill: rgba(198, 178, 123, 0);
    stroke: #333;
  }
}

@keyframes top-ttl {
  0% {
    fill: var(--color06);
    stroke: rgba(0, 0, 0, 0);
  }

  100% {
    fill: rgba(198, 178, 123, 0);
    stroke: #333;
  }
}

.mainvisual__main {
  margin-top: 10px;
  font-size: 22px;
  letter-spacing: 1.5px;
}

.mainvisual__en-text {
  font-family: var(--ff03);
  font-size: 40px;
  color: var(--color01);
  -webkit-transform: rotate(-10deg);
  transform: rotate(-10deg);
  position: absolute;
  bottom: 70px;
  right: 10px;
  z-index: 4;
}

.parts__paint1 {
  width: 400px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  position: absolute;
  top: calc(100% - 120px);
  left: 60%;
  z-index: 3;
}

/* scroll */
.mv-scroll {
  padding-top: 215px;
  font-family: var(--ff02);
  letter-spacing: 2px;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  position: absolute;
  bottom: 100px;
  left: calc(50% - 600px);
  z-index: 2;
}

.mv-scroll::before {
  content: "";
  width: 1px;
  height: 200px;
  margin: auto;
  background-color: var(--color00);
  -webkit-animation: scroll 2s infinite;
  animation: scroll 2s infinite;
  position: absolute;
  bottom: 80px;
  left: 0;
  right: 0;
  z-index: 2;
}

.mv-scroll::after {
  content: "";
  width: 1px;
  height: 200px;
  margin: auto;
  background-color: #ccc;
  position: absolute;
  bottom: 80px;
  left: 0;
  right: 0;
}

/* 線のアニメーション */
@-webkit-keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }

  50% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }

  51% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }

  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}

@keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }

  50% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }

  51% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }

  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}

@media(max-width:1350px) {
  .mv-scroll {
    left: 2%;
  }
}

@media(max-width:1024px) {
  .mainvisual__img {
    width: 100%;
    height: calc(100vh - 50px);
    padding-bottom: 100px;
    padding-left: calc(50% - 400px);
  }

  .mainvisual__name {
    -webkit-transform: unset;
    transform: unset;
  }

  .text-a::before {
    left: 43%;
  }

  .mainvisual__en-text {
    font-size: 30px;
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }

  .mv-scroll {
    font-size: 12px;
    bottom: 105px;
  }

  .mv-scroll::before {
    height: 80px;
    bottom: 65px;
  }

  .mv-scroll::after {
    height: 80px;
    bottom: 65px;
  }

  .parts__paint1 {
    width: 300px;
    top: calc(100% - 110px);
    left: 45%;
    z-index: 0;
  }
}

@media(max-width:599px) {
  .mainvisual__main {
    font-size: 18px;
  }

  .mainvisual__catch {
    top: 60%;
  }

  .mainvisual__name {
    font-size: 60px;
  }

  .svg-line-text.type-a {
    width: 42px;
  }

  .svg-line-text.type-n {
    width: 40px;
  }

  .svg-line-text.type-r {
    width: 28px;
  }

  .svg-line-text.type-i {
    width: 20px;
  }

  .svg-line-text.type-s {
    width: 35px;
  }

  .text-a.mv::before {
    bottom: calc(100% - 8px);
    left: 50%;
  }

  .mainvisual__en-text {
    font-size: 20px;
  }

  .parts__paint1 {
    width: 180px;
    -webkit-transform: none;
    transform: none;
    top: calc(100% - 100px);
    left: 5px;
  }

  .mv-scroll {
    font-size: 10px;
    bottom: 105px;
  }

  .mv-scroll::before {
    height: 40px;
    bottom: 55px;
  }

  .mv-scroll::after {
    height: 40px;
    bottom: 55px;
  }
}

/* A-BiSUスライダー用 */
.mainvisual__img .uk-slidenav-position,
.mainvisual__img .uk-slideshow,
.mainvisual__img .uk-slideshow>li,
.mainvisual__img .uk-flex,
.mainvisual__img .uk-flex img {
  height: 100% !important;
  -o-object-fit: cover;
  object-fit: cover;
}

/* 02 information */
.access__group+.access__group {
  margin-top: 80px;
}

.access__item+.access__item {
  margin-top: 30px;
}

.access__group--car-p .access__item+.access__item {
  margin-top: 0;
}

.access__group .access__list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.access__group--car-p .access__list {
  width: 100%;
}

.access__group .access__list+.access__list {
  margin-top: 40px;
}

.access__item-inner {
  min-width: 600px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-column-gap: 60px;
  -moz-column-gap: 60px;
  column-gap: 10px;
}

.access__group-title {
  width: 100%;
  padding: 3px 5px 5px;
  font-size: 18px;
  color: #fff;
  text-align: center;
  background-color: var(--color06);
}

.access__group--car .access__group-title {
  background-color: var(--color06);
}

.access__group .access__list-wrap {
  padding: 30px;
  background-color: #fff;
}

.access__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-weight: 600;
  font-size: 18px;
}

.access__border {
  content: "";
  width: 1px;
  height: 3px;
  display: block;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  background-color: var(--color09);
}

.access__icon .img {
  width: 40px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-right: 10px;
}

.access__text {
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px);
}

.access__text .num {
  font-family: var(--ff02);
  font-weight: 400;
  font-size: 200%;
}

.access__subitem-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;

  gap: 20px;
}

.access__subitem {
  width: calc((100% - 80px)/5);
}

.access__group--car-p .access__item {
  width: calc((100% - 60px)/3);
}

.access__subitem-img {
  position: relative;
}

.access__subitem+.access__subitem .access__subitem-img::before {
  content: "";
  width: 5px;
  height: 15px;
  display: block;
  background-color: var(--color06);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: -12px;

  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

.access__subitem-img .number {
  width: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-family: var(--ff02);
  font-size: 22px;
  color: #fff;
  border-radius: 50%;
  background-color: var(--color01);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;

  aspect-ratio: 1;
}

.access__subitem-text {
  margin-top: 5px;
  font-weight: 500;
  font-size: 14px;
  text-align: center;
}

.access__item-text {
  margin-top: 5px;
  font-weight: 500;
  text-align: center;
}

@media(max-width:599px) {
  .access__group .access__list-wrap {
    padding: 20px;
  }

  .access__item-inner {
    min-width: unset;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .access__border {
    height: 2px;
  }

  .access__icon {
    width: 100%;
  }

  .access__subitem-list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  .access__subitem {
    width: calc((100% - 20px) / 2);
  }

  .access__group--car-p .access__list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .access__group--car-p .access__item {
    width: 100%;
  }

  .access__group--car-p .access__item+.access__item {
    margin-top: 20px;
  }

  .map__section .map {
    padding-top: 70%;
  }
}

/* concept */
.concept__container {
  position: relative;
}

.concept__container .concept__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-left: calc(50% - 400px);
}

.concept__container .concept__main .concept__text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding-left: 30px;
}

.concept__container .concept__main .concept__right-image {
  width: 100%;
  max-height: 500px;
  padding-left: 50px;
  position: relative;
}

.concept__container .concept__main .concept__right-image::before {
  content: "";
  width: 100%;
  height: 102%;
  display: block;
  background: -webkit-gradient(linear, left top, right top, color-stop(10%, #fff), color-stop(50%, transparent));
  background: linear-gradient(90deg, #fff 10%, transparent 50%);
  position: absolute;
  top: -1%;
  left: -1px;
  z-index: 2;
}

.concept__left-image {
  width: calc(50% - 450px);
  height: calc(100% - 100px);
  position: absolute;
  bottom: 0;
  left: 0;
}

.concept__left-image::before {
  content: "";
  width: 400px;
  display: block;
  background-image: url('/import/tenant_1/162.43.19.177/html/images/paint_1.webp');
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
  position: absolute;
  bottom: 10%;
  left: calc(100% - 50px);

  aspect-ratio: 448 / 196;
}

@media(max-width:1024px) {
  .concept__left-image {
    width: 100px;
  }

  .concept__container .concept__main {
    padding-left: 130px;
  }

  .concept__container .concept__main .concept__text {
    padding-left: 0;
  }

  .concept__left-image::before {
    width: 300px;
  }
}

@media(max-width:599px) {
  .concept__left-image {
    width: 50%;
    height: auto;
    position: relative;
    bottom: auto;
    left: auto;
  }

  .concept__container .concept__main {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    padding-left: 0;
  }

  .concept__container .concept__main .concept__right-image {
    width: 80%;
    margin-top: 30px;
    margin-bottom: 30px;
    margin-left: auto;
    padding-left: 0;
    position: relative;
  }

  .concept__text {
    max-width: 96%;
    margin: 0 auto;
  }

  .concept__left-image::before {
    width: 200px;
    bottom: -30px;
    left: calc(100% - 10px);
  }
}

/* trouble */
.trouble__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
}

.trouble__left-image {
  width: 40%;
  height: 450px;
  margin-right: -100px;
}

.trouble__left-image .img::before {
  content: "";
  width: 404px;
  display: block;
  background-image: url('/import/tenant_1/162.43.19.177/html/images/paint_4.webp');
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: -90px;
  left: 0;

  aspect-ratio: 404 / 319;
}

.trouble__left-image .img img {
  position: relative;
  z-index: 2;
}

.trouble__main {
  width: calc(60% + 100px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  background: var(--color04);
  position: relative;
}

.trouble__main::before {
  content: "";
  width: 220px;
  display: block;
  background-image: url('/import/tenant_1/162.43.19.177/html/images/paint_2.webp');
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: calc(100% - 30px);
  right: 0;

  aspect-ratio: 274 / 334;
}

.trouble__main .trouble__text {
  width: 65%;
  padding: 100px 0 100px 170px;
}

.trouble__image {
  width: 30%;
}

.trouble__main .trouble__image .img1 {
  height: 40%;
}

.trouble__main .trouble__image .img2 {
  height: 60%;
}

@media(max-width:1024px) {
  .trouble__left-image {
    width: 30%;
    margin-right: -50px;
  }

  .trouble__main {
    width: calc(70% + 100px);
  }

  .trouble__main .trouble__text {
    padding: 100px 0 100px 70px;
  }

  .trouble__main .trouble__image {
    width: 25%;
  }

  .trouble__main::before {
    width: 120px;
    top: calc(100% - 20px);
  }
}

@media(max-width:599px) {
  .trouble__container {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }

  .trouble__main .trouble__text {
    width: 70%;
    padding: 30px 0 100px 20px;
  }

  .trouble__left-image {
    width: 65%;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin-top: -60px;
    margin-right: auto;
  }

  .trouble__left-image .img::before {
    width: 200px;
    top: calc(100% - 10px);
    left: 0;
  }

  .trouble__main::before {
    width: 80px;
    top: calc(100% - 10px);
    right: -2%;
  }
}

/* service */
.service__item-inner {
  position: relative;
}

.service__text {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  align-items: baseline;
  -ms-flex-align: baseline;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 20px;
  background: rgb(245 177 192 / 50%);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;

  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  gap: 5px;
}

.service__text .service__en {
  font-family: var(--ff02);
  font-weight: 500;
}

.service__text .service__ja {
  font-weight: 500;
  font-size: 80%;
}

@media(max-width:599px) {
  .service__text {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 10px 5px;
    line-height: 1;

    gap: 5px;
  }

  .service__text .service__ja {
    font-size: 65%;
  }
}

/* 下層共通 */
/* topvisual */
.topvisual .img {
  height: 400px;
  margin-left: calc(50% - 400px);
}

.topvisual__catch-wrap {
  width: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  top: calc(50% + 50px);
  left: 0;
  z-index: 2;
  /* mix-blend-mode: difference; */
}

.topvisual__catch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.topvisual__catch .topvisual__en {
  font-family: var(--ff04);
  font-weight: 500;
  font-size: 70px;
  line-height: 1;
}

.topvisual__catch .topvisual__ja {
  font-weight: 500;
  font-size: 18px;
}

@media(max-width:1024px) {
  .topvisual .img {
    height: 250px;
    margin-left: 120px;
  }

  .topvisual__catch-wrap {
    top: calc(50% + 10px);
  }

  .topvisual__catch .topvisual__en {
    font-size: 50px;
  }

  .topvisual__catch .topvisual__ja {
    font-size: 16px;
  }
}

@media(max-width:599px) {
  .topvisual .img {
    height: 200px;
    margin-left: 80px;
  }

  .topvisual__catch .topvisual__en {
    font-size: 40px;
  }

  .topvisual__catch .topvisual__ja {
    font-size: 14px;
  }
}

/* パンくずリスト */
.breadcrumbs {
  margin: 30px 0;
  font-family: var(--ff02);
}

.breadcrumbs-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
}

.breadcrumbs-list li {
  display: inline;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 1px;
}

.breadcrumbs-list li.breadcrumbs-home a,
.breadcrumbs-list li.breadcrumbs-prevpage a {
  font-weight: bold;
  color: var(--color01);
}

.breadcrumbs-list li+li::before {
  content: "";
  width: 6px;
  height: 6px;
  display: inline-block;
  margin: 0 10px;
  border-top: 1px solid;
  border-right: 1px solid;
  -webkit-transform: rotate(45deg) translate(0px, 0px);
  transform: rotate(45deg) translate(-4px, 0px);
}

@media (max-width: 1024px) {
  .breadcrumbs {
    margin: 20px 0;
    font-size: 14px;
  }

  .breadcrumbs-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
  }

  .breadcrumbs-list {
    width: 90%;
    margin-top: 1em;
  }

  .breadcrumbs li {
    font-size: 12px;
  }

  .breadcrumbs li+li::before {
    width: 8px;
    height: 8px;
    margin: 0 5px 1px;
  }
}

@media (max-width: 599px) {
  .breadcrumbs {
    margin: 15px 0;
    font-size: 12px;
  }

  .breadcrumbs li+li::before {
    width: 6px;
    height: 6px;
    -webkit-transform: rotate(45deg) translate(-2px, 1px);
    transform: rotate(45deg) translate(-2px, 1px);
  }
}

/* ページネーション */
.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.pagination .pagination__item {
  margin: 0 3px;
}

.pagination .pagination__item--prev,
.pagination .pagination__item--next {
  position: relative;
}

.pagination .pagination__item--prev {
  margin-right: 10px;
}

.pagination .pagination__item--next {
  margin-left: 10px;
}

.pagination .pagination__item--prev a:before,
.pagination .pagination__item--next a:before {
  font-family: var(--ff99);
  font-weight: 600;
}

.pagination .pagination__item--prev a:before {
  content: "\f053";
}

.pagination .pagination__item--next a:before {
  content: "\f054";
}

.pagination a,
.pagination .pagination__item--current {
  font-weight: 500;
}

.pagination .pagination__item--number a,
.pagination .pagination__item--prev a,
.pagination .pagination__item--next a,
.pagination .pagination__item--current {
  width: 36px;
  height: 36px;
  display: block;
  padding: 2px 0px 10px 0px;
  font-family: var(--ff04);
  line-height: 34px;
  letter-spacing: 0;
  text-align: center;
}

.pagination .pagination__item--prev a,
.pagination .pagination__item--next a {
  padding: 0px 0px 10px 0px;
  font-size: 14px;
}

.pagination .pagination__item--number a:hover,
.pagination .pagination__item--prev a:hover,
.pagination .pagination__item--next a:hover,
.pagination .pagination__item--current {
  color: #fff;
  background: var(--color01);
  opacity: 1;
}

@media (max-width: 599px) {
  .pagination .pagination__item {
    margin: 0 5px;
  }

  .pagination .pagination__item--prev {
    margin-right: 10px;
  }

  .pagination .pagination__item--next {
    margin-left: 10px;
  }
}

/* トップ */


/* 各下層ページ */
/* 04 information */
.salon__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--color05);
}

.salon__item .salon__term {
  width: 100px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-weight: 700;
}

/* 05menu */
.coupon__item {
  padding: 12px;
  color: #fff;
  background-color: var(--color03);
  position: relative;
}

.coupon__item::before {
  content: "";
  width: 70px;
  height: 70px;
  display: block;
  background: linear-gradient(45deg, var(--color03) 70%, #458f95 70%);
  position: absolute;
  top: 0;
  right: 0;

  -webkit-clip-path: polygon(100% 0, 0 0, 100% 100%);
  clip-path: polygon(100% 0, 0 0, 100% 100%);
}

.coupon__item::after {
  content: "Coupon";
  font-family: var(--ff03);
  font-size: 11px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 25px;
  right: 7px;
}

.coupon__item-inner {
  padding: 20px 10px;
  border: 2px solid #fff;
}

.coupon__item-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  letter-spacing: 1px;
  text-align: center;
}

.coupon__item-cate {
  margin-top: 10px;
  padding: 6px 10px;
  font-weight: 500;
  font-size: 12px;
  color: #3f3f3f;
  line-height: 1;
  text-align: center;
  background-color: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.coupon__item-cate span + span::before{
  content: "/";
}

.coupon__item-price {
  margin: 20px 0;
  font-family: var(--ff02);
  font-weight: 500;
  font-size: 18px;
  line-height: 20px;
  text-align: center;
}

.coupon__item-price .num{
  font-size: 36px;
}

.coupon__item-price .tax {
    font-size: 10px;
}

.coupon__item-who {
  margin-top: 5px;
  font-size: 12px;
  text-align: center;
}

.coupon__text {
  padding: 10px 10px 10px;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.5px;
  background-color: #fffce8;
}

.coupon__more dt {
  padding: 5px 10px;
  font-family: var(--ff02);
  color: #458f95;
  text-align: center;
  background: #fcf09e;
  position: relative;
  font-weight: 400;
}

.coupon__more dt::before,
.coupon__more dt::after {
  content: "";
  width: 13px;
  height: 1px;
  background-color: #458f95;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  position: absolute;
  top: 50%;
  right: 10px;
}

.coupon__more dt::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.coupon__more dt.is-parent::after {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

.coupon__more dd {
  display: none;
}

.menu__section .heading {
  margin-bottom: 20px;
  padding-bottom: 10px;
  font-family: var(--ff02);
  position: relative;
}

.menu__section .heading::before {
  content: "";
  width: 30px;
  height: 3px;
  display: block;
  background-color: var(--color09);
  position: absolute;
  bottom: 0;
  left: 0;
}

.menu__section .menu__wrapper:nth-of-type(even) {
  background-color: unset;
}

.menu__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  column-gap: 40px;

  row-gap: 20px;
}

.menu__item {
  width: calc((100% - 40px) / 2);
}

.menu__title {
  width: 100%;
  font-weight: 500;
}

.menu__info {
  width: calc(100% - 110px);
}

.menu__price {
  width: 110px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-line-pack: end;
  align-content: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding-left: 10px;
  font-family: var(--ff02);
  text-align: right;
}

.menu__price .up-fz-80\% {
  display: inline-block;
  margin-right: -8px;
}

.menu__price--type2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.menu__price--type2 dt {
  font-weight: 600;
  font-size: 80%;
}

.menu__price--type2 dd {
  min-width: 60px;
}

.menu__price dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  align-items: baseline;
  -ms-flex-align: baseline;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;

  gap: 10px;
}

.menu__item-inner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  align-items: baseline;
  -ms-flex-align: baseline;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--color09);
}

.menu__item--type02 .menu__item-inner {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.menu__text {
  font-size: 12px;
  line-height: 1.3;
}

.menu__text--2 {
  padding-left: 1.5rem;
  font-weight: 600;
  color: var(--color06);
  position: relative;
}

.menu__text--2 .or {
  margin-right: 10px;
  font-size: 80%;
  color: var(--color00);
}

.menu__text--2 i {
  margin-right: 5px;
  color: var(--color09);
  position: absolute;
  top: 6px;
  left: 0;
}

.course__box {
  width: 100%;
  margin-top: 10px;
  padding: 15px;
  font-family: var(--ff02);
  font-size: 14px;
  border-radius: 5px;
  background-color: var(--color04);
}

.course__box dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  align-items: baseline;
  -ms-flex-align: baseline;
}

.course__box dl dt {
  width: 130px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  padding-right: 10px;

  gap: 10px;
}

.course__box dl dt::after {
  content: "";
  width: 1px;
  height: 2px;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  background-color: var(--color09);
}

@media(max-width:599px) {
  .menu__list {
    row-gap: 10px;
  }

  .menu__item {
    width: 100%;
  }

  .menu__item-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-bottom: 10px;

    row-gap: 10px;
  }

  .menu__info {
    width: 100%;
  }
}

/* 00 content */
.content1__item {
  width: 90%;
}

.-w100 .content1__item {
  width: 100%;
}

.content1__item+.content1__item {
  margin-top: 60px;
}

.content1__item:nth-of-type(even) {
  margin-left: auto;
}

.content1__item-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.content1__item:nth-of-type(even) .content1__item-inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.content1__image {
  width: 48%;
}

.content1__content {
  width: 48%;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
}

@media(max-width:1024px) {
  .content1__item {
    width: 100%;
  }
}

@media(max-width:599px) {
  .content1__image {
    width: 100%;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }

  .content1__content {
    width: 100%;
    /* autoprefixer: ignore next */
    display: contents;
  }

  .content1__content-title {
    width: 100%;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    margin-bottom: 10px;
    text-align: center;
  }

  .content1__content-text {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
  }
}

.content2__item+.content2__item {
  margin-top: 50px;
}

.content2__content-title {
  width: 100%;
  color: var(--color06);
  border-bottom: 2px solid var(--color06);
}

.content3__term {
  margin-top: 10px;
  font-weight: 500;
  font-size: 18px;
  color: var(--color06);
  text-align: center;
}

.content3__disc {
  margin-top: 10px;
  font-size: 14px;
  line-height: 2;
}

@media(max-width:599px) {
  .content2__item+.content2__item {
    margin-top: 30px;
  }
}

/* 16 voice お客様の声 */
.voice__section .voice__list .voice__item+.voice__item {
  margin-top: 30px;
}

.voice__section .voice__list .voice__item .voice__item-inner {
  padding: 30px;
  background: var(--color04);
}

.voice__section .voice__list .voice__item .voice__name {
  font-size: 22px;
}

.voice__section .voice__list .voice__item .voice__text {
  margin-top: 10px;
}

@media(max-width:1024px) {
  .voice__section .voice__list .voice__item .voice__item-inner {
    padding: 30px 20px;
  }
}

@media(max-width:599px) {
  .voice__section .voice__list .voice__item .voice__item-inner {
    padding: 20px 15px;
  }

  .voice__section .voice__list .voice__item .voice__name {
    margin-top: 10px;
    font-size: 20px;
    text-align: center;
  }

  .voice__section .voice__list .voice__item .voice__cate {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

/* 記事一覧ページ */
.cate,
.genre {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.cate span,
.genre span {
  display: inline-block;
  margin: 0 3px 3px 0px;
  padding: 1px 5px 2px 5px;
  font-size: 11px;
  color: var(--color06);
  background: var(--color05);
}

.cate>span[class=''] {
    display: none;
}

.cate span.NEWS,
.genre span.NEWS {
  background: var(--color07);
  color: #fff;
}

.cate span.BLOG,
.genre span.BLOG {
  background: var(--color08);
  color: #fff;
}

.article-list--recommendation .article-list__item:nth-of-type(4) {
  display: none;
}

.article-list .article-list__img {
  position: relative;
}

.article-list .article-list__tag--wrap {
  width: calc(100% - 10px);
  position: absolute;
  top: 5px;
  right: 5px;
}

.article-list .article-list__date {
  margin-top: 10px;
  color: var(--color09);
}

.article-list .article-list__title {
  margin-top: 5px;
  font-weight: 500;
}

.article-list a:hover .article-list__title {
  text-decoration: underline;
}

/* 記事詳細ページ */
.article-detail .article-detail__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.article-detail__title {
  margin: 10px 0 20px;
  font-weight: 600;
  font-size: 22px;
}

.article-detail .article-detail__content h2 {
  margin: 2rem 0 1rem;
  padding: 0.5rem 1rem;
  font-family: var(--ff02);
  font-weight: 600;
  font-size: 22px;
  color: var(--color06);
  letter-spacing: 2px;
  background-color: var(--color04);
}

.article-detail .article-detail__content h3 {
  margin: 1.5rem 0 0.8rem;
  padding: 0.6rem 0.8rem 0.5rem;
  font-family: var(--ff02);
  font-weight: 600;
  font-size: 20px;
  line-height: 1;
  border-left: solid 8px var(--color01);
}

.article-detail .article-detail__content h4 {
  margin: 1rem 0 0.8rem;
  padding-bottom: 0.3rem;
  font-family: var(--ff02);
  font-weight: 600;
  font-size: 18px;
  border-bottom: dotted 2px var(--color01);
}

.article-detail .article-detail__content ul,
.article-detail .article-detail__content ol {
  margin: 1rem 0;
}

.article-detail .article-detail__content ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  align-items: baseline;
  -ms-flex-align: baseline;
  line-height: 1.3;
  -webkit-column-gap: 5px;
  -moz-column-gap: 5px;
  column-gap: 5px;
}

.article-detail .article-detail__content ul li::before {
  content: "■";
  color: var(--color01);
}

.article-detail .article-detail__content ul li+li {
  margin-top: 5px;
}

.article-detail .article-detail__content ol li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  align-items: baseline;
  -ms-flex-align: baseline;
  list-style-type: none;
  counter-increment: cnt;
  line-height: 1.3;
}

.article-detail .article-detail__content ol li+li {
  margin-top: 5px;
}

.article-detail .article-detail__content ol li::before {
  content: ""counter(cnt) ".";
  min-width: 21px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-right: 10px;
  font-family: var(--ff02);
  font-weight: bold;
  font-size: 120%;
  color: var(--color01);
  text-align: center;
}

.article-detail iframe[src*="youtube"] {
  height: auto;
  margin-top: 1em;
  margin-bottom: 1em;

  aspect-ratio: 16 / 9;
}

@media(max-width:1024px) {

  .cate span,
  .genre span {
    font-size: 8px;
    letter-spacing: 0;
  }

  .article-list .article-list__date {
    margin-top: 5px;
    font-size: 12px;
  }

  .article-list .article-list__title {
    margin-top: 2px;
  }
}

@media(max-width:599px) {
  .article-list--recommendation .article-list__item:nth-of-type(4) {
    display: block;
  }

  .article-detail .article-detail__meta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;

    gap: 3px;
  }
}

/* 17faq */
.faq__list .faq__question {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  align-items: baseline;
  -ms-flex-align: start;
  padding: 10px 50px 15px 10px;
  color: #fff;
  background: var(--color01);
  cursor: pointer;
  position: relative;
}

.faq__list .faq__question span.text {
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
  padding: 10px 50px 10px 0;
  line-height: 1.5;
}

.faq__list .faq__question:before {
  content: "Q";
  width: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-family: var(--ff02);
  font-size: 30px;
  color: #fff;
  line-height: 1;
  -webkit-transform: translateY(3px);
  transform: translateY(3px);
}

.faq__list .faq__question .faq__question-text:before,
.faq__list .faq__question .faq__question-text:after {
  content: "";
  width: 20px;
  height: 2px;
  text-align: center;
  border-radius: 5px;
  background: #fff;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
}

.faq__list .faq__question .faq__question-text:before {
  -webkit-transform: translateY(-50%) rotate(-90deg);
  transform: translateY(-50%) rotate(-90deg);
}

.faq__list .faq__question.is-parent .faq__question-text:before {
  -webkit-transform: translateY(-50%) rotate(0deg);
  transform: translateY(-50%) rotate(0deg);
}

.faq__list .faq__item {
  overflow: hidden;
  margin-bottom: 20px;
  border-radius: 5px;
}

.faq__list .faq__answer {
  display: none;
}

.faq__list .faq__answer-text {
  display: block;
  padding: 15px 20px 20px 70px;
  font-size: 15px;
  border-top: 2px solid var(--color01);
  background: var(--color04);
  position: relative;
}

[data-element-id] .faq__answer-text .faq__answer {
  display: block;
}

.faq__list .faq__answer-text:before {
  content: "A";
  width: 60px;
  display: block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-family: var(--ff02);
  font-size: 30px;
  color: var(--color01);
  line-height: 1;
  text-align: center;
  -webkit-transform: translateY(3px);
  transform: translateY(3px);
  position: absolute;
  top: 10px;
  left: 10px;
}

@media (max-width: 599px) {
  .faq__list .faq__item {
    font-size: 15px;
  }

  .faq__list .faq__question span.text {
    padding: 10px 30px 10px 0;
  }

  .faq__list .faq__question span:before,
  .faq__list .faq__question span:after {
    width: 12px;
    right: 8px;
  }

  .faq__list .faq__question:before {
    width: 25px;
    margin-right: 5px;
    font-size: 24px;
  }

  .faq__list .faq__answer-text {
    padding: 10px 10px 15px 40px;
  }

  .faq__list .faq__answer-text:before {
    width: 25px;
    margin-right: 5px;
    font-size: 24px;
    top: 5px;
  }

  .faq__list .faq__question .faq__question-text:before,
  .faq__list .faq__question .faq__question-text:after {
    width: 15px;
    right: 10px;
  }
}

/* 18contact */
.contact__reserve-inner {
  padding: 50px 30px;
  border: 5px solid var(--color04);
}

.contact__section .form__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-align: baseline;
  align-items: baseline;
  -ms-flex-align: baseline;
  padding: 20px 0;
  line-height: 1;
}

.contact__section .form__item.form__item--textarea {
  -webkit-box-align: start;
  align-items: flex-start;
  -ms-flex-align: start;
}

.contact__section .form__label {
  width: 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  align-items: baseline;
  -ms-flex-align: baseline;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-weight: 500;
}

.contact__section .form__required {
  display: inline-block;
  margin-left: 10px;
  padding: 2px 10px 4px 10px;
  font-size: 12px;
  color: #fff;
  line-height: 1.6em;
  background: var(--color01);
}

.contact__section .form__field {
  width: 100%;
  padding-left: 50px;
}

.contact__section .form__field input {
  width: 100%;
  padding: 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  background: rgb(238 242 241);
}

.contact__section .form__field input[type="radio"] {
  display: none;
}

.contact__section .form__field input[type="radio"]+label {
  margin-right: 20px;
  padding-left: 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1;
  position: relative;
}

.contact__section .form__field input[type="radio"]+label::before {
  content: "";
  width: 15px;
  height: 15px;
  display: block;
  border: 1px solid #7c7c7c;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  top: 1px;
  left: 0;
}

.contact__section .form__field input[type="radio"]:checked+label::after {
  content: "";
  width: 9px;
  height: 9px;
  display: block;
  border-radius: 50%;
  background: var(--color01);
  position: absolute;
  top: 4px;
  left: 3px;
}

.contact__section .form__field input[type="radio"]:checked+label {
  -webkit-transition: 0.6s;
  transition: 0.6s;
}

.contact__section .form__field input[type="number"] {
  width: 70px;
  margin-right: 10px;
}

.contact__section .form__field select {
  padding: 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: inherit;
  border: 1px solid #999;
}

.contact__section .form__field textarea {
  width: 100%;
  height: 170px;
  padding: 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  border: none;
  background: rgb(238 242 241);
}

.contact__section .btn {
  margin-top: 30px;
}

.contact__section .btn button {
  width: 100%;
  border: none;
}

.contact__section .btn button:hover {
  cursor: pointer;
}

.form__field .actual_object_error_wrapper {
    display: flex;
    flex-wrap: wrap;
}

.form__item .uk-text-danger.alert-anotation {
    width: 100%;
}

@media (max-width: 1024px) {
  
}

@media(max-width:599px) {
  .contact__section .form__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  
  .contact__section .item {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .contact__section .form__label {
    width: 100%;
    display: block;
    margin-bottom: 10px;
  }

  .contact__section .form__field {
    padding-left: 0;
  }

  .contact__section .form__field input[type="radio"]+label::before {
    top: 1px;
  }

  .contact__reserve-inner {
    padding: 30px 15px;
  }

  .contact__reserve-btn-list .btn,
  .contact__reserve-btn-list .btn a {
    width: 100%;
  }
}

.uk-lb{
  cursor: pointer;
}

/* 見たまま編集用 */
[data-element-id] .show\@tb {
  display: block;
  border: solid 4px green;
  position: relative;
  max-width:375px;
}

[data-element-id] .show\@tb:after {
  content: "モバイル用";
  display: block;
  padding: 8px 5px 5px;
  font-weight: 500;
  font-size: 12px;
  color: #fff;
  line-height: 1;
  text-align: center;
  text-shadow: none;
  background: green;
}

[data-element-id] .show\@tb.indention {
  width: 30px;
  display: inline-block;
  border: none;
}

[data-element-id] .show\@tb.indention:after {
  content: "SP時改行";
  padding: 4px 2px 5px;
  font-size: 10px;
}

[data-element-id] .show\@pc.indention {
  width: 30px;
  display: inline-block;
  font-size: 10px;
  border: none;
}

[data-element-id] .show\@pc.indention:after {
  content: "PC時改行";
  display: block;
  padding: 3px;
  font-weight: 700;
  font-size: 10px;
  color: #fff;
  letter-spacing: -1px;
  text-align: center;
  text-shadow: none;
  background: blue;
}

[data-element-id] .show\@sp {
  max-width: 375px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  border: solid 4px green;
  position: relative;
}

[data-element-id] .show\@sp:after {
  content: "モバイル用";
  display: block;
  padding: 8px 5px 5px;
  font-weight: 500;
  font-size: 12px;
  color: #fff;
  line-height: 1;
  text-align: center;
  text-shadow: none;
  background: green;
}

[data-element-id] .show\@sp.indention {
  width: 30px;
  display: inline-block;
  border: none;
}

[data-element-id] .show\@sp.indention:after {
  content: "SP時改行";
  padding: 4px 2px 5px;
  font-size: 10px;
}

/* header */
[data-element-id] .mainvisual__name{
    border: 4px solid gray;
    background-color: #8080806b;
    width: fit-content;
    display: flex;
    flex-wrap: wrap;
    pointer-events: none;
}

[data-element-id] .mainvisual__name>* {
    opacity: .5;
}

[data-element-id] .mainvisual__name::before{
  content: "編集不可";
    background-color: gray;
    font-size: 12px;
    color: #fff;
    display: block;
    width: 100%;
    text-align: center;
    padding-bottom: 5px;
    padding-top: 2px;
    margin-top: -1px;
}

[data-element-id] .header__page-title {
    padding: 20px 0;
}

[data-element-id] #header {
    position: relative;
    top: auto;
    left: auto;
}

[data-element-id] .header .header__row{
  align-items: flex-start;
}

[data-element-id] .global-nav .global-nav__inner{
  flex-wrap: wrap;
    justify-content: flex-end;
}

[data-element-id] .global-nav .global-nav__list{
  align-items: flex-start;
}

[data-element-id] .global-nav .global-nav__submenu{
      transform: none;
    pointer-events: auto;
    position: relative;
    top: auto;
    left: auto;
    opacity: 1;
    visibility: visible;
    padding-top: 0;
    margin-top: 10px;
    border:3px solid var(--color00);
}

[data-element-id] .global-nav .global-nav__submenu::before {
    content: "ドロップダウン";
    background: var(--color00);
    color: #fff;
    font-size: 10px;
    display: block;
    padding-bottom: 4px;
    text-align: center;
}

[data-element-id] .page-index .header .header__logo img {
    max-width: 100px;
}

[data-element-id] .header .header__main .header__info{
  width: 80px;
  transform: none;
}

[data-element-id] .reserve__list-wrap,[data-element-id] .online__list-wrap{
  max-width: 350px;
}

/* footer */
[data-element-id] .modal {
    height: fit-content;
    position: relative;
    top: auto;
    left: auto;
    z-index: 100;
    background: rgb(0 0 0 / 40%);
    padding: 30px;
    display: flex;
    justify-content: center;
}

[data-element-id] .modal__content {
    transform: none;
    position: relative;
    top: auto;
    left: auto;
}

[data-element-id] .modal__bg{
  display: none;
}

/* product */
[data-element-id] .product__slider .swiper-wrapper{
  flex-wrap: wrap;
}

[data-element-id] .product__slider .swiper-wrapper .swiper-slide{
  border: 4px solid orange;
  padding: 10px;
}

[data-element-id] .product__slider .swiper-wrapper .swiper-slide + .swiper-slide{
  margin-top: 30px;
}

[data-element-id] .product__slider .swiper-wrapper [data-hide-element]{
  width: 100%;
    margin-top: 20px;
    padding: 0;
    border: solid 4px #F44336;
}

[data-element-id] .product__slider .swiper-wrapper .swiper-slide::before {
    content: "複製、非表示設定する場合はこちらをクリック";
    background-color: orange;
    font-size: 12px;
    color: #fff;
    display: block;
    width: calc(100% + 20px);
    text-align: center;
    padding-bottom: 5px;
    padding-top: 2px;
    margin: -10px -10px 10px -10px;
}

/* gallery */
[data-element-id] .gallery__slider .swiper-wrapper >div{
    width: 100%;
    display: flex;
    gap: 10px;
}

[data-element-id] .gallery__slider .swiper-wrapper .swiper-slide{
  width: calc((100% - 30px)/4);
}

[data-element-id] .gallery__slider .swiper-wrapper .swiper-slide:nth-child(n + 5){
  display: none;
}

/* staff */
[data-element-id] .staff-profile__list{
  display: block;
}

[data-element-id] .staff__slider .swiper-wrapper{
    justify-content: center;
}

[data-element-id] .staff__slider .swiper-wrapper >div {
    display: flex;
    gap: 30px;
}

[data-element-id] .staff__slider .swiper-wrapper .swiper-slide {
   width: calc((100% - 90px) / 4)
}

[data-element-id] .staff__slider .swiper-wrapper .swiper-slide:nth-child(n + 5){
  display: none;
}

/* menu */
[data-element-id] .coupon__more dd{
  display: block;
}

/* faq */
[data-element-id] .faq__list .faq__answer{
  display: block;
}
