@charset "UTF-8";
/* //////////////////////////////////////////////////////////////////////////////////////////////////

PC

////////////////////////////////////////////////////////////////////////////////////////////////// */
@media screen and (min-width: 768px) {
  /*
  ========================================================================= */
  /* layout レイアウト
  ========================================================================= */
  .side {
    position: fixed;
    bottom: calc(var(--var-1) * 90);
    right: calc(var(--var-1) * 30);
    z-index: 10000;
    display: block;
    width: calc(var(--var-1) * 80);
    height: calc(var(--var-1) * 80);
  }
  .cmn_layout1 {
    margin-top: calc(var(--var-1) * 95);
  }
  .cmn_layout1 .cmn_layout1_list {
    gap: calc(var(--var-1) * 86) calc(var(--var-1) * 45);
    counter-reset: number 0;
  }
  .cmn_layout1 .cmn_layout1_item {
    width: calc(var(--var-1) * 330);
    min-height: calc(var(--var-1) * 590);
    background: var(--cl-white);
    border-radius: calc(var(--var-1) * 25);
    position: relative;
  }
  .cmn_layout1 .cmn_layout1_item::before {
    counter-increment: number 1;
    content: "0" counter(number);
    position: absolute;
    top: calc(var(--var-1) * -34);
    left: 0;
    right: 0;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(var(--var-1) * 70);
    height: calc(var(--var-1) * 70);
    padding-bottom: calc(var(--var-1) * 3);
    padding-left: 1px;
    background: var(--cl-pink);
    color: var(--cl-white);
    border-radius: 50%;
    font: 700 calc(var(--var-1) * 30)/1 var(--family-base);
    letter-spacing: 0.05em;
  }
  .cmn_layout1 .cmn_layout1_figure {
    width: calc(var(--var-1) * 330);
    height: calc(var(--var-1) * 260);
  }
  .cmn_layout1 .cmn_layout1_img {
    border-radius: calc(var(--var-1) * 25) calc(var(--var-1) * 25) 0 0;
  }
  .cmn_layout1 .cmn_layout1_txt {
    padding: calc(var(--var-1) * 25) calc(var(--var-1) * 25) 0;
  }
  .cmn_layout1 .cmn_layout1_lead {
    font: 700 calc(var(--var-1) * 24)/1.417 var(--family-base);
    color: var(--cl-pink);
    text-align: center;
    letter-spacing: 0.15em;
  }
  .cmn_layout1 .cmn_layout1_desc {
    margin-top: calc(var(--var-1) * 18);
    letter-spacing: 0.15em;
  }
  .cmn_layout2 .cmn_layout2_list {
    gap: calc(var(--var-1) * 70);
    margin-top: calc(var(--var-1) * 72);
    counter-reset: number 0;
  }
  .cmn_layout2 .cmn_layout2_item {
    position: relative;
  }
  .cmn_layout2 .cmn_layout2_item:nth-child(odd)::before {
    content: "";
    position: absolute;
    top: 0;
    right: calc(var(--var-1) * -174);
    display: block;
    width: calc(var(--var-1) * 110);
    height: calc(var(--var-1) * 141);
    background: url(../img/ballet/merit_deco_r.png) no-repeat top/100%;
  }
  .cmn_layout2 .cmn_layout2_item:nth-child(odd) .cmn_layout2_img {
    border-radius: 0 calc(var(--var-1) * 25) calc(var(--var-1) * 25) 0;
  }
  .cmn_layout2 .cmn_layout2_item:nth-child(odd) .cmn_layout2_txt::before {
    border-left: none;
  }
  .cmn_layout2 .cmn_layout2_item:nth-child(even)::before {
    content: "";
    position: absolute;
    top: 0;
    left: calc(var(--var-1) * -154);
    display: block;
    width: calc(var(--var-1) * 100);
    height: calc(var(--var-1) * 105);
    background: url(../img/ballet/merit_deco_l.png) no-repeat top/100%;
  }
  .cmn_layout2 .cmn_layout2_item:nth-child(even) .cmn_layout2_figure {
    margin-right: calc(var(--var-1) * -420);
    margin-left: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1700px) {
  .cmn_layout2 .cmn_layout2_item:nth-child(even) .cmn_layout2_figure {
    margin-right: calc(var(--var-1) * -110);
  }
}
@media screen and (min-width: 768px) {
  .cmn_layout2 .cmn_layout2_item:nth-child(even) .cmn_layout2_img {
    border-radius: calc(var(--var-1) * 25) 0 0 calc(var(--var-1) * 25);
  }
  .cmn_layout2 .cmn_layout2_item:nth-child(even) .cmn_layout2_txt {
    border-radius: calc(var(--var-1) * 10) 0 0 calc(var(--var-1) * 10);
  }
  .cmn_layout2 .cmn_layout2_item:nth-child(even) .cmn_layout2_txt::before {
    right: 0;
    left: calc(var(--var-1) * 5);
    border-right: none;
    border-radius: calc(var(--var-1) * 10) 0 0 calc(var(--var-1) * 10);
  }
  .cmn_layout2 .cmn_layout2_figure {
    flex-shrink: 0;
    width: calc(var(--var-1) * 850);
    height: calc(var(--var-1) * 523);
    margin-left: calc(var(--var-1) * -420);
  }
}
@media screen and (min-width: 768px) and (max-width: 1700px) {
  .cmn_layout2 .cmn_layout2_figure {
    width: calc(var(--var-1) * 540);
    height: calc(var(--var-1) * 333);
    margin-left: calc(var(--var-1) * -110);
  }
}
@media screen and (min-width: 768px) and (max-width: 1700px) {
  .cmn_layout2 .cmn_layout2_img {
    border-radius: calc(var(--var-1) * 25) !important;
  }
}
@media screen and (min-width: 768px) {
  .cmn_layout2 .cmn_layout2_txt {
    width: calc(var(--var-1) * 650);
    padding: calc(var(--var-1) * 52) calc(var(--var-1) * 38);
    background: var(--cl-pink-light);
    border-radius: 0 calc(var(--var-1) * 10) calc(var(--var-1) * 10) 0;
    position: relative;
  }
  .cmn_layout2 .cmn_layout2_txt::before {
    content: "";
    position: absolute;
    top: calc(var(--var-1) * 5);
    right: calc(var(--var-1) * 5);
    bottom: calc(var(--var-1) * 5);
    left: 0;
    border: calc(var(--var-1) * 2) dotted var(--cl-pink);
    border-radius: 0 calc(var(--var-1) * 10) calc(var(--var-1) * 10) 0;
    pointer-events: none;
  }
  .cmn_layout2 .cmn_layout2_lead {
    font-size: calc(var(--var-1) * 24);
    color: var(--cl-pink);
    letter-spacing: 0.15em;
    position: relative;
  }
  .cmn_layout2 .cmn_layout2_lead::before {
    counter-increment: number 1;
    content: "0" counter(number) ".";
    display: inline-block;
    margin-right: calc(var(--var-1) * -8);
  }
  .cmn_layout2 .cmn_layout2_desc {
    margin-top: calc(var(--var-1) * 24);
    letter-spacing: 0.15em;
  }
}
@media screen and (min-width: 768px) {
  /*
  ========================================================================= */
  /*  deco 装飾
  ========================================================================= */
  .deco {
    position: relative;
  }
  .deco::before {
    content: "";
    position: absolute;
    display: block;
    width: calc(var(--var-1) * 190);
    height: calc(var(--var-1) * 260);
    background: url(../img/cmn/deco.png) no-repeat top/100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1430px) {
  .deco::before {
    width: calc(var(--var-1) * 100);
    height: calc(var(--var-1) * 138);
  }
}
@media screen and (min-width: 768px) {
  /*
  ========================================================================= */
  /* title タイトル
  ========================================================================= */
  .cmn_ttl {
    font-size: calc(var(--var-1) * 45);
    letter-spacing: 0.15em;
  }
  .cmn_ttl .cmn_ttl_en {
    margin-bottom: calc(var(--var-1) * 36);
    color: var(--cl-pink);
    font-size: calc(var(--var-1) * 25);
    position: relative;
    letter-spacing: 0.15em;
  }
  .cmn_ttl .cmn_ttl_en::before, .cmn_ttl .cmn_ttl_en::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    display: block;
    width: calc(var(--var-1) * 90);
    height: calc(var(--var-1) * 21);
    background: url(../img/cmn/ttl_en_deco.png) no-repeat top/100%;
  }
  .cmn_ttl .cmn_ttl_en::before {
    right: calc(var(--var-1) * -105);
  }
  .cmn_ttl .cmn_ttl_en::after {
    left: calc(var(--var-1) * -108);
    transform: scale(-1, 1);
  }
  .cmn_ttl2 {
    font-size: calc(var(--var-1) * 45);
    letter-spacing: 0.15em;
  }
  .cmn_ttl2 .cmn_ttl_en {
    margin-bottom: calc(var(--var-1) * 36);
    color: var(--cl-pink);
    font-size: calc(var(--var-1) * 25);
    position: relative;
    letter-spacing: 0.15em;
  }
  .cmn_ttl2 .cmn_ttl_en::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    display: block;
    width: calc(var(--var-1) * 90);
    height: calc(var(--var-1) * 21);
    background: url(../img/cmn/ttl_en_deco.png) no-repeat top/100%;
  }
  .cmn_ttl2 .cmn_ttl_en::before {
    right: calc(var(--var-1) * -105);
  }
  /*
  ========================================================================= */
  /* list リスト
  ========================================================================= */
  /*
  ========================================================================= */
  /* tel 電話番号
  ========================================================================= */
  .tel .tel_number {
    font: 700 calc(var(--var-1) * 26)/1 var(--family-base);
    letter-spacing: 0.05em;
  }
  .tel .tel_number small {
    font-size: calc(var(--var-1) * 20);
  }
  /*
  ========================================================================= */
  /* times 営業時間・定休日
  ========================================================================= */
  /*
  ========================================================================= */
  /* btn ボタンの設計 
  ========================================================================= */
  .cmn_btn {
    display: block;
    width: calc(var(--var-1) * 280);
    padding: calc(var(--var-1) * 28) 0;
    background: var(--cl-pink);
    color: var(--cl-white);
    border-radius: calc(var(--var-1) * 100);
    font: 700 calc(var(--var-1) * 20)/1 var(--family-base);
    letter-spacing: 0.15em;
    text-align: center;
    position: relative;
  }
  .cmn_btn::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: calc(var(--var-1) * 25);
    display: block;
    width: calc(var(--var-1) * 12);
    height: calc(var(--var-1) * 16);
    background: url(../img/cmn/arw_r_w.png) no-repeat top/100%;
  }
  .cmn_btn::after {
    content: "";
    position: absolute;
    top: calc(var(--var-1) * 5);
    right: calc(var(--var-1) * 5);
    bottom: calc(var(--var-1) * 5);
    left: calc(var(--var-1) * 5);
    border: calc(var(--var-1) * 2) dotted var(--cl-white);
    border-radius: calc(var(--var-1) * 100);
    pointer-events: none;
  }
  .instagram img {
    width: calc(var(--var-1) * 50);
    height: calc(var(--var-1) * 50);
  }
}
/* //////////////////////////////////////////////////////////////////////////////////////////////////

SP

////////////////////////////////////////////////////////////////////////////////////////////////// */
@media screen and (max-width: 767px) {
  /*
  ========================================================================= */
  /* layout レイアウト
  ========================================================================= */
  .cmn_layout1 {
    margin-top: calc(var(--var-1) * 64);
  }
  .cmn_layout1 .cmn_layout1_list {
    gap: calc(var(--var-1) * 72);
    counter-reset: number 0;
  }
  .cmn_layout1 .cmn_layout1_item {
    width: 88%;
    background: var(--cl-white);
    border-radius: calc(var(--var-1) * 15);
    position: relative;
  }
  .cmn_layout1 .cmn_layout1_item::before {
    counter-increment: number 1;
    content: "0" counter(number);
    position: absolute;
    top: calc(var(--var-1) * -24);
    left: 0;
    right: 0;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(var(--var-1) * 50);
    height: calc(var(--var-1) * 50);
    padding-bottom: calc(var(--var-1) * 3);
    padding-left: 1px;
    background: var(--cl-pink);
    color: var(--cl-white);
    border-radius: 50%;
    font: 700 calc(var(--var-1) * 24)/1 var(--family-base);
    letter-spacing: 0.05em;
  }
  .cmn_layout1 .cmn_layout1_figure {
    width: 100%;
    height: calc(var(--var-1) * 218);
  }
  .cmn_layout1 .cmn_layout1_img {
    border-radius: calc(var(--var-1) * 15) calc(var(--var-1) * 15) 0 0;
  }
  .cmn_layout1 .cmn_layout1_txt {
    padding: calc(var(--var-1) * 20) calc(var(--var-1) * 16) calc(var(--var-1) * 32);
  }
  .cmn_layout1 .cmn_layout1_lead {
    font: 700 calc(var(--var-1) * 18)/1.417 var(--family-base);
    color: var(--cl-pink);
    text-align: center;
    letter-spacing: 0.15em;
  }
  .cmn_layout1 .cmn_layout1_desc {
    margin-top: calc(var(--var-1) * 18);
    letter-spacing: 0.15em;
  }
  .cmn_layout2 .cmn_layout2_list {
    gap: calc(var(--var-1) * 56);
    margin-top: calc(var(--var-1) * 48);
    counter-reset: number 0;
  }
  .cmn_layout2 .cmn_layout2_item {
    position: relative;
    flex-direction: column;
  }
  .cmn_layout2 .cmn_layout2_figure {
    flex-shrink: 0;
    width: 100%;
    height: calc(var(--var-1) * 170);
  }
  .cmn_layout2 .cmn_layout2_figure img {
    border-radius: calc(var(--var-1) * 10) calc(var(--var-1) * 10) 0 0;
  }
  .cmn_layout2 .cmn_layout2_txt {
    padding: calc(var(--var-1) * 24) calc(var(--var-1) * 24) calc(var(--var-1) * 40);
    background: var(--cl-pink-light);
    border-radius: 0 0 calc(var(--var-1) * 10) calc(var(--var-1) * 10);
    position: relative;
  }
  .cmn_layout2 .cmn_layout2_txt::before {
    content: "";
    position: absolute;
    top: calc(var(--var-1) * 5);
    right: calc(var(--var-1) * 5);
    bottom: calc(var(--var-1) * 5);
    left: calc(var(--var-1) * 5);
    border: calc(var(--var-1) * 1) dotted var(--cl-pink);
    border-radius: 0 0 calc(var(--var-1) * 10) calc(var(--var-1) * 10);
    pointer-events: none;
  }
  .cmn_layout2 .cmn_layout2_lead {
    font-size: calc(var(--var-1) * 16);
    color: var(--cl-pink);
    letter-spacing: 0.15em;
    line-height: 1.75;
    position: relative;
  }
  .cmn_layout2 .cmn_layout2_lead::before {
    counter-increment: number 1;
    content: "0" counter(number) ".";
    display: block;
  }
  .cmn_layout2 .cmn_layout2_desc {
    margin-top: calc(var(--var-1) * 16);
    letter-spacing: 0.15em;
  }
  /*
  ========================================================================= */
  /*  deco 装飾
  ========================================================================= */
  .deco {
    position: relative;
  }
  .deco::before {
    content: "";
    position: absolute;
    display: block;
    width: calc(var(--var-1) * 56);
    height: calc(var(--var-1) * 80);
    background: url(../img/cmn/deco.png) no-repeat top/100%;
  }
  /*
  ========================================================================= */
  /* title タイトル
  ========================================================================= */
  .cmn_ttl {
    font-size: calc(var(--var-1) * 22);
    line-height: 1.6;
    letter-spacing: 0.15em;
    text-align: center;
  }
  .cmn_ttl .cmn_ttl_en {
    margin-bottom: calc(var(--var-1) * 12);
    color: var(--cl-pink);
    font-size: calc(var(--var-1) * 18);
    position: relative;
    letter-spacing: 0.15em;
  }
  .cmn_ttl .cmn_ttl_en::before, .cmn_ttl .cmn_ttl_en::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    display: block;
    width: calc(var(--var-1) * 48);
    height: calc(var(--var-1) * 12);
    background: url(../img/cmn/ttl_en_deco.png) no-repeat top/100%;
    transform: translateY(calc(var(--var-1) * 1));
  }
  .cmn_ttl .cmn_ttl_en::before {
    right: calc(var(--var-1) * -64);
  }
  .cmn_ttl .cmn_ttl_en::after {
    left: calc(var(--var-1) * -64);
    transform: scale(-1, 1) translateY(calc(var(--var-1) * 1));
  }
  .cmn_ttl2 {
    font-size: calc(var(--var-1) * 22);
    line-height: 1.6;
    letter-spacing: 0.15em;
  }
  .cmn_ttl2 .cmn_ttl_en {
    margin-bottom: calc(var(--var-1) * 12);
    color: var(--cl-pink);
    font-size: calc(var(--var-1) * 18);
    position: relative;
    letter-spacing: 0.15em;
  }
  .cmn_ttl2 .cmn_ttl_en::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    display: block;
    width: calc(var(--var-1) * 48);
    height: calc(var(--var-1) * 12);
    background: url(../img/cmn/ttl_en_deco.png) no-repeat top/100%;
    transform: translateY(calc(var(--var-1) * 1));
  }
  .cmn_ttl2 .cmn_ttl_en::before {
    right: calc(var(--var-1) * -64);
  }
  /*
  ========================================================================= */
  /* list リスト
  ========================================================================= */
  /*
  ========================================================================= */
  /* tel 電話番号
  ========================================================================= */
  .tel .tel_number {
    font: 700 calc(var(--var-1) * 22)/1 var(--family-base);
    letter-spacing: 0.05em;
  }
  .tel .tel_number small {
    font-size: calc(var(--var-1) * 16);
  }
  /*
  ========================================================================= */
  /* times 営業時間・定休日
  ========================================================================= */
  /*
  ========================================================================= */
  /* btn ボタンの設計 
  ========================================================================= */
  .cmn_btn {
    display: block;
    width: calc(var(--var-1) * 160);
    padding: calc(var(--var-1) * 18) 0;
    background: var(--cl-pink);
    color: var(--cl-white);
    border-radius: calc(var(--var-1) * 100);
    font: 700 calc(var(--var-1) * 14)/1 var(--family-base);
    letter-spacing: 0.15em;
    text-align: center;
    position: relative;
  }
  .cmn_btn::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: calc(var(--var-1) * 16);
    display: block;
    width: calc(var(--var-1) * 8);
    height: calc(var(--var-1) * 10);
    background: url(../img/cmn/arw_r_w.png) no-repeat top/100%;
  }
  .cmn_btn::after {
    content: "";
    position: absolute;
    top: calc(var(--var-1) * 3);
    right: calc(var(--var-1) * 3);
    bottom: calc(var(--var-1) * 3);
    left: calc(var(--var-1) * 3);
    border: calc(var(--var-1) * 1) dotted var(--cl-white);
    border-radius: calc(var(--var-1) * 100);
    pointer-events: none;
  }
  .instagram img {
    width: calc(var(--var-1) * 30);
    height: calc(var(--var-1) * 30);
  }
}
/* //////////////////////////////////////////////////////////////////////////////////////////////////

共通コンポーネント

////////////////////////////////////////////////////////////////////////////////////////////////// */
/*
========================================================================= */
/*  breadcrumb(パンくずリスト)
========================================================================= */
.breadcrumb {
  position: relative;
}
.breadcrumb .inner .breadcrumb_list {
  padding-top: calc(var(--var-1) * 32);
  position: absolute;
  gap: calc(var(--var-1) * 32);
  z-index: 100;
}
.breadcrumb .inner .breadcrumb_list .breadcrumb_top a {
  transition: 0.3s;
}
.breadcrumb .inner .breadcrumb_list .breadcrumb_top a:hover {
  color: var(--cl-must);
}
.breadcrumb .inner .breadcrumb_list .breadcrumb_item_secondary,
.breadcrumb .inner .breadcrumb_list .breadcrumb_third {
  color: var(--cl-must);
}
.breadcrumb .inner .breadcrumb_list .arrow {
  position: relative;
}
.breadcrumb .inner .breadcrumb_list .arrow::before {
  content: ">";
  width: calc(var(--var-1) * 8);
  height: 100%;
  display: block;
  position: absolute;
  right: calc(-1 * var(--var-1) * 16);
}

@media screen and (max-width: 767px) {
  .breadcrumb {
    position: relative;
  }
  .breadcrumb .inner .breadcrumb_list {
    width: 84%;
    position: absolute;
    padding-top: calc(var(--var-1) * 24);
    gap: calc(var(--var-1) * 24);
    z-index: 100;
    overflow-x: scroll;
  }
  .breadcrumb .inner .breadcrumb_list .breadcrumb_item {
    display: inline-block;
    font-size: calc(var(--var-1) * 12);
    flex-shrink: 0;
  }
  .breadcrumb .inner .breadcrumb_list .breadcrumb_item:first-child {
    margin: 0;
  }
  .breadcrumb .inner .breadcrumb_list .breadcrumb_item_secondary,
  .breadcrumb .inner .breadcrumb_list .breadcrumb_third {
    color: var(--cl-must);
  }
  .breadcrumb .inner .breadcrumb_list .arrow {
    position: relative;
  }
  .breadcrumb .inner .breadcrumb_list .arrow::before {
    content: ">";
    width: calc(var(--var-1) * 8);
    height: 100%;
    display: block;
    position: absolute;
    right: calc(-1 * var(--var-1) * 14);
  }
}
/*
========================================================================= */
/*  nav_hover , current
========================================================================= */
.hd_link,
.ft_link,
.ft_nav_link {
  transition: 0.3s;
}
.hd_link:hover,
.ft_link:hover,
.ft_nav_link:hover {
  color: var(--cl-must);
}

.current {
  color: var(--cl-must);
}

/*
========================================================================= */
/*  no_post
========================================================================= */
@media screen and (min-width: 768px) {
  .no_post {
    padding: calc(var(--var-1) * 120);
    font-size: calc(var(--var-1) * 32);
    font-weight: 700;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .no_post {
    margin-top: calc(var(--var-1) * 40);
    font-size: calc(var(--var-1) * 28);
    font-weight: 700;
    text-align: center;
  }
}
/*
========================================================================= */
/*  copy
========================================================================= */
@media screen and (min-width: 768px) {
  .copy {
    font-size: calc(var(--var-1) * 13);
  }
  .copy .copy_link {
    transition: 0.3s;
  }
  .copy .copy_link:hover {
    color: var(--cl-must);
  }
}
@media screen and (max-width: 767px) {
  .copy {
    margin-top: calc(var(--var-1) * 48);
    font: 400 calc(var(--var-1) * 12) var(--family-base);
    line-height: 1.8;
    text-align: center;
  }
}