@charset "UTF-8";
/* ==========================================================================
	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); }

/* ==========================================================================
	fv
========================================================================== */
#h_fv h1 span:after {
  width: 43px;
  height: 19px;
  top: 8px;
  right: 2px;
  background: url(../img/service/fv-tit_icon.svg); }

@media screen and (max-width: 800px) {
  #h_fv h1 span:after {
    width: 27px;
    height: 12px;
    top: 7px;
    right: 5px; } }
/* ==========================================================================
	intro
========================================================================== */
.intro {
  position: relative;
  width: 100%;
  padding-top: 6rem;
  padding-bottom: 8.5rem; }
  .intro .inr {
    z-index: 10; }
  .intro .chara-area {
    position: absolute;
    left: 0;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: clamp(1300px, 100%, 2000px);
    height: 500px;
    z-index: 1; }
    .intro .chara-area span {
      position: absolute;
      left: calc((var(--c_L)/var(--W))*100%);
      top: 0;
      --W:3000;
      --move-x: 800px;
      --move-y: 500px;
      --rotate-turns: 3;
      --duration: 30s;
      -webkit-animation: illust-move var(--duration) linear infinite, illust-fade var(--duration) linear infinite;
              animation: illust-move var(--duration) linear infinite, illust-fade var(--duration) linear infinite;
      will-change: transform, opacity; }
    .intro .chara-area .-R {
      width: 13px;
      --c_L:1362;
      aspect-ratio: 13/12;
      -webkit-animation-delay: -5s;
              animation-delay: -5s; }
      .intro .chara-area .-R.R02 {
        --c_L:2062;
        --duration:15s;
        -webkit-animation-delay: -2s;
                animation-delay: -2s; }
      .intro .chara-area .-R.R03 {
        --c_L:30;
        -webkit-animation-delay: -7s;
                animation-delay: -7s;
        --duration:15s; }
    .intro .chara-area .-O {
      width: 12px;
      aspect-ratio: 1/1;
      --c_L:750; }
      .intro .chara-area .-O.O02 {
        --c_L:1000;
        --duration:20s;
        -webkit-animation-delay: -5s;
                animation-delay: -5s; }
    .intro .chara-area .-Y {
      width: 10px;
      aspect-ratio: 10/12;
      --c_L:1500;
      --duration:18s;
      -webkit-animation-delay: -3s;
              animation-delay: -3s; }
      .intro .chara-area .-Y.Y02 {
        --c_L:2450;
        --duration:30s;
        -webkit-animation-delay: -4s;
                animation-delay: -4s; }
      .intro .chara-area .-Y.Y03 {
        --c_L:150;
        --duration:22s;
        -webkit-animation-delay: 0;
                animation-delay: 0; }
    .intro .chara-area .-G {
      width: 15px;
      aspect-ratio: 15/9;
      --c_L:480;
      -webkit-animation-delay: -4s;
              animation-delay: -4s; }
      .intro .chara-area .-G.G02 {
        --c_L:540;
        --duration:14s;
        -webkit-animation-delay: -8s;
                animation-delay: -8s; }
      .intro .chara-area .-G.G03 {
        --c_L:2050;
        --duration:40s;
        -webkit-animation-delay: -5s;
                animation-delay: -5s; }
    .intro .chara-area .-P {
      width: 18px;
      aspect-ratio: 18/10;
      --c_L:-200;
      -webkit-animation-delay: -4s;
              animation-delay: -4s; }
      .intro .chara-area .-P.P02 {
        --c_L:1644;
        --duration:22s;
        -webkit-animation-delay: -6s;
                animation-delay: -6s; }
  @media screen and (min-width: 1501px) {
    .intro {
      padding-top: 5vw;
      padding-bottom: 7vw; } }
  .intro .inr {
    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;
    max-width: 1290px; }
  .intro .tit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 57.2093023256%;
    min-width: 730px; }
  .intro h2 {
    font-size: var(--fz36);
    font-weight: 700;
    line-height: calc(121/73);
    letter-spacing: 0.04em;
    color: #646464; }
    .intro h2 span {
      display: inline; }
      .intro h2 span + span {
        margin-left: -18px; }
  .intro .c-pink {
    color: var(--theme-color); }
  .intro .c-orange {
    color: var(--base-color-orange); }
  .intro .c-purple {
    color: var(--base-color-perple); }
  .intro .c-green {
    color: var(--base-color-green); }
  .intro .c-yellow {
    color: var(--base-color-yellow); }
  .intro p {
    width: 34.8837209302%;
    max-width: calc(100% - 750px);
    font-size: var(--fz18);
    line-height: calc(32/16);
    font-weight: 500;
    letter-spacing: 0.04em; }

/* ---- 移動＋回転（距離・回転数はCSS変数で可変） ---- */
@-webkit-keyframes illust-move {
  0% {
    -webkit-transform: translate(0, 0) rotate(0turn);
            transform: translate(0, 0) rotate(0turn); }
  100% {
    -webkit-transform: translate(var(--move-x), var(--move-y)) rotate(calc(var(--rotate-turns) * 1turn));
            transform: translate(var(--move-x), var(--move-y)) rotate(calc(var(--rotate-turns) * 1turn)); } }
@keyframes illust-move {
  0% {
    -webkit-transform: translate(0, 0) rotate(0turn);
            transform: translate(0, 0) rotate(0turn); }
  100% {
    -webkit-transform: translate(var(--move-x), var(--move-y)) rotate(calc(var(--rotate-turns) * 1turn));
            transform: translate(var(--move-x), var(--move-y)) rotate(calc(var(--rotate-turns) * 1turn)); } }
/* ---- 不透明度（区間%はSCSSで前計算） ---- */
@-webkit-keyframes illust-fade {
  0% {
    opacity: 0; }
  2% {
    opacity: 1; }
  85% {
    opacity: 1; }
  100% {
    opacity: 0; } }
@keyframes illust-fade {
  0% {
    opacity: 0; }
  2% {
    opacity: 1; }
  85% {
    opacity: 1; }
  100% {
    opacity: 0; } }
@media screen and (max-width: 1230px) {
  .intro {
    display: block; }
    .intro .tit {
      display: block;
      width: 100%;
      text-align: center; }
    .intro p {
      width: 100%;
      max-width: 100%;
      margin-top: 5rem; } }
@media screen and (max-width: 1050px) {
  .intro {
    padding-bottom: 18rem; } }
@media screen and (max-width: 800px) {
  .intro {
    padding-top: clamp(21px, 8.75vw, 44.8px);
    padding-bottom: clamp(48px, 20vw, 102.4px); }
    .intro .chara-area {
      position: absolute;
      left: 0;
      top: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      width: clamp(800px, 100%, 2000px); }
    .intro .inr.-w1290 {
      width: 100%; }
    .intro .tit {
      min-width: 10px; }
    .intro h2 {
      font-size: var(--fz18);
      line-height: calc(67/38);
      letter-spacing: 0;
      margin-bottom: 1rem; }
      .intro h2 span + span {
        margin-left: -10px; }
    .intro p {
      width: 87.5%;
      margin: 0 auto;
      font-size: var(--fz13);
      line-height: 2;
      letter-spacing: 0.02em; } }
/* ==========================================================================
	service-con
========================================================================== */
.service-con {
  position: relative;
  padding-top: 16rem;
  padding-bottom: 15.5rem;
  padding-left: 8.085106383%;
  width: 94%;
  max-width: 2000px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  .service-con .text_area {
    position: relative;
    z-index: 10; }
  .service-con .img_area {
    position: absolute;
    z-index: 10; }
    .service-con .img_area img {
      position: relative;
      -webkit-mask-position: center center;
      mask-position: center center;
      -webkit-mask-size: cover;
      mask-size: cover;
      pointer-events: none;
      z-ndex: 10; }
    .service-con .img_area:before {
      content: "";
      display: block;
      position: absolute;
      -webkit-mask-position: center center;
      mask-position: center center;
      -webkit-mask-size: cover;
      mask-size: cover;
      pointer-events: none;
      width: 100%;
      height: auto;
      background: var(--c_color);
      opacity: 0;
      z-index: 1;
      -webkit-transition: width 0.8s var(--easeOutQuad), opacity 0.1s ease, -webkit-transform 0.8s var(--easeOutQuad);
      transition: width 0.8s var(--easeOutQuad), opacity 0.1s ease, -webkit-transform 0.8s var(--easeOutQuad);
      transition: transform 0.8s var(--easeOutQuad), width 0.8s var(--easeOutQuad), opacity 0.1s ease;
      transition: transform 0.8s var(--easeOutQuad), width 0.8s var(--easeOutQuad), opacity 0.1s ease, -webkit-transform 0.8s var(--easeOutQuad); }
  .service-con .num {
    display: block;
    font-size: var(--fz14);
    font-weight: 600;
    color: var(--c_color);
    margin-bottom: 2rem;
    letter-spacing: 0.06em; }
  .service-con h2 {
    position: relative;
    display: table;
    margin-bottom: 2.5rem; }
    .service-con h2 span {
      display: table; }
      .service-con h2 span:first-child {
        width: 261px;
        margin-bottom: 0; }
    .service-con h2 .en {
      position: relative;
      font-size: 150px;
      font-weight: 300;
      --lh:1.2;
      -webkit-transform: translateX(-15px);
              transform: translateX(-15px); }
      .service-con h2 .en:after {
        content: "";
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        width: 100px;
        height: 36px;
        border-radius: 18px;
        font-family: "Zen Maru Gothic", sans-serif;
        font-size: 18px;
        font-weight: 700;
        color: #fff;
        background: var(--c_color);
        z-index: 10;
        position: absolute;
        right: -60px;
        bottom: 0;
        letter-spacing: 0; }
  .service-con h3 {
    font-size: var(--fz34);
    --lh: calc(52/34);
    position: relative;
    /*
    overflow: hidden;
    */
    line-height: calc(var(--lh)* 1em);
    padding-top: .1px;
    padding-bottom: .1px;
    margin-bottom: 2.8rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--c_color); }
    .service-con h3::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      /*
      margin-top: calc((1 - var(--lh)) * 0.5em);
      */
      margin-top: calc((1 - var(--lh))* .5em); }
    .service-con h3::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-bottom: calc((1 - var(--lh))* .5em); }
    .service-con h3 + .n_txt {
      font-size: var(--fz16);
      line-height: calc(30/16);
      font-weight: 500;
      letter-spacing: 0.04em;
      margin-bottom: 5rem; }

@media screen and (max-width: 1050px) {
  .service-con {
    padding-top: 0;
    padding-left: 0;
    width: 100%; }
    .service-con .text_area {
      position: relative;
      z-index: 10; }
    .service-con .img_area {
      position: relative; }
    .service-con .num {
      text-align: center; }
    .service-con h2 {
      display: table;
      margin-left: auto;
      margin-right: auto; }
      .service-con h2 span:first-child {
        margin-left: auto;
        margin-right: auto; }
      .service-con h2 .en {
        -webkit-transform: translateX(0);
                transform: translateX(0); }
        .service-con h2 .en:after {
          right: -30px; }
    .service-con h3 {
      width: 82.5%;
      margin-left: auto;
      margin-right: auto;
      text-align: center; }
      .service-con h3 + .n_txt {
        margin-left: auto;
        margin-right: auto;
        width: 82.5%;
        max-width: 450px; } }
@media screen and (max-width: 800px) {
  .service-con {
    padding-bottom: clamp(48px, 20vw, 102.4px); }
    .service-con .num {
      font-size: var(--fz10);
      margin-bottom: 1.4rem; }
    .service-con h2 {
      position: relative;
      display: table;
      margin-bottom: 2rem; }
      .service-con h2 span {
        display: table; }
        .service-con h2 span:first-child {
          width: 168px;
          margin-bottom: 0; }
      .service-con h2 .en {
        font-size: 95px; }
        .service-con h2 .en:after {
          width: 80px;
          height: 29px;
          font-size: 14px; }
    .service-con h3 {
      font-size: var(--fz20);
      --lh: calc(34/21);
      white-space: nowrap;
      margin-bottom: 2rem; }
      .service-con h3 + .n_txt {
        font-size: var(--fz14);
        line-height: calc(26/14);
        margin-bottom: 2.5rem; } }
/*-----------------------
-gym
-----------------------*/
.-gym {
  --c_color:var(--theme-color); }
  .-gym:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 0 200px 200px 0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1; }
  .-gym .img_area {
    bottom: 45rem;
    width: 58.7234042553%;
    max-width: 1000px;
    left: 52.1276595745%;
    aspect-ratio: 1656/1481; }
    .-gym .img_area img {
      -webkit-mask-image: url(../img/service/img-mask_gym.svg);
              mask-image: url(../img/service/img-mask_gym.svg); }
    .-gym .img_area:before {
      left: 0;
      top: 0;
      -webkit-mask-image: url(../img/service/img-mask_gym.svg);
              mask-image: url(../img/service/img-mask_gym.svg);
      aspect-ratio: 1656/1481; }
    .-gym .img_area.move:before {
      -webkit-transform: translate(-50px, -100px);
              transform: translate(-50px, -100px);
      width: 77.11352657%;
      opacity: 1; }
  .-gym .text_area {
    position: relative;
    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-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    width: 92.207293666%; }
  @media screen and (min-width: 801px) {
    .-gym h2:after {
      content: "";
      display: block;
      position: absolute;
      background-size: cover;
      width: 139px;
      aspect-ratio: 90/95;
      left: 342px;
      top: -45px;
      background-image: url(../img/common/chara-R_03.svg);
      -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); }
    .-gym h2.move:after {
      -webkit-transform: translateY(0);
              transform: translateY(0);
      opacity: 1; } }
  .-gym h2 .en:after {
    content: "うごジム"; }
  .-gym .pc-l {
    width: 47.3771856786%; }
  .-gym .pc-r {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    max-width: 450px; }
    .-gym .pc-r .c_txt {
      font-size: var(--fz20);
      --lh:calc(38/20);
      position: relative;
      /*
      overflow: hidden;
      */
      line-height: calc(var(--lh)* 1em);
      padding-top: .1px;
      padding-bottom: .1px;
      font-weight: 700;
      text-align: center;
      letter-spacing: 0.04em;
      margin-bottom: 4.5rem; }
      .-gym .pc-r .c_txt::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        /*
        margin-top: calc((1 - var(--lh)) * 0.5em);
        */
        margin-top: calc((1 - var(--lh))* .5em); }
      .-gym .pc-r .c_txt::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-bottom: calc((1 - var(--lh))* .5em); }
  .-gym .p-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;
    padding: 3rem 3.5rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 4rem;
    background: var(--base-color-beige); }
    .-gym .p-box .img {
      width: 34.5691382766%;
      max-width: 200px; }
      .-gym .p-box .img img {
        border-radius: 2.4rem; }
    .-gym .p-box .box-text {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin-left: 3rem; }
      .-gym .p-box .box-text .s_txt {
        font-size: var(--fz14);
        font-weight: 700;
        margin-bottom: 1rem; }
      .-gym .p-box .box-text h4 {
        width: 100%;
        max-width: 222px;
        margin-bottom: .5rem; }
      .-gym .p-box .box-text .n_txt {
        font-weight: 500; }
      .-gym .p-box .box-text .bg_txt {
        display: inline-block;
        padding: .7rem 1.8rem;
        background: var(--base-color-orange);
        font-size: var(--fz11);
        font-weight: 600;
        color: #fff;
        margin-right: .8rem;
        border-radius: 12px;
        letter-spacing: 0.04em;
        -webkit-transform: translateY(-6px);
                transform: translateY(-6px); }
      .-gym .p-box .box-text .age {
        display: inline-block;
        font-size: var(--fz16);
        letter-spacing: 0.04em;
        font-weight: 700; }
        .-gym .p-box .box-text .age span {
          font-size: var(--fz33);
          font-weight: 600; }
        .-gym .p-box .box-text .age .en {
          font-weight: 500; }
        .-gym .p-box .box-text .age .n_txt {
          display: block;
          font-size: var(--fz14);
          letter-spacing: 0.04em;
          line-height: calc(24/14); }
    .-gym .p-box + .p-box {
      margin-top: 1rem; }
      .-gym .p-box + .p-box h4 {
        max-width: 255px; }
      .-gym .p-box + .p-box .bg_txt {
        background: var(--theme-color); }

@media screen and (max-width: 1050px) {
  .-gym {
    border-radius: 0 6rem 6rem 0;
    padding-bottom: clamp(54px, 22.5vw, 115.2px); }
    .-gym .img_area {
      bottom: auto;
      left: auto;
      width: 90.25%;
      margin-left: 15.5%;
      -webkit-transform: translateY(-5rem);
              transform: translateY(-5rem); }
      .-gym .img_area.move:before {
        -webkit-transform: translate(-55px, -30px);
                transform: translate(-55px, -30px);
        width: 77.11352657%;
        opacity: 1; }
    .-gym .text_area {
      position: relative;
      display: block;
      width: 100%; }
    .-gym h2 {
      text-align: center; }
    .-gym .pc-l {
      width: 100%; }
    .-gym .pc-r {
      width: 100%;
      max-width: 100%;
      margin-top: 4rem; }
    .-gym .p-box {
      width: 95.5%;
      margin-left: 4.5%;
      border-radius: 4rem 0 0 4rem; } }
@media screen and (max-width: 800px) {
  .-gym {
    --c_color:var(--theme-color);
    background: #fff;
    border-radius: 0 12rem 12rem 0; }
    .-gym:before {
      display: none; }
    .-gym .img_area {
      -webkit-transform: translateY(-2.2rem);
              transform: translateY(-2.2rem); }
      .-gym .img_area.move:before {
        -webkit-transform: translate(-25px, -30px);
                transform: translate(-25px, -30px); }
      .-gym .img_area:after {
        content: "";
        display: block;
        position: absolute;
        background-size: cover;
        width: 99px;
        aspect-ratio: 90/95;
        left: -45px;
        bottom: -44px;
        background-image: url(../img/common/chara-R_03.svg);
        -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; }
      .-gym .img_area.move:after {
        -webkit-transform: translateY(0);
                transform: translateY(0);
        opacity: 1; }
    .-gym .pc-r {
      margin-top: 3rem; }
      .-gym .pc-r .c_txt {
        font-size: var(--fz16);
        --lh:calc(30/16);
        margin-bottom: 2.8rem; }
    .-gym .p-box {
      padding: 2rem 3rem 2rem 1.8rem;
      border-radius: 3rem 0 0 3rem; }
      .-gym .p-box .img {
        width: 34.9253731343%; }
        .-gym .p-box .img img {
          border-radius: 2rem; }
      .-gym .p-box .box-text {
        margin-left: 2rem; }
        .-gym .p-box .box-text .s_txt {
          font-size: var(--fz12);
          margin-bottom: 1rem; }
        .-gym .p-box .box-text h4 {
          max-width: 163px;
          margin-bottom: .7rem; }
        .-gym .p-box .box-text .bg_txt {
          padding: .7rem 1.8rem;
          font-size: var(--fz11);
          margin-right: .8rem;
          -webkit-transform: translateY(-6px);
                  transform: translateY(-6px); }
        .-gym .p-box .box-text .age {
          font-size: var(--fz14); }
          .-gym .p-box .box-text .age span {
            font-size: var(--fz28); }
        .-gym .p-box .box-text .n_txt {
          font-size: var(--fz11);
          line-height: calc(18/11); }
      .-gym .p-box + .p-box {
        margin-top: 1rem; }
        .-gym .p-box + .p-box h4 {
          max-width: 188px; } }
/*-----------------------
-nem
-----------------------*/
.-nem {
  --c_color:var(--base-color-perple);
  margin-left: 6%;
  padding-left: 47.8723404255%;
  margin-top: 11rem; }
  @media screen and (min-width: 2120px) {
    .-nem {
      margin-left: calc(100% - 2000px); } }
  .-nem:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 200px 0 0 200px;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1; }
  .-nem .img_area {
    bottom: 25rem;
    width: 74.4680851064%;
    max-width: 1000px;
    left: -27.6595744681%;
    aspect-ratio: 2101/1060; }
    .-nem .img_area img {
      -webkit-mask-image: url(../img/service/img-mask_nem.svg);
              mask-image: url(../img/service/img-mask_nem.svg); }
    .-nem .img_area:before {
      left: 0;
      top: 0;
      -webkit-mask-image: url(../img/service/img-mask_nem.svg);
              mask-image: url(../img/service/img-mask_nem.svg);
      aspect-ratio: 2101/1060; }
    .-nem .img_area.move:before {
      left: auto;
      top: auto;
      right: 0;
      bottom: 0;
      -webkit-transform: translate(50px, 100px);
              transform: translate(50px, 100px);
      width: 56.7619047619%;
      opacity: 1; }
    .-nem .img_area:after {
      content: "";
      display: block;
      position: absolute;
      background-size: cover;
      width: 139px;
      aspect-ratio: 282/141;
      right: 162px;
      top: -30px;
      background-image: url(../img/common/chara-P_03.svg);
      -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; }
    .-nem .img_area.move:after {
      -webkit-transform: translateY(0);
              transform: translateY(0);
      opacity: 1; }
  .-nem .text_area {
    position: relative;
    width: 84.375%; }
  .-nem h2:after {
    width: 139px;
    aspect-ratio: 90/95;
    left: 342px;
    top: -45px;
    background-image: url(../img/common/chara-R_03.svg); }
  .-nem h2 .en:after {
    content: "うごネム"; }
  .-nem .link_wrap {
    margin: 0; }

@media screen and (max-width: 1050px) {
  .-nem {
    margin-top: 18rem;
    background: #fff;
    padding-left: 0;
    width: 100%;
    margin-left: 0;
    border-radius: 12rem 0 0 12rem; }
    .-nem:before {
      display: none; }
    .-nem .img_area {
      bottom: auto;
      left: auto;
      width: 140.75%;
      margin-left: -40.75%;
      max-width: 150%;
      -webkit-transform: translateY(-8rem);
              transform: translateY(-8rem); }
      .-nem .img_area:before {
        left: auto;
        right: 8%; }
      .-nem .img_area.move:before {
        left: auto;
        right: 7%;
        -webkit-transform: translate(0, 50px);
        transform: translate(0, 50px); }
    .-nem .text_area {
      width: 100%;
      margin-top: 4rem; }
    .-nem .link_wrap {
      margin: 0 auto; } }
@media screen and (max-width: 800px) {
  .-nem {
    margin-top: clamp(81px, 33.75vw, 172.8px);
    border-radius: 6rem 0 0 6rem; }
    .-nem .img_area {
      bottom: auto;
      left: auto;
      width: 140.75%;
      margin-left: -40.75%;
      max-width: 150%;
      -webkit-transform: translateY(-7rem);
              transform: translateY(-7rem); }
      .-nem .img_area:before {
        left: auto;
        right: 8%;
        width: 52.8419182948%; }
      .-nem .img_area.move:before {
        left: auto;
        right: 8%;
        -webkit-transform: translate(0, 50px);
        transform: translate(0, 50px); }
      .-nem .img_area:after {
        width: 99px;
        right: 90px;
        top: -26px; }
    .-nem .text_area {
      width: 100%;
      margin-top: 0; } }
/*-----------------------
-mog
-----------------------*/
.-mog {
  --c_color:var(--base-color-orange);
  margin-top: 11rem; }
  .-mog:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 0 200px 200px 0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1; }
  .-mog .img_area {
    top: 10rem;
    width: 52.6595744681%;
    max-width: 850px;
    left: 52.6595744681%;
    aspect-ratio: 1/1; }
    .-mog .img_area img {
      -webkit-mask-image: url(../img/service/img-mask_mog.svg);
              mask-image: url(../img/service/img-mask_mog.svg); }
    .-mog .img_area:before {
      left: 0;
      top: 0;
      -webkit-mask-image: url(../img/service/img-mask_mog.svg);
              mask-image: url(../img/service/img-mask_mog.svg);
      aspect-ratio: 1/1; }
    .-mog .img_area.move:before {
      left: auto;
      top: auto;
      -webkit-transform: translate(-90px, -45px);
              transform: translate(-90px, -45px);
      width: 50.9090909091%;
      opacity: 1; }
    .-mog .img_area:after {
      content: "";
      display: block;
      position: absolute;
      background-size: cover;
      width: 108px;
      aspect-ratio: 1/1;
      left: 15px;
      bottom: 93px;
      background-image: url(../img/common/chara-O_01.svg);
      -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; }
    .-mog .img_area.move:after {
      -webkit-transform: translateY(0);
              transform: translateY(0);
      opacity: 1; }
  .-mog .text_area {
    position: relative;
    width: 47.1142520612%; }
  .-mog h2:after {
    width: 139px;
    aspect-ratio: 90/95;
    left: 342px;
    top: -45px;
    background-image: url(../img/common/chara-R_03.svg); }
  .-mog h2 .en:after {
    content: "うごモグ"; }
  .-mog .link_wrap {
    margin: 0; }

@media screen and (max-width: 1050px) {
  .-mog {
    margin-top: 20rem;
    background: #fff;
    padding-left: 0;
    width: 100%;
    margin-left: 0;
    border-radius: 0 12rem 12rem 0; }
    .-mog:before {
      display: none; }
    .-mog .img_area {
      bottom: auto;
      left: auto;
      width: 88.25%;
      margin-left: 8.25%;
      max-width: 150%;
      -webkit-transform: translateY(-10rem);
              transform: translateY(-10rem); }
    .-mog .text_area {
      width: 100%;
      margin-top: 4rem; }
    .-mog .link_wrap {
      margin: 0 auto; } }
@media screen and (max-width: 800px) {
  .-mog {
    margin-top: clamp(90px, 37.5vw, 192px);
    border-radius: 0 6rem 6rem 0; }
    .-mog .img_area {
      top: 0;
      -webkit-transform: translateY(-10rem);
              transform: translateY(-10rem);
      margin-bottom: -11.5rem; }
      .-mog .img_area.move:before {
        -webkit-transform: translate(-58px, -5px);
                transform: translate(-58px, -5px);
        width: 47.5920679887%; }
      .-mog .img_area:after {
        width: 67px;
        left: 9px;
        bottom: 21px; } }
/* ==========================================================================
	al_wrap
========================================================================== */
.al_wrap {
  margin-top: 15rem;
  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-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }
  .al_wrap .box {
    position: relative;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-bottom: 8.7rem; }
  .al_wrap .text_area {
    position: relative;
    width: 65.9722222222%;
    min-width: 400px;
    text-align: center;
    margin: 0 auto; }
  .al_wrap .img_area {
    position: relative;
    z-index: 10; }
    .al_wrap .img_area img {
      position: relative;
      -webkit-mask-position: center center;
      mask-position: center center;
      -webkit-mask-size: cover;
      mask-size: cover;
      pointer-events: none;
      z-ndex: 10; }
    .al_wrap .img_area:before {
      content: "";
      display: block;
      position: absolute;
      -webkit-mask-position: center center;
      mask-position: center center;
      -webkit-mask-size: cover;
      mask-size: cover;
      pointer-events: none;
      width: 100%;
      height: auto;
      background: var(--c_color);
      opacity: 0;
      z-index: 1;
      -webkit-transition: width 0.8s var(--easeOutQuad), opacity 0.1s ease, -webkit-transform 0.8s var(--easeOutQuad);
      transition: width 0.8s var(--easeOutQuad), opacity 0.1s ease, -webkit-transform 0.8s var(--easeOutQuad);
      transition: transform 0.8s var(--easeOutQuad), width 0.8s var(--easeOutQuad), opacity 0.1s ease;
      transition: transform 0.8s var(--easeOutQuad), width 0.8s var(--easeOutQuad), opacity 0.1s ease, -webkit-transform 0.8s var(--easeOutQuad); }
  .al_wrap .num {
    display: block;
    font-size: var(--fz14);
    font-weight: 600;
    color: var(--c_color);
    margin-bottom: 1.5rem;
    letter-spacing: 0.06em; }
  .al_wrap h2 {
    position: relative;
    display: block;
    margin: 0 auto 2.5rem;
    text-align: center; }
    .al_wrap h2 span:first-child {
      display: table;
      width: 208px;
      margin: 0 auto; }
    .al_wrap h2 .en {
      position: relative;
      font-size: 100px;
      font-weight: 300;
      --lh:1.2;
      letter-spacing: -0.04em; }
  .al_wrap h3 {
    font-size: var(--fz30);
    --lh: calc(46/30);
    position: relative;
    /*
    overflow: hidden;
    */
    line-height: calc(var(--lh)* 1em);
    padding-top: .1px;
    padding-bottom: .1px;
    margin-bottom: 2.8rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--c_color); }
    .al_wrap h3::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      /*
      margin-top: calc((1 - var(--lh)) * 0.5em);
      */
      margin-top: calc((1 - var(--lh))* .5em); }
    .al_wrap h3::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-bottom: calc((1 - var(--lh))* .5em); }
    .al_wrap h3 + .n_txt {
      font-size: var(--fz16);
      line-height: calc(34/16);
      letter-spacing: 0.04em;
      font-weight: 500;
      text-align: left; }

@media screen and (max-width: 1050px) {
  .al_wrap {
    margin-top: 25rem;
    display: block; }
    .al_wrap .box {
      padding-bottom: 8.7rem; }
    .al_wrap .text_area {
      width: 82.5%;
      max-width: 450px;
      min-width: 10px; }
    .al_wrap .num {
      text-align: center; }
    .al_wrap h3 {
      font-size: var(--fz30);
      --lh: calc(46/30);
      position: relative;
      /*
      overflow: hidden;
      */
      line-height: calc(var(--lh)* 1em);
      padding-top: .1px;
      padding-bottom: .1px;
      margin-bottom: 2.8rem;
      font-weight: 700;
      letter-spacing: -0.02em;
      color: var(--c_color); }
      .al_wrap h3::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        /*
        margin-top: calc((1 - var(--lh)) * 0.5em);
        */
        margin-top: calc((1 - var(--lh))* .5em); }
      .al_wrap h3::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-bottom: calc((1 - var(--lh))* .5em); }
      .al_wrap h3 + .n_txt {
        font-size: var(--fz16);
        line-height: calc(34/16);
        letter-spacing: 0.04em;
        text-align: left; } }
@media screen and (max-width: 800px) {
  .al_wrap {
    margin-top: clamp(78px, 32.5vw, 166.4px);
    border-radius: 6rem 0 0 6rem; }
    .al_wrap .box {
      padding-bottom: clamp(42px, 17.5vw, 89.6px); }
    .al_wrap .num {
      font-size: var(--fz10);
      margin-bottom: 1.4rem; }
    .al_wrap h2 {
      position: relative;
      display: table;
      margin-bottom: 2rem; }
      .al_wrap h2 span {
        display: table; }
        .al_wrap h2 span:first-child {
          width: 168px;
          margin-bottom: 0; }
      .al_wrap h2 .en {
        font-size: 66px;
        white-space: nowrap; }
        .al_wrap h2 .en:after {
          width: 80px;
          height: 29px;
          font-size: 14px; }
    .al_wrap h3 {
      font-size: var(--fz21);
      --lh: calc(34/21);
      margin-bottom: 2rem; }
      .al_wrap h3 + .n_txt {
        font-size: var(--fz14);
        line-height: calc(26/14); } }
/*-----------------------
-academy
-----------------------*/
.-academy {
  --c_color:var(--base-color-green);
  width: 48.0333333333%;
  background: #fff;
  border-radius: 0 100px 100px 0;
  margin-top: 10rem; }
  .-academy .img_area {
    width: 73.5600277585%;
    max-width: 700px;
    aspect-ratio: 812/467;
    margin: 0 auto -43px;
    -webkit-transform: translateY(-83px);
            transform: translateY(-83px); }
    .-academy .img_area img {
      -webkit-mask-image: url(../img/service/img-mask_demy.svg);
              mask-image: url(../img/service/img-mask_demy.svg); }
    .-academy .img_area:before {
      left: 0;
      top: 0;
      -webkit-mask-image: url(../img/service/img-mask_demy.svg);
              mask-image: url(../img/service/img-mask_demy.svg);
      aspect-ratio: 812/467; }
    .-academy .img_area.move:before {
      left: auto;
      top: auto;
      -webkit-transform: translate(-45px, -80px);
              transform: translate(-45px, -80px);
      width: 76.6037735849%;
      opacity: 1; }
    .-academy .img_area:after {
      content: "";
      display: block;
      position: absolute;
      background-size: cover;
      width: 106px;
      aspect-ratio: 213/200;
      right: 21px;
      bottom: -37px;
      background-image: url(../img/common/chara-G_01.svg);
      -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; }
    .-academy .img_area.move:after {
      -webkit-transform: translateY(0);
              transform: translateY(0);
      opacity: 1; }
  .-academy h2 .en:after {
    content: "うごデミ";
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100px;
    height: 36px;
    border-radius: 18px;
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    background: var(--c_color);
    z-index: 10;
    position: absolute;
    top: 19px;
    right: -64px;
    letter-spacing: 0; }

@media screen and (max-width: 1050px) {
  .-academy {
    width: 100%;
    border-radius: 12rem 0 0 12rem;
    margin-top: 0; }
    .-academy .img_area {
      width: 86.25%;
      margin: 0 auto;
      -webkit-transform: translateY(-50px);
              transform: translateY(-50px); } }
@media screen and (max-width: 800px) {
  .-academy {
    border-radius: 6rem 0 0 6em; }
    .-academy .img_area {
      -webkit-transform: translateY(-35px);
              transform: translateY(-35px); }
      .-academy .img_area.move:before {
        -webkit-transform: translate(-30px, -54px);
                transform: translate(-30px, -54px);
        width: 76.9565217391%; }
      .-academy .img_area:after {
        width: 74px;
        right: 21px;
        bottom: -24px; }
    .-academy h2 .en:after {
      width: 80px;
      height: 29px;
      font-size: 14px;
      top: 3px;
      right: -32px; } }
/*-----------------------
-labo
-----------------------*/
.-labo {
  --c_color:var(--base-color-yellow);
  background: #fff;
  width: 47.9%;
  border-radius: 100px 0 0 100px; }
  .-labo .img_area {
    width: 66.4122137405%;
    max-width: 700px;
    aspect-ratio: 686/588;
    margin: 0 auto -43px;
    -webkit-transform: translateY(-83px);
            transform: translateY(-83px); }
    .-labo .img_area img {
      -webkit-mask-image: url(../img/service/img-mask_labo.svg);
              mask-image: url(../img/service/img-mask_labo.svg); }
    .-labo .img_area:before {
      left: 0;
      top: 0;
      -webkit-mask-image: url(../img/service/img-mask_labo.svg);
              mask-image: url(../img/service/img-mask_labo.svg);
      aspect-ratio: 686/588; }
    .-labo .img_area.move:before {
      left: auto;
      right: 0;
      -webkit-transform: translate(60px, -34px);
              transform: translate(60px, -34px);
      width: 70.6374085684%;
      opacity: 1; }
    .-labo .img_area:after {
      content: "";
      display: block;
      position: absolute;
      background-size: cover;
      width: 93px;
      aspect-ratio: 186/159;
      right: -37px;
      bottom: -22px;
      background-image: url(../img/common/chara-Y_01.svg);
      -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; }
    .-labo .img_area.move:after {
      -webkit-transform: translateY(0);
              transform: translateY(0);
      opacity: 1; }
  .-labo h2 .en:after {
    content: "うごラボ";
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100px;
    height: 36px;
    border-radius: 18px;
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    background: var(--c_color);
    z-index: 10;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: -70px;
    letter-spacing: 0; }

@media screen and (max-width: 1050px) {
  .-labo {
    width: 100%;
    border-radius: 0 12rem 12rem 0;
    margin-top: 25rem; }
    .-labo .img_area {
      width: 76.875%;
      margin-left: 5.5%; } }
@media screen and (max-width: 800px) {
  .-labo {
    border-radius: 6rem 0 0 6rem;
    margin-top: clamp(63px, 26.25vw, 134.4px); }
    .-labo .img_area {
      -webkit-transform: translateY(-39px);
              transform: translateY(-39px);
      margin-bottom: -1rem; }
      .-labo .img_area.move:before {
        -webkit-transform: translate(39px, -20px);
                transform: translate(39px, -20px);
        width: 71.5447154472%; }
      .-labo .img_area:after {
        width: 74px;
        right: -21px;
        bottom: -13x; }
    .-labo h2 .en:after {
      width: 80px;
      height: 29px;
      font-size: 14px;
      right: -50px; } }
/* ==========================================================================
	img-slide
========================================================================== */
.img-slide {
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 13rem;
  margin-bottom: 8.5rem; }

.slide-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-animation: loop-slide 80s infinite linear 1s both;
  animation: loop-slide 80s infinite linear 1s both;
  gap: 28px;
  margin-right: 28px; }
  .slide-wrapper .img {
    width: 515px; }
    .slide-wrapper .img img {
      border-radius: 40px; }

@media screen and (max-width: 800px) {
  .img-slide {
    margin-top: clamp(40.8px, 17vw, 87.04px);
    margin-bottom: clamp(40.8px, 17vw, 87.04px); }

  .slide-wrapper {
    margin-right: 18px; }
    .slide-wrapper .img {
      width: 320px; }
      .slide-wrapper .img img {
        border-radius: 19px; } }

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