/* ==========================================================================
	root
========================================================================== */
:root {
  --base-pc-width:1500;
  --base-sp-width:400;
  --vwPC: calc(100vw / 1500);
  --vwSP: calc(100vw / 400);
  --easeInQuad:cubic-bezier(.55, .085, .68, .53);
  --easeOutQuad:cubic-bezier(0.23, 1, 0.32, 1);
  --easeOutQuint:cubic-bezier(.25, .46, .45, .94);
  --easeOutSine:cubic-bezier(0.39, 0.575, 0.565, 1);
  --easeOutCubic:cubic-bezier(0.215, 0.61, 0.355, 1);
  --easeInOutQuad:cubic-bezier(0.45, 0, 0.55, 1);
  --easeInOutCubic:cubic-bezier(0.65, 0, 0.35, 1);
  --easePopUp:cubic-bezier(0.17, 0.88, 0.30, 1.28);
  --easeInCirc:cubic-bezier(0.55, 0, 1, 0.45);
  --theme-color:#f55b96;
  --base-text-color:#333;
  --base-color-blue:#4bc3e5;
  --base-color-blue02:#00aae2;
  --base-color-green:#2bb063;
  --base-color-perple:#6367b0;
  --base-color-orange:#fb9b00;
  --base-color-yellow:#ffcf19;
  --base-color-beige:#f5f4ef;
  --base-color-gray:#a4a4a4;
  --base-color-gray02:#aeaaaf;
  --base-color-gray03:#b3b3b3;
  --base-color-gray04:#848484;
  --base-color-gray05:#c4c4c4;
  --base-color-gray06:#7e7e7e;
  --base-color-gray07:#666;
  --base-color-gray08:#bebebe;
  --base-color-gray09:#dfdfdf;
  --base-color-gray10:#676767;
  --base-color-tv:#22f2f2;
  --base-border-color:#cdc4c5;
  --base-border-color02:#d3d3d3;
  --base-border-color03:#a1a1a1;
  --base-border-color04:#bbb;
  --base-border-color05:#999;
  --hanten:scale(-1, -1);
  --hantenX:scale(-1, 1);
  --hantenY:scaleY(-1);
  --transition-scale:transform 0.8s var(--easeOutCubic); }

@media screen and (min-width: 801px) {
  :root {
    --vwPC: calc(100vw / 1500);
    --fz8: max(.8rem, 8px);
    --fz9: max(.9rem, 9px);
    --fz10: max(1rem, 9px);
    --fz11: max(1.1rem, 10px);
    --fz12: max(1.2rem, 11px);
    --fz13: max(1.3rem, 12px);
    --fz14: max(1.4rem, 12px);
    --fz15: max(1.5rem, 13px);
    --fz16: max(1.6rem, 14px);
    --fz17: max(1.7rem, 15px);
    --fz18: max(1.8rem, 16px);
    --fz19: max(1.9rem, 17px);
    --fz20: max(2.0rem, 18px);
    --fz21: max(2.1rem, 18px);
    --fz22: max(2.2rem, 18px);
    --fz23: max(2.3rem, 20px);
    --fz24: max(2.4rem, 20px);
    --fz25: max(2.5rem, 21px);
    --fz26: max(2.6rem, 22px);
    --fz27: max(2.7rem, 23px);
    --fz28: max(2.8rem, 24px);
    --fz29: max(2.9rem, 25px);
    --fz30: max(3rem, 26px);
    --fz32: max(3.2rem, 28px);
    --fz33: max(3.3rem, 29px);
    --fz34: max(3.4rem, 30px);
    --fz35: max(3.5rem, 31px);
    --fz36: max(3.6rem, 32px);
    --fz37: max(3.7rem, 33px);
    --fz38: max(3.8rem, 34px);
    --fz39: max(3.9rem, 35px);
    --fz40: max(4rem, 36px);
    --fz41: max(4.1rem, 37px);
    --fz42: max(4.2rem, 38px);
    --fz44: max(4.4rem, 40px);
    --fz45: max(4.5rem, 41px);
    --fz46: max(4.6rem, 42px);
    --fz48: max(4.8rem, 44px);
    --fz50: max(5rem, 48px);
    --fz52: max(5.2rem, 48px);
    --fz54: max(5.4rem, 50px);
    --fz55: max(5.5rem, 51px);
    --fz56: max(5.6rem, 52px);
    --fz58: max(5.8rem, 54px);
    --fz59: max(5.9rem, 55px);
    --fz60: max(6rem, 56px);
    --fz64: max(6.4rem, 60px);
    --fz72: max(7.2rem, 68px);
    --fz78: max(7.8rem, 74px);
    --fz96: max(9.6rem, 90px); } }
@media screen and (max-width: 800px) {
  :root {
    --vwSP: calc(100vw / 400);
    --fz7: clamp(7px, calc(7 * var(--vwSP)), 9px);
    --fz8: clamp(8px, calc(8 * var(--vwSP)), 10px);
    --fz9: clamp(9px, calc(9 * var(--vwSP)), 11px);
    --fz10: clamp(10px, calc(10 * var(--vwSP)), 12px);
    --fz11: clamp(11px, calc(11 * var(--vwSP)), 13px);
    --fz12: clamp(12px, calc(12 * var(--vwSP)), 14px);
    --fz13: clamp(13px, calc(13 * var(--vwSP)), 14px);
    --fz14: clamp(14px, calc(14 * var(--vwSP)), 16px);
    --fz15: clamp(15px, calc(15 * var(--vwSP)), 17px);
    --fz16: clamp(16px, calc(16 * var(--vwSP)), 18px);
    --fz17: clamp(17px, calc(17 * var(--vwSP)), 19px);
    --fz18: clamp(18px, calc(18 * var(--vwSP)), 20px);
    --fz19: clamp(19px, calc(19 * var(--vwSP)), 21px);
    --fz20: clamp(20px, calc(20 * var(--vwSP)), 22px);
    --fz21: clamp(21px, calc(21 * var(--vwSP)), 23px);
    --fz22: clamp(22px, calc(22 * var(--vwSP)), 24px);
    --fz23: clamp(23px, calc(23 * var(--vwSP)), 25px);
    --fz24: clamp(24px, calc(24 * var(--vwSP)), 26px);
    --fz25: clamp(25px, calc(25 * var(--vwSP)), 27px);
    --fz26: clamp(26px, calc(26 * var(--vwSP)), 28px);
    --fz27: clamp(27px, calc(27 * var(--vwSP)), 29px);
    --fz28: clamp(28px, calc(28 * var(--vwSP)), 30px);
    --fz30: clamp(30px, calc(30 * var(--vwSP)), 32px);
    --fz31: clamp(31px, calc(31 * var(--vwSP)), 33px);
    --fz32: clamp(32px, calc(32 * var(--vwSP)), 35px);
    --fz33: clamp(33px, calc(33 * var(--vwSP)), 35px);
    --fz34: clamp(34px, calc(34 * var(--vwSP)), 37px);
    --fz35: clamp(35px, calc(35 * var(--vwSP)), 39px);
    --fz37: clamp(37px, calc(37 * var(--vwSP)), 41px);
    --fz36: clamp(36px, calc(36 * var(--vwSP)), 40px);
    --fz38: clamp(38px, calc(38 * var(--vwSP)), 42px);
    --fz40: clamp(40px, calc(40 * var(--vwSP)), 44px);
    --fz42: clamp(42px, calc(42 * var(--vwSP)), 46px);
    --fz44: clamp(44px, calc(44 * var(--vwSP)), 48px);
    --fz45: clamp(45px, calc(45 * var(--vwSP)), 49px);
    --fz47: clamp(47px, calc(47 * var(--vwSP)), 51px);
    --fz48: clamp(48px, calc(48 * var(--vwSP)), 52px);
    --fz49: clamp(49px, calc(49 * var(--vwSP)), 53px);
    --fz51: clamp(51px, calc(51 * var(--vwSP)), 56px);
    --fz56: clamp(56px, calc(56 * var(--vwSP)), 60px);
    --fz64: clamp(64px, calc(64 * var(--vwSP)), 68px); } }
body {
  background: var(--base-color-beige); }

/* ==========================================================================
	h_fv-wrap
========================================================================== */
.h_fv-wrap {
  position: relative;
  width: 100%;
  --color:var(--theme-color); }
  .h_fv-wrap .fv-text_wrap {
    position: relative;
    height: 745px;
    padding-top: 223px;
    z-index: 80; }
  .h_fv-wrap .bg_txt {
    display: table;
    font-size: var(--fz29);
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #fff;
    padding: 3px 7px 5px;
    background: var(--color);
    margin-bottom: 2rem;
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
    -webkit-transition: -webkit-clip-path 0.6s var(--easeOutQuad);
    transition: -webkit-clip-path 0.6s var(--easeOutQuad);
    transition: clip-path 0.6s var(--easeOutQuad);
    transition: clip-path 0.6s var(--easeOutQuad), -webkit-clip-path 0.6s var(--easeOutQuad); }
    .h_fv-wrap .bg_txt + .bg_txt {
      -webkit-transition-delay: .2s;
              transition-delay: .2s; }
    .h_fv-wrap .bg_txt + .bg_txt + .bg_txt {
      margin-bottom: 5rem;
      -webkit-transition-delay: .4s;
              transition-delay: .4s; }
  .h_fv-wrap h1 {
    width: 50%;
    max-width: 602px;
    margin-bottom: 2rem;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    opacity: 0;
    -webkit-transition: opacity 0.4s var(--easeOutQuad), -webkit-transform 1s var(--easeOutQuad);
    transition: opacity 0.4s var(--easeOutQuad), -webkit-transform 1s var(--easeOutQuad);
    transition: transform 1s var(--easeOutQuad), opacity 0.4s var(--easeOutQuad);
    transition: transform 1s var(--easeOutQuad), opacity 0.4s var(--easeOutQuad), -webkit-transform 1s var(--easeOutQuad);
    -webkit-transition-delay: .5s;
            transition-delay: .5s; }
  .h_fv-wrap h2 {
    font-size: var(--fz26);
    font-weight: 700;
    margin-bottom: 3rem;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    opacity: 0;
    -webkit-transition: opacity 0.4s var(--easeOutQuad), -webkit-transform 1s var(--easeOutQuad);
    transition: opacity 0.4s var(--easeOutQuad), -webkit-transform 1s var(--easeOutQuad);
    transition: transform 1s var(--easeOutQuad), opacity 0.4s var(--easeOutQuad);
    transition: transform 1s var(--easeOutQuad), opacity 0.4s var(--easeOutQuad), -webkit-transform 1s var(--easeOutQuad);
    -webkit-transition-delay: .6s;
            transition-delay: .6s; }
  .h_fv-wrap .fv-pan {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    opacity: 0;
    -webkit-transition: opacity 0.4s var(--easeOutQuad), -webkit-transform 1s var(--easeOutQuad);
    transition: opacity 0.4s var(--easeOutQuad), -webkit-transform 1s var(--easeOutQuad);
    transition: transform 1s var(--easeOutQuad), opacity 0.4s var(--easeOutQuad);
    transition: transform 1s var(--easeOutQuad), opacity 0.4s var(--easeOutQuad), -webkit-transform 1s var(--easeOutQuad);
    -webkit-transition-delay: .7s;
            transition-delay: .7s; }
  .h_fv-wrap.move .bg_txt {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0); }
  .h_fv-wrap.move h1, .h_fv-wrap.move h2, .h_fv-wrap.move .fv-pan {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; }

@media screen and (max-width: 800px) {
  .h_fv-wrap {
    position: relative;
    width: 100%; }
    .h_fv-wrap .fv-text_wrap {
      height: 640px;
      padding-top: 102px;
      -webkit-mask-size: 1871px 640px;
              mask-size: 1871px 640px; }
      .h_fv-wrap .fv-text_wrap > div {
        max-width: 490px;
        width: 86.75%;
        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;
        margin: 0 auto; }
    .h_fv-wrap .bg_txt {
      font-size: var(--fz20);
      padding: 3px 7px 5px;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: .8rem; }
      .h_fv-wrap .bg_txt + .bg_txt + .bg_txt {
        margin-bottom: 2rem; }
    .h_fv-wrap h1 {
      max-width: 490px;
      width: 86.75%;
      marign: 0 auto;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 1.2rem; }
    .h_fv-wrap h2 {
      font-size: var(--fz18);
      font-weight: 700;
      margin-left: .5rem;
      margin-bottom: 0; }
    .h_fv-wrap.-nem h1 {
      max-width: 490px;
      width: 85.75%; } }
/* ==========================================================================
	h_fv
========================================================================== */
#h_fv {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
  background: var(--base-color-beige); }

@media screen and (max-width: 800px) {
  #h_fv {
    height: 640px; } }
/* ==========================================================================
	fv-illust_wrap
========================================================================== */
.fv-illust_wrap {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 100%;
  margin: auto;
  z-index: 50; }
  .fv-illust_wrap .illusts {
    position: absolute;
    top: 8rem;
    max-width: 745px;
    left: 44.2045454545%;
    width: 53.6742424242%;
    min-width: 400px;
    aspect-ratio: 1417/1598; }
    .fv-illust_wrap .illusts .main-illust {
      position: relative;
      -webkit-transform: translateY(100px) scale(0);
              transform: translateY(100px) scale(0);
      -webkit-transition: all 1s var(--easeOutQuad);
      transition: all 1s var(--easeOutQuad);
      -webkit-transition-delay: .6s;
              transition-delay: .6s; }
      .fv-illust_wrap .illusts .main-illust img {
        position: relative;
        z-index: 10;
        -webkit-transform: translate(50px, 50px);
                transform: translate(50px, 50px);
        -webkit-transition: all 1.1s var(--easeOutQuad);
        transition: all 1.1s var(--easeOutQuad);
        -webkit-transition-delay: 1s;
                transition-delay: 1s; }
      .fv-illust_wrap .illusts .main-illust:after {
        content: "";
        display: block;
        position: absolute;
        bottom: -50px;
        right: -50px;
        -webkit-mask-image: url(../img/common/chara-R_05.svg);
                mask-image: url(../img/common/chara-R_05.svg);
        -webkit-mask-position: center center;
        mask-position: center center;
        -webkit-mask-size: cover;
        mask-size: cover;
        pointer-events: none;
        width: 100%;
        height: 100%;
        background: #000;
        opacity: .2;
        mix-blend-mode: multiply;
        z-index: 1; }
  .fv-illust_wrap.move .main-illust {
    opacity: 1;
    -webkit-transform: translate(0) scale(1);
            transform: translate(0) scale(1); }
    .fv-illust_wrap.move .main-illust img {
      -webkit-transform: translate(0);
              transform: translate(0); }
    .fv-illust_wrap.move .main-illust:after {
      bottom: -50px;
      right: -50px; }

@media screen and (max-width: 1100px) {
  .fv-illust_wrap .illusts {
    top: 0;
    bottom: 0;
    margin: auto; } }
@media screen and (max-width: 800px) {
  .fv-illust_wrap .illusts {
    position: absolute;
    bottom: -70px;
    top: auto;
    left: calc(50% - 190px);
    width: 380px;
    min-width: 100px;
    --W:380; }
    .fv-illust_wrap .illusts .main-illust img {
      -webkit-transform: translate(25px, 25px);
              transform: translate(25px, 25px); }
  .fv-illust_wrap.move .main-illust img {
    -webkit-transform: translate(0);
            transform: translate(0); }
  .fv-illust_wrap.move .main-illust:after {
    bottom: -25px;
    right: -25px; } }
/* ==========================================================================
	intro
========================================================================== */
.intro {
  padding-top: 22rem;
  padding-bottom: 12rem;
  -webkit-transform: translateY(-30px);
          transform: translateY(-30px);
  margin-bottom: -30px;
  background: var(--theme-color); }
  .intro .text_area {
    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; }
    .intro .text_area h2 {
      font-size: var(--fz56);
      font-weight: 700;
      color: #fff; }
    .intro .text_area p {
      font-size: var(--fz16);
      line-height: calc(34/16);
      font-weight: 500;
      letter-spacing: 0.04em;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      max-width: 370px;
      color: #fff; }
  .intro .circle-swiper {
    overflow: visible;
    position: relative;
    padding: 60px 0;
    -webkit-transform: rotate(6deg);
            transform: rotate(6deg);
    margin-bottom: 8.5rem; }
    .intro .circle-swiper .swiper-wrapper {
      margin-left: -40px;
      margin-right: -60px; }
    .intro .circle-swiper .swiper-slide {
      -ms-flex-negative: 0;
          flex-shrink: 0;
      -webkit-transition: -webkit-transform 0.4s ease;
      transition: -webkit-transform 0.4s ease;
      transition: transform 0.4s ease;
      transition: transform 0.4s ease, -webkit-transform 0.4s ease;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 380px; }
    .intro .circle-swiper .swiiper-slide-next {
      -webkit-transform: scale(1.16);
              transform: scale(1.16); }
    .intro .circle-swiper .swiper-slide-next .img {
      -webkit-transform: scale(1.16);
              transform: scale(1.16);
      -webkit-transition: -webkit-transform .4s ease;
      transition: -webkit-transform .4s ease;
      transition: transform .4s ease;
      transition: transform .4s ease, -webkit-transform .4s ease; }
    .intro .circle-swiper .swiper-slide-next + .swiper-slide + .swiper-slide .img {
      -webkit-transform: scale(1.16);
              transform: scale(1.16); }
    .intro .circle-swiper .img {
      border-radius: 50%;
      overflow: hidden;
      background: #fff;
      -webkit-box-shadow: 30px 30px 0 #a84068;
              box-shadow: 30px 30px 0 #a84068;
      -webkit-transition: -webkit-transform 0.4s ease;
      transition: -webkit-transform 0.4s ease;
      transition: transform 0.4s ease;
      transition: transform 0.4s ease, -webkit-transform 0.4s ease; }
  .intro h3 {
    display: block;
    font-size: var(--fz37);
    font-weight: 700;
    text-align: center;
    margin-bottom: 3rem;
    color: #fff; }
  .intro .class-box_wrap {
    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; }
    .intro .class-box_wrap .box {
      position: relative;
      width: 49.6153846154%;
      padding: 8rem 2rem 8.5rem;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      border-radius: 6rem;
      background: var(--base-color-beige);
      --color:var(--base-color-orange); }
      .intro .class-box_wrap .box:nth-child(2) {
        --color:var(--theme-color); }
    .intro .class-box_wrap .v_txt {
      font-size: var(--fz18);
      font-weight: 600;
      color: var(--color);
      position: absolute;
      left: 1.5rem;
      top: 5.5rem; }
    .intro .class-box_wrap a {
      position: absolute;
      right: 2rem;
      top: 2rem;
      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-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      background: #fff;
      border-radius: 50%;
      width: 115px;
      aspect-ratio: 1/1;
      color: var(--color);
      font-size: var(--fz14);
      line-height: calc(17/14);
      font-weight: 700;
      z-index: 20; }
      .intro .class-box_wrap a p {
        display: table;
        font-weight: 600;
        margin: 0 auto .5rem;
        -webkit-transition: color 0.4s var(--easeOutQuad);
        transition: color 0.4s var(--easeOutQuad); }
      .intro .class-box_wrap a .arrow {
        position: relative;
        margin: 0 auto; }
      .intro .class-box_wrap a + a {
        top: calc(3rem + 115px); }
    @media screen and (min-width: 801px) {
      .intro .class-box_wrap a:hover {
        background: var(--color);
        color: #fff; }
        .intro .class-box_wrap a:hover .arrow {
          --color:var(--base-color-orange);
          --bg-color:#fff; }
      .intro .class-box_wrap .box:nth-cihld(2) a:hover .arrow {
        --color:var(--theme-color); } }
    .intro .class-box_wrap .img {
      position: relative;
      width: 285px;
      margin: 0 auto 3.5rem; }
      .intro .class-box_wrap .img img {
        border-radius: 3rem; }
    .intro .class-box_wrap h4 {
      max-width: 335px;
      margin: 0 auto 1rem; }
      .intro .class-box_wrap h4.mezameru {
        max-width: 370px; }
    .intro .class-box_wrap h5 {
      display: block;
      text-align: center;
      font-size: var(--fz22);
      font-weight: 700;
      margin-bottom: 2.5rem; }
    .intro .class-box_wrap .class-text_area > div {
      text-align: center;
      margin-bottom: 2.5rem; }
      .intro .class-box_wrap .class-text_area > div .bg_txt {
        display: inline-block;
        padding: .9rem 1.8rem;
        background: var(--color);
        font-size: var(--fz16);
        font-weight: 600;
        color: #fff;
        margin-right: .8rem;
        border-radius: 17px;
        letter-spacing: 0.04em;
        -webkit-transform: translateY(-6px);
                transform: translateY(-6px); }
      .intro .class-box_wrap .class-text_area > div .age {
        display: inline-block;
        font-size: var(--fz24);
        letter-spacing: 0.04em;
        font-weight: 700; }
        .intro .class-box_wrap .class-text_area > div .age span {
          font-size: var(--fz37);
          font-weight: 600; }
        .intro .class-box_wrap .class-text_area > div .age .en {
          font-size: var(--fz48);
          font-weight: 500; }
        .intro .class-box_wrap .class-text_area > div .age .n_txt {
          display: block;
          font-size: var(--fz24);
          letter-spacing: 0.04em;
          line-height: calc(24/14); }
    .intro .class-box_wrap .n_txt {
      max-width: 435px;
      font-size: var(--fz16);
      line-height: calc(35/16);
      font-weight: 600;
      text-align: left;
      margin: 0 auto; }

@media screen and (max-width: 1050px) {
  .intro .text_area {
    display: block;
    margin-bottom: 8rem; }
    .intro .text_area h2 {
      width: 100%;
      text-align: center;
      margin-bottom: 5rem; }
    .intro .text_area p {
      max-width: 100%;
      width: 100%; }
  .intro .class-box_wrap {
    display: block; }
    .intro .class-box_wrap .box {
      width: 100%; }
      .intro .class-box_wrap .box:nth-child(2) {
        margin-top: 3rem; } }
@media screen and (max-width: 800px) {
  .intro {
    padding-top: calc(70px + 6rem);
    padding-bottom: clamp(36px, 15vw, 76.8px);
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    margin-bottom: -20px; }
    .intro .text_area {
      margin-bottom: 6rem; }
      .intro .text_area h2 {
        font-size: var(--fz32);
        margin-bottom: 3.5rem; }
      .intro .text_area p {
        width: 93.0555555556%;
        margin: 0 auto;
        font-size: var(--fz14);
        line-height: calc(26/14); }
        .intro .text_area p br {
          display: none; }
    .intro .circle-swiper {
      padding: 0;
      margin-bottom: 11.1rem; }
      .intro .circle-swiper .swiper-wrapper {
        margin-left: 0;
        margin-right: 0; }
      .intro .circle-swiper .swiiper-slide-next .img {
        -webkit-transform: scale(1);
                transform: scale(1); }
      .intro .circle-swiper .swiper-slide-next .img {
        -webkit-transform: scale(1);
                transform: scale(1); }
      .intro .circle-swiper .swiper-slide-next + .swiper-slide + .swiper-slide .img {
        -webkit-transform: scale(1);
                transform: scale(1); }
      .intro .circle-swiper .swiper-slide-active .img {
        -webkit-transform: scale(1);
                transform: scale(1); }
      .intro .circle-swiper .img {
        -webkit-box-shadow: 20px 20px 0 #a84068;
                box-shadow: 20px 20px 0 #a84068; }
    .intro h3 {
      font-size: var(--fz22);
      margin-bottom: 1.5rem; }
    .intro .class-box_wrap .box {
      padding: 5.5rem 2rem 4.5rem;
      border-radius: 3rem; }
    .intro .class-box_wrap .v_txt {
      font-size: var(--fz15);
      left: 1.3rem;
      top: 4.2rem; }
    .intro .class-box_wrap a {
      right: 1.3rem;
      top: 1.3rem;
      width: 100px;
      font-size: var(--fz11);
      line-height: calc(13/11); }
      .intro .class-box_wrap a p {
        margin: 0 auto .5rem; }
      .intro .class-box_wrap a + a {
        top: calc(2rem + 100px); }
    .intro .class-box_wrap .img {
      position: relative;
      width: 63.1944444444%;
      margin: 0 auto 3.5rem; }
    .intro .class-box_wrap h4 {
      width: 63.8888888889%;
      margin: 0 auto .6rem; }
    .intro .class-box_wrap h5 {
      text-align: center;
      font-size: var(--fz16);
      margin-bottom: 2rem; }
    .intro .class-box_wrap .class-text_area > div {
      margin-bottom: 2.5rem; }
      .intro .class-box_wrap .class-text_area > div .bg_txt {
        padding: .5rem 1.8rem;
        font-size: var(--fz12);
        margin-right: 1rem;
        -webkit-transform: translateY(-6px);
                transform: translateY(-6px); }
      .intro .class-box_wrap .class-text_area > div .age {
        font-size: var(--fz28); }
        .intro .class-box_wrap .class-text_area > div .age span {
          font-size: var(--fz36); }
        .intro .class-box_wrap .class-text_area > div .age .n_txt {
          font-size: var(--fz18); }
    .intro .class-box_wrap .n_txt {
      width: 72.9166666667%;
      font-size: var(--fz13);
      line-height: calc(25/13); } }
/* ==========================================================================
----program
========================================================================== */
.program {
  position: relative; }
  .program .tit_area {
    position: relative;
    background: var(--theme-color);
    z-index: 5;
    margin-bottom: -8vw; }
    @media screen and (max-width: 1050px) {
      .program .tit_area {
        margin-bottom: -30px; } }
    .program .tit_area .s_txt {
      display: block;
      font-size: var(--fz24);
      font-weight: 600;
      color: var(--base-color-beige);
      text-align: center;
      margin-bottom: 1.5rem; }
      .program .tit_area .s_txt span {
        display: inline-block;
        font-size: var(--fz39);
        font-weight: 500; }
    .program .tit_area h2 {
      position: relative;
      width: 120.1333333333%;
      aspect-ratio: 3604/492;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%); }
      .program .tit_area h2 img {
        position: absolute;
        width: 100%;
        left: 0; }
  .program .info_area {
    position: relative;
    z-index: 10; }
  .program .cave_txt {
    position: relative;
    display: block;
    width: 615px;
    margin: 0 auto 10rem; }
  .program ul {
    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;
    margin-bottom: 6rem; }
    .program ul li {
      width: 29.387755102%;
      --color:var(--base-color-green); }
      .program ul li:nth-child(2) {
        --color:var(--base-color-blue02);
        margin-top: -6.5rem; }
      .program ul li:nth-child(3) {
        --color:var(--base-color-perple); }
    .program ul .img_area {
      position: relative;
      aspect-ratio: 1/1;
      border-radius: 6rem;
      max-width: 250px;
      margin: 0 auto 2.5rem;
      background: var(--color); }
      .program ul .img_area .num {
        position: absolute;
        font-size: var(--fz38);
        font-weight: 500;
        color: #fff;
        top: 2.5rem;
        right: 3rem; }
      .program ul .img_area .illust {
        position: absolute;
        width: calc((var(--c_W)/var(--W))*100%);
        top: calc((var(--c_T)/var(--W))*100%);
        left: calc((var(--c_L)/var(--W))*100%);
        --W:500;
        --c_W:198;
        --c_T:130;
        --c_L:161;
        -webkit-transform: translateY(50px);
                transform: translateY(50px);
        opacity: 0;
        -webkit-transition: opacity 0.1s ease, -webkit-transform 0.5s var(--easePopUp);
        transition: opacity 0.1s ease, -webkit-transform 0.5s var(--easePopUp);
        transition: transform 0.5s var(--easePopUp), opacity 0.1s ease;
        transition: transform 0.5s var(--easePopUp), opacity 0.1s ease, -webkit-transform 0.5s var(--easePopUp);
        z-index: 30;
        -webkit-transition-delay: .8s;
                transition-delay: .8s; }
    .program ul li:nth-child(2) .illust {
      --c_W:194;
      --c_T:96;
      --c_L:152; }
    .program ul li:nth-child(3) .illust {
      --c_W:194;
      --c_T:93;
      --c_L:154; }
    .program ul h3 {
      position: relative;
      font-size: var(--fz30);
      --lh:calc(40/30);
      position: relative;
      /*
      overflow: hidden;
      */
      line-height: calc(var(--lh)* 1em);
      padding-top: .1px;
      padding-bottom: .1px;
      text-align: center;
      font-weight: 700;
      margin-bottom: 1.5rem; }
      .program ul h3::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        /*
        margin-top: calc((1 - var(--lh)) * 0.5em);
        */
        margin-top: calc((1 - var(--lh))* .5em); }
      .program ul h3::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-bottom: calc((1 - var(--lh))* .5em); }
    .program ul .sub {
      position: relative;
      font-size: var(--fz14);
      --lh:calc(17/14);
      position: relative;
      /*
      overflow: hidden;
      */
      line-height: calc(var(--lh)* 1em);
      padding-top: .1px;
      padding-bottom: .1px;
      text-align: center;
      font-weight: 500;
      margin-bottom: 1.5rem;
      color: var(--color); }
      .program ul .sub::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        /*
        margin-top: calc((1 - var(--lh)) * 0.5em);
        */
        margin-top: calc((1 - var(--lh))* .5em); }
      .program ul .sub::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-bottom: calc((1 - var(--lh))* .5em); }
    .program ul .cross_txt {
      width: 100%;
      margin-bottom: 2.2rem; }
    .program ul .n_txt {
      font-size: var(--fz16);
      --lh: calc(30/16);
      position: relative;
      /*
      overflow: hidden;
      */
      line-height: calc(var(--lh)* 1em);
      padding-top: .1px;
      padding-bottom: .1px;
      font-weight: 500; }
      .program ul .n_txt::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        /*
        margin-top: calc((1 - var(--lh)) * 0.5em);
        */
        margin-top: calc((1 - var(--lh))* .5em); }
      .program ul .n_txt::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-bottom: calc((1 - var(--lh))* .5em); }
    .program ul .note {
      display: block;
      text-align: center;
      font-size: var(--fz12);
      --lh: calc(16/12);
      position: relative;
      /*
      overflow: hidden;
      */
      line-height: calc(var(--lh)* 1em);
      padding-top: .1px;
      padding-bottom: .1px;
      font-weight: 500;
      margin-top: 1.5rem;
      margin-bottom: 1.5rem;
      color: var(--base-color-gray06); }
      .program ul .note::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        /*
        margin-top: calc((1 - var(--lh)) * 0.5em);
        */
        margin-top: calc((1 - var(--lh))* .5em); }
      .program ul .note::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-bottom: calc((1 - var(--lh))* .5em); }
    .program ul.move .img_area .illust {
      -webkit-transform: translateY(0);
              transform: translateY(0);
      opacity: 1; }
  .program .btm_txt {
    width: 90%;
    max-width: 980px;
    padding: 2rem 2rem 0;
    margin: 0 auto 15rem;
    border-top: 1px solid var(--base-border-color04);
    font-size: var(--fz14);
    line-height: calc(26/14);
    text-align: center;
    color: var(--base-color-gray06);
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }

@media screen and (max-width: 800px) {
  .program .tit_area {
    margin-bottom: 0; }
    .program .tit_area .s_txt {
      font-size: var(--fz17); }
      .program .tit_area .s_txt span {
        font-size: var(--fz28); }
    .program .tit_area h2 {
      width: 129.5%;
      aspect-ratio: 1036/257; }
  .program .info_area {
    position: relative;
    z-index: 10; }
  .program .cave_txt {
    width: 60.25%;
    max-width: 240px;
    margin: 0 auto 5.5rem; }
  .program ul.-w1220 {
    width: 82.5%;
    display: block; }
    .program ul.-w1220 li {
      width: 100%; }
      .program ul.-w1220 li:first-child .n_txt {
        text-align: center; }
      .program ul.-w1220 li:nth-child(2) {
        margin-top: 6.5rem; }
      .program ul.-w1220 li:nth-child(3) {
        margin-top: 6.5rem; }
    .program ul.-w1220 .img_area {
      border-radius: 6rem;
      max-width: 250px;
      margin: 0 auto 2.5rem; }
      .program ul.-w1220 .img_area .num {
        font-size: var(--fz33);
        top: 2.2rem;
        right: 2.8rem; }
    .program ul.-w1220 h3 {
      font-size: var(--fz24);
      --lh:calc(32/24);
      margin-bottom: 1.1rem; }
    .program ul.-w1220 .sub {
      font-size: var(--fz12);
      --lh:calc(14/12);
      margin-bottom: 2rem; }
    .program ul.-w1220 .cross_txt {
      width: 315px;
      margin: 0 auto 2rem; }
    .program ul.-w1220 .n_txt {
      font-size: var(--fz13);
      --lh: calc(24/13); }
    .program ul.-w1220 .note {
      font-size: var(--fz11);
      margin-top: 1rem;
      margin-bottom: 1.2em; }
  .program .btm_txt {
    padding: 2rem 1.5rem 0;
    margin: 0 auto 11.5rem;
    font-size: var(--fz12);
    line-height: calc(20/12);
    text-align: left; } }
/* ==========================================================================
---comment
========================================================================== */
.comment {
  position: relative;
  padding: 6rem 8rem 8rem 5rem;
  background: #fff;
  border-radius: 6rem;
  box-sizng: border-box;
  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;
  margin-bottom: 9.3rem; }
  .comment .illust {
    position: absolute;
    left: -3.1rem;
    top: -4rem;
    width: 249px;
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
    opacity: 0;
    -webkit-transition: opacity 0.1s ease, -webkit-transform 0.5s var(--easePopUp);
    transition: opacity 0.1s ease, -webkit-transform 0.5s var(--easePopUp);
    transition: transform 0.5s var(--easePopUp), opacity 0.1s ease;
    transition: transform 0.5s var(--easePopUp), opacity 0.1s ease, -webkit-transform 0.5s var(--easePopUp); }
  .comment.move .illust {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; }
  .comment .comment-tit_area {
    width: 13rem;
    padding-top: 15rem;
    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;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse; }
    .comment .comment-tit_area .en {
      font-size: var(--fz36);
      font-weight: 500;
      line-height: calc(38/36); }
    .comment .comment-tit_area .ja {
      font-size: var(--fz16);
      font-weight: 700;
      color: var(--base-color-gray06);
      margin-right: 2rem; }
  .comment .text_area {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    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;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    margin-left: 11.5rem; }
  .comment .teacher {
    width: 25.6544502618%;
    text-align: center; }
    .comment .teacher .img {
      position: relative;
      border-radius: 245px 245px 30px 30px;
      overflow: hidden;
      margin: 0 auto 2rem; }
    .comment .teacher .p_txt {
      font-size: var(--fz14);
      line-height: calc(20/14);
      margin-bottom: .5rem;
      color: var(--theme-color);
      font-weight: 600; }
    .comment .teacher .name {
      display: inline-block;
      font-size: var(--fz24);
      font-weight: 600;
      margin-right: .4rem; }
    .comment .teacher p:last-child {
      display: inline-block;
      font-size: var(--fz16);
      font-weight: 600; }
  .comment .comment_area {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-top: 2rem;
    margin-right: 5rem; }
    .comment .comment_area h4 {
      position: relative;
      font-size: var(--fz26);
      font-weight: 600;
      line-height: calc(41/26);
      margin-bottom: 5.5rem; }
      .comment .comment_area h4:after {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        bottom: -2.5rem;
        width: 100%;
        max-width: 368px;
        height: 4px;
        background: url(../img/common/dot-bg.png) repeat-x;
        background-size: 10px 4px; }
    .comment .comment_area p {
      position: relative;
      font-size: var(--fz14);
      line-height: calc(26/14);
      color: var(--base-color-gray06);
      font-weight: 600; }

@media screen and (max-width: 1050px) {
  .comment {
    padding: 12rem 8rem 8rem;
    display: block;
    margin-bottom: 9.3rem; }
    .comment .illust {
      position: absolute;
      left: 0;
      right: 0;
      margin: auto;
      top: -4rem; }
    .comment .comment-tit_area {
      width: 100%;
      text-align: center;
      padding-top: 15rem;
      display: block;
      margin-bottom: 4rem; }
      .comment .comment-tit_area .v_txt {
        -webkit-writing-mode: horizontal-tb;
            -ms-writing-mode: lr-tb;
                writing-mode: horizontal-tb;
        -webkit-font-feature-settings: normal;
                font-feature-settings: normal;
        vertical-align: baseline; }
      .comment .comment-tit_area .en {
        display: block;
        margin-bottom: 1.5rem; }
        .comment .comment-tit_area .en br {
          display: none; }
      .comment .comment-tit_area .ja {
        margin-right: 0; }
    .comment .text_area {
      display: block;
      width: 100%;
      margin-left: 0; }
    .comment .teacher {
      width: 245px;
      margin: 0 auto 5rem; }
    .comment .comment_area {
      display: block;
      padding-top: 2rem;
      margin-right: 0; }
      .comment .comment_area h4 {
        text-align: center; }
        .comment .comment_area h4:after {
          left: 0;
          right: 0;
          margin: auto; }
      .comment .comment_area p {
        position: relative;
        font-size: var(--fz14);
        line-height: calc(26/14);
        color: var(--base-color-gray06);
        font-weight: 600; } }
@media screen and (max-width: 800px) {
  .comment {
    padding: 8.2rem 8.3333333333% 5rem;
    border-radius: 4rem;
    margin-bottom: 6.5rem; }
    .comment .illust {
      top: -3.8rem;
      width: 120px; }
    .comment .comment-tit_area {
      padding-top: 0;
      margin-bottom: 2.5rem; }
      .comment .comment-tit_area .en {
        font-size: var(--fz26);
        margin-bottom: .5rem; }
      .comment .comment-tit_area .ja {
        font-size: var(--fz12); }
    .comment .teacher {
      width: 50%;
      margin: 0 auto 2rem; }
      .comment .teacher .img {
        position: relative;
        border-radius: 150px 150px 15px 15px;
        margin: 0 auto 1.1rem; }
      .comment .teacher .p_txt {
        font-size: var(--fz11);
        line-height: calc(15/11);
        margin-bottom: .5rem; }
      .comment .teacher .name {
        font-size: var(--fz17);
        margin-right: .4rem; }
      .comment .teacher p:last-child {
        font-size: var(--fz11); }
    .comment .comment_area {
      padding-top: 0; }
      .comment .comment_area h4 {
        font-size: var(--fz16);
        line-height: calc(27/16);
        margin-bottom: 5rem; }
        .comment .comment_area h4:after {
          bottom: -2.3rem;
          width: 66.6666666667%;
          max-width: 400px;
          height: 3px;
          background-size: 7px 3px; }
      .comment .comment_area p {
        font-size: var(--fz13);
        line-height: calc(22/13); } }
.d-btm_pan {
  position: relative;
  z-index: 50; }

/*# sourceMappingURL=gym.css.map */