@charset "UTF-8";
.one {
  position: relative;
  overflow: hidden;
  height: calc(1em * 1);
  padding-right: 1em;
  line-height: 1;
  background-color: #ffffff;
}
.one:before {
  content: "...";
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-block;
  width: 1em;
}
.one:after {
  content: "";
  position: relative;
  right: calc(1em * -1);
  float: right;
  width: 1em;
  height: 100%;
  margin-left: calc(1em * -1);
  background-color: #ffffff;
}

.two {
  position: relative;
  overflow: hidden;
  height: calc(2em * 2);
  padding-right: 1em;
  line-height: 2;
  background-color: #ffffff;
}
.two:before {
  content: "...";
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-block;
  width: 1em;
}
.two:after {
  content: "";
  position: relative;
  right: calc(1em * -1);
  float: right;
  width: 1em;
  height: 100%;
  margin-left: calc(1em * -1);
  background-color: #ffffff;
}

/*
======== table of content. ===============

summary:パーツ設定

==========================================
*/
/*----------------------------------------
mv
------------------------------------------*/
#mv {
  position: relative;
  top: -12.8125vw;
  height: 60.4166666667vw;
  margin-bottom: -23.9583333333vw;
  z-index: -1;
}
@media screen and (min-width: 768px) and (max-width: 1080px) {
  #mv {
    top: -13.8541666667vw;
  }
}
@media screen and (max-width: 767px) {
  #mv {
    top: -53.7333333333vw;
    height: 233.3333333333vw;
    margin-bottom: -44vw;
    overflow: hidden;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  #mv {
    height: 166.6666666667vw;
    margin-bottom: -53.3333333333vw;
  }
}
#mv figure {
  position: absolute;
}
#mv figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#mv .mv__text__wrapper {
  position: relative;
  top: 13.5416666667vw;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  #mv .mv__text__wrapper {
    top: 76vw;
    flex-direction: row;
    align-items: center;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  #mv .mv__text__wrapper {
    top: 60vw;
  }
}
@media screen and (min-width: 768px) {
  #mv .mv__text__wrapper .mv__text:first-child {
    margin-left: 2.0833333333vw;
  }
}
@media screen and (max-width: 767px) {
  #mv .mv__text__wrapper .mv__text:first-child {
    margin-bottom: 10.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  #mv .mv__text__wrapper .mv__text:nth-child(2) {
    margin-right: 2.0833333333vw;
  }
}
#mv .mv__text__wrapper .mv__text#mv__text01 p, #mv .mv__text__wrapper .mv__text#mv__text02 p {
  opacity: 0;
  filter: blur(10px);
  transform: translate(0, -10px);
  transition: opacity 1s cubic-bezier(0, 0, 0.58, 1), transform 1s cubic-bezier(0.19, 1, 0.22, 1), filter 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 1.5s cubic-bezier(0, 0, 0.58, 1), transform 1.5s cubic-bezier(0.19, 1, 0.22, 1), filter 1.5s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 767px) {
  #mv .mv__text__wrapper .mv__text#mv__text01 p, #mv .mv__text__wrapper .mv__text#mv__text02 p {
    opacity: 0;
    filter: blur(8px);
    transform: translate(0, -10px);
    transition: opacity 1s cubic-bezier(0, 0, 0.58, 1), transform 1s cubic-bezier(0.19, 1, 0.22, 1), filter 1s cubic-bezier(0.19, 1, 0.22, 1);
  }
}
#mv .mv__text__wrapper .mv__text#mv__text01 p:nth-child(2), #mv .mv__text__wrapper .mv__text#mv__text02 p:nth-child(2) {
  transition-delay: 0.8s;
}
#mv .mv__text__wrapper .mv__text#mv__text01 p:nth-child(3), #mv .mv__text__wrapper .mv__text#mv__text02 p:nth-child(3) {
  transition-delay: 1.6s;
}
#mv .mv__text__wrapper .mv__text#mv__text01 p:nth-child(4), #mv .mv__text__wrapper .mv__text#mv__text02 p:nth-child(4) {
  transition-delay: 2.4s;
}
#mv .mv__text__wrapper .mv__text#mv__text01 p:nth-child(5), #mv .mv__text__wrapper .mv__text#mv__text02 p:nth-child(5) {
  transition-delay: 3.2s;
}
#mv .mv__text__wrapper .mv__text#mv__text01 p:nth-child(6), #mv .mv__text__wrapper .mv__text#mv__text02 p:nth-child(6) {
  transition-delay: 4s;
}
#mv .mv__text__wrapper .mv__text#mv__text01 p:nth-child(7), #mv .mv__text__wrapper .mv__text#mv__text02 p:nth-child(7) {
  transition-delay: 4.8s;
}
#mv .mv__text__wrapper .mv__text#mv__text01 p:nth-child(8), #mv .mv__text__wrapper .mv__text#mv__text02 p:nth-child(8) {
  transition-delay: 5.6s;
}
#mv .mv__text__wrapper .mv__text#mv__text01 p:nth-child(9), #mv .mv__text__wrapper .mv__text#mv__text02 p:nth-child(9) {
  transition-delay: 6.4s;
}
#mv .mv__text__wrapper .mv__text#mv__text01 p:nth-child(10), #mv .mv__text__wrapper .mv__text#mv__text02 p:nth-child(10) {
  transition-delay: 7.2s;
}
#mv .mv__text__wrapper .mv__text#mv__text01 p:nth-child(11), #mv .mv__text__wrapper .mv__text#mv__text02 p:nth-child(11) {
  transition-delay: 8s;
}
#mv .mv__text__wrapper .mv__text#mv__text01.started p, #mv .mv__text__wrapper .mv__text#mv__text02.started p {
  opacity: 1;
  transform: translate(0, 0);
  filter: blur(0);
}
#mv .mv__text__wrapper .mv__text p {
  color: #646666;
  letter-spacing: 0.4em; /*font-size: 90%;*/
  line-height: 400%;
}

/*----------------------------------------
About
------------------------------------------*/
#about .splide {
  margin-bottom: 5.2083333333vw;
}
@media screen and (max-width: 767px) {
  #about .splide {
    margin-bottom: 6.6666666667vw;
  }
}
#about .about__text {
  text-align: center;
}
#about .about__text p {
  color: #646666;
}
#about .about__text p:not(:last-child) {
  margin-bottom: 5.2083333333vw;
}

/*----------------------------------------
Menu
------------------------------------------*/
#menu .contents__inner {
  padding: 4.1666666667vw 6.25vw;
}
@media screen and (max-width: 767px) {
  #menu .contents__inner {
    padding: 5.3333333333vw 8vw;
  }
}
#menu .menu__list {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  #menu .menu__list li {
    width: 32%;
  }
}
@media screen and (min-width: 768px) {
  #menu .menu__list li:not(:nth-child(3n)) {
    margin-right: 2%;
  }
}
@media screen and (min-width: 768px) {
  #menu .menu__list li:not(:nth-last-child(-n+3)) {
    margin-bottom: 4%;
  }
}
@media screen and (max-width: 767px) {
  #menu .menu__list li:not(:last-child) {
    margin-bottom: 12vw;
  }
}
#menu .menu__list li figure {
  margin-bottom: 1.5em;
  overflow: hidden;
}
#menu .menu__list li figure img {
  transition: opacity 0.7s cubic-bezier(0.23, 1, 0.32, 1), transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), border 0.7s cubic-bezier(0.23, 1, 0.32, 1), background 0.7s cubic-bezier(0.23, 1, 0.32, 1), color 0.7s cubic-bezier(0.23, 1, 0.32, 1), text-shadow 0.7s cubic-bezier(0.23, 1, 0.32, 1), filter 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}
#menu .menu__list li a {
  display: block;
}
@media screen and (min-width: 768px) {
  #menu .menu__list li a:hover img {
    filter: brightness(0.8);
    transform: scale(1.1);
  }
  #menu .menu__list li a:hover .ttl__side-border,
  #menu .menu__list li a:hover .ttl__side-border::before,
  #menu .menu__list li a:hover .ttl__side-border::after,
  #menu .menu__list li a:hover .menu__list__price,
  #menu .menu__list li a:hover .menu__list__description {
    opacity: 0.65;
  }
  #menu .menu__list li a:hover .link__more {
    background: #646666; /*color:$color-base-text;*/
  }
}
#menu .menu__list__description {
  margin-left: 1em;
  margin-right: 1em;
  margin-bottom: 2em;
}
#menu .menu__list__price {
  text-align: center;
}
#menu .menu__list .ttl__side-border, #menu .menu__list__description, #menu .menu__list__price {
  transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1), transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), border 0.5s cubic-bezier(0.23, 1, 0.32, 1), background 0.5s cubic-bezier(0.23, 1, 0.32, 1), color 0.5s cubic-bezier(0.23, 1, 0.32, 1), text-shadow 0.5s cubic-bezier(0.23, 1, 0.32, 1), filter 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.ipad #menu .menu__list__description {
  margin-left: 0;
  margin-right: 0;
  font-size: 75%;
}
.ipad #menu .menu__list__price {
  font-size: 80%;
}
.ipad #menu .menu__list .ttl__side-border {
  font-size: 85%;
}

/*----------------------------------------
Instructor
------------------------------------------*/
.instructor__profile {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 3.125vw;
}
@media screen and (max-width: 767px) {
  .instructor__profile {
    margin-bottom: 8vw;
  }
}
@media screen and (max-width: 767px) {
  .instructor__profile {
    flex-direction: column;
  }
}
.instructor__profile > * {
  width: 26.0416666667vw;
  margin: 0 1.875vw;
}
@media screen and (max-width: 767px) {
  .instructor__profile > * {
    width: 70%;
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) {
  .instructor__profile figure {
    margin-left: 10.4166666667vw;
  }
}
@media screen and (max-width: 767px) {
  .instructor__profile figure {
    margin-bottom: 4vw;
  }
}
@media screen and (min-width: 768px) {
  .instructor__profile__text {
    width: 36.4583333333vw;
  }
}

.instructor__text p {
  font-size: 80%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .instructor__text p {
    font-size: 90%;
  }
}

/*----------------------------------------
Academy
------------------------------------------*/
#academy .contents__inner {
  padding: 4.1666666667vw 11.4583333333vw;
}
@media screen and (max-width: 767px) {
  #academy .contents__inner {
    padding: 5.3333333333vw 8vw;
  }
}
#academy .academy__img {
  margin: 0 7.2916666667vw 3.125vw;
}
@media screen and (min-width: 768px) {
  #academy .academy__img {
    margin-left: 14.5833333333vw;
    margin-right: 14.5833333333vw;
  }
}
#academy .academy__course__ttl {
  margin-bottom: 1.5625vw;
  font-weight: 700;
  text-align: center;
}
#academy .academy__course__ttl__border {
  display: block;
  margin-bottom: 0.7em;
}
#academy .academy__course__ttl__border__text {
  display: inline-block;
  padding: 0.1em;
  border: 2px solid #231815;
  border-right: none;
  border-left: none;
  line-height: 150%;
}
#academy .academy__inner {
  margin: 0 4.1666666667vw;
}
@media screen and (max-width: 767px) {
  #academy .academy__inner {
    margin: 0;
  }
}
#academy .academy__inner__course {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-items: flex-start;
  margin-bottom: 1.0416666667vw;
}
@media screen and (max-width: 767px) {
  #academy .academy__inner__course {
    flex-direction: column;
  }
}
#academy .academy__inner__course > * {
  position: relative;
  width: 49.56%;
  height: 33.9583333333vw;
}
@media screen and (max-width: 767px) {
  #academy .academy__inner__course > * {
    width: 100%;
    height: 101.3333333333vw;
  }
}
#academy .academy__inner__course__col {
  padding: 2.3958333333vw 2.0833333333vw;
  background-repeat: no-repeat;
  background-size: 100%;
}
#academy .academy__inner__course__col.curriculum__col {
  background-image: url("../../img/curriculum__bg.svg?062501");
}
@media screen and (max-width: 767px) {
  #academy .academy__inner__course__col.curriculum__col {
    margin-bottom: -4vw;
    background-image: url("../../img/curriculum__bg__sp.svg");
  }
}
#academy .academy__inner__course__col.academy__col {
  background-image: url("../../img/academy__bg.svg?062501");
}
@media screen and (min-width: 768px) {
  #academy .academy__inner__course__col.academy__col {
    transition-delay: 0.4s;
  }
}
@media screen and (max-width: 767px) {
  #academy .academy__inner__course__col.academy__col {
    background-image: url("../../img/academy__bg__sp.svg?062503");
  }
}
@media screen and (max-width: 767px) {
  #academy .academy__inner__course__col {
    padding: 5.3333333333vw 2.6666666667vw 3.0666666667vw;
  }
}
#academy .academy__inner__course__col dl dt {
  margin-bottom: 1.0416666667vw;
  border-bottom: 1px solid #231815;
  text-align: right;
}
@media screen and (max-width: 767px) {
  #academy .academy__inner__course__col dl dt {
    margin-bottom: 2.6666666667vw;
    padding-bottom: 1.3333333333vw;
  }
}
#academy .academy__inner__course__col .list__line-height li {
  margin-bottom: 0.6em;
}

/*----------------------------------------
Shop
------------------------------------------*/
#shop .contents__inner .banner__shop {
  margin: 0 26.4367816092% 3.4482758621%;
}
@media screen and (max-width: 767px) {
  #shop .contents__inner .banner__shop {
    margin: 0 0 4vw;
  }
}
#shop .contents__inner .banner__shop img {
  transition: opacity 0.7s cubic-bezier(0.23, 1, 0.32, 1), transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), border 0.7s cubic-bezier(0.23, 1, 0.32, 1), background 0.7s cubic-bezier(0.23, 1, 0.32, 1), color 0.7s cubic-bezier(0.23, 1, 0.32, 1), text-shadow 0.7s cubic-bezier(0.23, 1, 0.32, 1), filter 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}
#shop .contents__inner .banner__shop a {
  display: block;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  #shop .contents__inner .banner__shop a:hover img {
    filter: brightness(0.8);
    transform: scale(1.1);
  }
}
#shop .contents__inner .shop__ttl {
  margin-bottom: 1em;
  font-size: 125%;
}
#shop .contents__inner .shop__ttl,
#shop .contents__inner .shop__txt {
  text-align: center;
}

/*----------------------------------------
見出し
------------------------------------------*/
h2 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 2.6041666667vw;
  font-family: "Vegawanty";
  font-size: 180%;
  line-height: 125%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  h2 {
    margin-bottom: 6.6666666667vw;
    font-size: 200%;
  }
}
h2 .ttl__inner {
  position: relative;
  display: inline-block;
  overflow: hidden;
}
h2 .ttl__inner span {
  display: inline-block;
  transform: translate(0, 105%);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}
h2 .ttl__inner.started {
  opacity: 1;
}
h2 .ttl__inner.started span {
  transform: translate(0, 0);
}
h2 .ttl__inner.started span:nth-child(2) {
  transition-delay: 0.04s;
}
h2 .ttl__inner.started span:nth-child(3) {
  transition-delay: 0.08s;
}
h2 .ttl__inner.started span:nth-child(4) {
  transition-delay: 0.12s;
}
h2 .ttl__inner.started span:nth-child(5) {
  transition-delay: 0.16s;
}
h2 .ttl__inner.started span:nth-child(6) {
  transition-delay: 0.2s;
}
h2 .ttl__inner.started span:nth-child(7) {
  transition-delay: 0.24s;
}
h2 .ttl__inner.started span:nth-child(8) {
  transition-delay: 0.28s;
}
h2 .ttl__inner.started span:nth-child(9) {
  transition-delay: 0.32s;
}
h2 .ttl__inner.started span:nth-child(10) {
  transition-delay: 0.36s;
}
h2 .ttl__inner.started span:nth-child(11) {
  transition-delay: 0.4s;
}
h2 .ttl__inner.started::after {
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
}
h2 .ttl__inner::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #231815;
  -webkit-clip-path: inset(0% 100% 0% 0%);
          clip-path: inset(0% 100% 0% 0%);
  transition: -webkit-clip-path 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: clip-path 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: clip-path 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-clip-path 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-delay: 0.7s;
}
h2 .ttl__inner:first-letter {
  text-transform: uppercase;
}

.ttl__side-border {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Vegawanty", "Noto Serif JP", serif;
  font-size: 135%;
  line-height: 140%;
}
.ttl__side-border:before, .ttl__side-border:after {
  content: "";
  display: block;
  width: 1em;
  height: 1px;
  background: #231815;
  transition: opacity 0.7s cubic-bezier(0.23, 1, 0.32, 1), transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), border 0.7s cubic-bezier(0.23, 1, 0.32, 1), background 0.7s cubic-bezier(0.23, 1, 0.32, 1), color 0.7s cubic-bezier(0.23, 1, 0.32, 1), text-shadow 0.7s cubic-bezier(0.23, 1, 0.32, 1), filter 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}
.ttl__side-border:before {
  margin-right: 0.5em;
}
.ttl__side-border:after {
  margin-left: 0.5em;
}
.ttl__side-border.ttl__side-border-white {
  color: #fff;
}
.ttl__side-border.ttl__side-border-white:before, .ttl__side-border.ttl__side-border-white:after {
  content: "";
  display: block;
  width: 1em;
  height: 1px;
  background: #231815;
}
.ttl__side-border.jp {
  font-size: 110%;
  line-height: 170%;
}

/*----------------------------------------
リンク
------------------------------------------*/
@media screen and (min-width: 768px) {
  .link__underline:hover {
    color: #e7ebe9;
  }
}

.link__more {
  margin: 0.5em 2em 0;
  padding: 0.5em;
  background: #1e1513;
  color: #fff;
  font-family: "Vegawanty";
  line-height: 135%;
  text-align: center;
  transition: opacity 0.7s cubic-bezier(0.23, 1, 0.32, 1), transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), border 0.7s cubic-bezier(0.23, 1, 0.32, 1), background 0.7s cubic-bezier(0.23, 1, 0.32, 1), color 0.7s cubic-bezier(0.23, 1, 0.32, 1), text-shadow 0.7s cubic-bezier(0.23, 1, 0.32, 1), filter 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}

.view__more {
  line-height: 150%;
}
.view__more a {
  padding: 0.5em 3em;
  background: #1e1513;
  border: 2px solid #1e1513;
  color: #fff;
  line-height: 135%;
  text-align: center;
  transition: opacity 0.7s cubic-bezier(0.23, 1, 0.32, 1), transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), border 0.7s cubic-bezier(0.23, 1, 0.32, 1), background 0.7s cubic-bezier(0.23, 1, 0.32, 1), color 0.7s cubic-bezier(0.23, 1, 0.32, 1), text-shadow 0.7s cubic-bezier(0.23, 1, 0.32, 1), filter 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}
.view__more a:hover {
  background: #fff;
  color: #1e1513;
}

/*----------------------------------------
リスト
------------------------------------------*//*# sourceMappingURL=parts.css.map */