/* reset, base
-------------------------------------------------- */
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  * {
    margin: 0;
    padding: 0;
  }
  body {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-base);
    line-height: var(--line-height-base);
    overflow-x: hidden;
    color: var(--color-black);
    background-color: var(--color-white);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, .07);
    -webkit-font-smoothing: antialiased;
  }
  img,
  picture,
  video,
  canvas,
  svg {
    display: block;
    max-width: 100%;
    height: auto;
  }
  input,
  button,
  textarea,
  select {
    font: inherit;
  }
  p,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    overflow-wrap: break-word;
  }
  ol,
  ul {
    list-style-type: none;
  }
  a {
    text-decoration: none;
    color: var(--color-black);
  }
  a:hover {
    /* text-decoration: none; */
  }
  a:focus {
    outline: none;
  }


/* 変数
-------------------------------------------------- */
  :root {
    /* Font Size */
    --font-size-xs: 10px;
    --font-size-sm: 12px;
    --font-size-md: 14px;
    --font-size-lg: 16px;
    --font-size-xl: 18px;
    --font-size-ttl-sm: 20px;
    --font-size-ttl-md: 24px;
    --font-size-ttl-lg: 28px;
    --font-size-ttl-xl: 32px;
    --font-size-en-sm: clamp(60px, 4.69vw, 90px);
    --font-size-en-md: clamp(67px, 5.21vw, 100px);
    --font-size-base: var(--font-size-md);

    /* Font Weight */
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 600;
    --font-weight-bold: 800;
    --font-weight-base: var(--font-weight-medium);

    /* color */
    --color-white: #fff;
    --color-black: #000000;
    --color-pink: #ff5579;
    --color-green: #2eb6aa;
    --color-blue : #00b9ef;
    --color-yellow : #fff67f;

    /* 学科カラー */
    --color-major-purple : #9181c0;
    --color-major-blue : #00b9ef;
    --color-major-green: #a2cf00;
    --color-major-cyan: #2eb6aa;
    --color-major-pink: #fd64a7;
    --color-major-orange: #f6ab00;

    /* Line Height */
    --line-height-base: 2;
    --line-height-sm: 1;
    --line-height-md: 1.3;
    --line-height-lg: 1.5;

    /* Letter Spacing */
    --letter-spacing-sm: 0.1em;
    --letter-spacing-md: 0.3em;
    --letter-spacing-lg: 0.5em;
    --letter-spacing-wide: 1em;

    /* Spacing */
    --spacing-xs: 10px;
    --spacing-sm: 20px;
    --spacing-md: 30px;
    --spacing-lg: 40px;
    --spacing-xl: 50px;
    --spacing-sec: 150px;

    /* Contents Width */
    --cont-width: 1000px;
    --cont-width-sm: 620px;
    --cont-width-md: 1080px;
    --cont-width-lg: 1560px;
  }


/* common
-------------------------------------------------- */
  .-inBlock {
    display: inline-block;
  }
  .taj {
    text-align: justify;
  }
  .tac {
    text-align: center;
  }
  .-en-bold {
    font-family: "futura-pt", sans-serif;
    font-weight: 800;
    font-style: normal;
  }
  .-en-normal {
    font-family: "futura-pt", sans-serif;
    font-weight: 700;
    font-style: normal;
  }

  /* fade-in */
  .fade-in {
    opacity: 0;
    transform: translateY(50px);
  }
  .fade-in.fade-in-show {
    animation: fadeIn 1.5s forwards;
  }
  @keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
  }

  @media screen and (min-width: 960px) {
    .sp-only {
      display: none;
    }
  }
  @media screen and (max-width: 959px) {
    .pc-only {
      display: none;
    }
  }


/* sec, inner
-------------------------------------------------- */
  .inner {
    position: relative;
    z-index: 1;
    max-width: var(--cont-width);
    margin: auto;
  }
  .inner.-lg {
    max-width: var(--cont-width-lg);
  }
  .inner.-md {
    max-width: var(--cont-width-md);
  }
  .inner.-sm {
    max-width: var(--cont-width-sm);
  }
  .sec {
    padding: var(--spacing-sec) var(--spacing-xl);
  }
  .sec-ttl {
    color: var(--color-yellow);
    font-size: var(--font-size-ttl-sm);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-lg);
    letter-spacing: var(--letter-spacing-sm);
    text-align: center;
    margin-top: var(--spacing-xs);
  }
  .sec-ttl.md {
    font-size: var(--font-size-ttl-md);
  }
  .sec-ttl.lg {
    font-size: var(--font-size-ttl-lg);
  }
  .sec-ttl.xl {
    font-size: var(--font-size-ttl-xl);
  }
  .en-ttl {
    color: var(--color-yellow);
    font-size: var(--font-size-en-md);
    line-height: var(--line-height-sm);
    text-align: center;
  }
  .en-ttl.sm {
    color: var(--color-yellow);
    font-size: var(--font-size-en-sm);
    text-align: center;
  }
  .sec-txt {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-regular);
  }


/* background
-------------------------------------------------- */
  .gamecourse {
    color: var(--color-white);
    background: var(--color-green);
    background-image: url('./../image/bg-smoke.svg');
    background-size: 100%;
    background-position: top center;
  }
  .illustcourse {
    color: var(--color-white);
    background: var(--color-blue);
    background-image: url('./../image/bg-smoke.svg');
    background-size: 100%;
    background-position: top center;
  }
  .crossover {
    color: var(--color-white);
    background: var(--color-pink) url('./../image/bg-crossover_pc.svg');
    background-size: cover;
    background-position: top center;
    padding-bottom: calc(var(--spacing-xl) * 4);
  }


/* bg-obj
-------------------------------------------------- */
  .bg-obj {
    opacity: 0;
    position: absolute;
    display: block;
    width: var(--w);
    height: var(--h);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    filter: blur(20px);
    will-change: transform, opacity, filter;
  }

  /* 登場アニメーション */
  @keyframes fadeInObj {
    0% {
      opacity: 0;
      filter: blur(20px);
      transform: scale(.9);
    }
    100% {
      opacity: 1;
      filter: blur(0);
      transform: scale(1);
    }
  }

  /* 浮遊アニメーション */
  @keyframes float01 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(3.12vw, -2.08vw);
    }
  }
  @keyframes float02 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(-2.5vw, 3.12vw);
    }
  }
  @keyframes float03 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(2.08vw, 2.5vw);
    }
  }
  @keyframes float04 {
    0% {
      mask-position: 52% 23%;
      -webkit-mask-position: 52% 23%;
    }
    100% {
      mask-position: calc(52% - 10px) calc(23% + 6px);
      -webkit-mask-position: calc(52% - 10px) calc(23% + 6px);
    }
  }
  @keyframes float05 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(1.88vw, -3.12vw);
    }
  }
  @keyframes float06 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(-2.08vw, 2.08vw);
    }
  }
  @keyframes float07 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(3.76vw, 1.88vw);
    }
  }

  .bg-obj.obj01 {
    --w: 33.47vw;
    --h: 27.12vw;
    top: 17.22vw;
    left: 60.39vw;
    background-image: url('./../image/bg-obj_01.svg');
    animation:
      fadeInObj .8s ease .1s forwards,
      float01 8s ease-in-out .9s infinite alternate;
  }
  .bg-obj.obj02 {
    --w: 25.2vw;
    --h: 31.76vw;
    top: 7.69vw;
    left: 52.08vw;
    background-image: url('./../image/bg-obj_02.svg');
    animation:
      fadeInObj .8s ease .4s forwards,
      float02 10s ease-in-out 1.2s infinite alternate;
  }
  .bg-obj.obj03 {
    --w: 32.10vw;
    --h: 20.66vw;
    top: 32.26vw;
    left: 68.31vw;
    background-image: url('./../image/bg-obj_03.svg');
    animation:
      fadeInObj .8s ease .7s forwards,
      float03 7s ease-in-out 1.5s infinite alternate;
  }
  .bg-obj.obj04 {
    --w: 46.25vw;
    --h: 65.42vw;
    top: 4.69vw;
    left: 46.41vw;
    background-image: url('./../image/bg-obj_04_illust.jpg');
    background-size: contain;
    -webkit-mask-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJf44Os44Kk44Ok44O8XzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjQwNy40OCIgaGVpZ2h0PSI2NzUuNTMiIHZpZXdCb3g9IjAgMCA0MDcuNDggNjc1LjUzIj48ZyBpZD0iZGVzaWduIj48cGF0aCBkPSJNMzk4LjM0LDQxOS43OXMuMDktNy44NS00LjI2LTkuMzNjLTQuMzUtMS40OC04Ljk0LTUuNzktNi45NS0xMS4xNCwxLjk5LTUuMzUsMy4xOC0xNC4xNiw1LjY2LTExLjMyLDIuNDgsMi44MywxNC4xLS4wNiwxMC41Niw4LjI4LTMuNTQsOC4zNCwyLjI5LDIyLjk2LTUuMDEsMjMuNTFaTTI4MC44OSw1OTYuMjhzLTUuNzMsNS44NC43NiwxMS44M2M2LjQ4LDYsNS4xMS00LjA1LDkuMDgsNC45OCwzLjk3LDkuMDIsMTIuNDgtLjE3LDcuMjksMjQuMi01LjE5LDI0LjM3LDUuMjcsMzguMjUsNS4yNywzOC4yNSwwLDAtLjk5LTI3LjIyLDYuNDMtMzcuNTcsNy40Mi0xMC4zNiwxMC4yNi0zLjM1LDE3LjM3LTkuODMsNy4xMS02LjQ4LDI0LjM0LTQxLjY4LDI2Ljg3LTM3LjUsMi41Myw0LjE3LTIuMzksMTUuNjktMi45NywyMi4wMy0uNTgsNi4zMyw0LjE1LDIuMjEsOS4zNy03LjA3LDUuMjItOS4yOCwxNi42NC0yMC4zNiwyMy42Ny0zMi4zMywwLDAsNTIuMDEtNjEuODQsMS4xMi02Mi42LTguNDQtLjEzLS45MS05LjYyLS45MS05LjYyLDAsMCw3LjExLTMuMyw3LjA5LTYuMTktLjAzLTIuODksMTkuNTgtMTYuNjgsMTQuMjItMjkuNDlzLTE1LjU1LTMzLjA2LTMwLjMxLTIxLjgzYy0yLjY0LTEzLjUxLTE3LjExLS4wNS0xNy4xMS0uMDUsMCwwLTMuMTItOS43NywzLjgzLTIzLjc1LDYuOTUtMTMuOTgtMS4wNi0zMy45OC0xNi45LTM2LjA0LTIuOTEtLjM4LDExLjAxLTUuMDMtMi4xNS03LjctMTMuMTYtMi42NywxMS4wMS00MS4yNi0xOC4xNS01My42OC0yOS4xNy0xMi40Mi01My40OC00LjUxLTU5LjEsNDIuNDYtNS44Ny02LjQ0LTcuOTEsMS45MS03LjkxLDEuOTEsMCwwLTQuOTUtMi4zNC03LjY4LDUuMDQtMS4xOCwzLjItMi4xNywxNC42LTcuNjMsMTcuNDktNy4xMywzLjc3LTE5Ljk2LTMuMTQtMTUuMTgtMTguODEsNC40Ny0xNC42NSwxNy4yNi0yOC4zOSw1Ljk1LTI1LjYtMTQuMTIsMy40OS04LjczLTIuMzctLjk2LTE4Ljc0LDcuNzctMTYuMzcsMzIuNjItOTIuNTItNDAuNDQtNjkuMTktMTMuOTEsNC40NC00LjA5LTE1LjE3LDkuOTctMzIuNDQsMTQuMDYtMTcuMjgsMy45NC01MS43NCwzLjk0LTUxLjc0LDAsMCwxNS43NC0xNS44Myw4LjIzLTMzLjAxLTcuNTEtMTcuMTgsNy4yMi0yNy45Niw4LjIxLTM1LjkuOTgtNy45NC01LTIxLjQ1LTcuODQtOC45OC0yLjg0LDEyLjQ4LTIwLjQsNDguNjMtMjEuODUsNTAuMzEtMS40NSwxLjY4LjE2LTExLjEtNC41NC0uNzUtNC43LDEwLjM1LTI1Ljg3LDI3LjU5LTMwLjE2LDEyLjE5LTQuMjktMTUuNCw3LjYtMjAuMzgsOS4yOS0yOC45MywxLjY5LTguNTUtNi43OC02LjAyLDYuOTgtMjIuMiwxMy43Ni0xNi4xOCwyMS40Mi0yNy40NSwyMS42Ni0zNy42NS4yNS0xMC4yMSwzNC42NC02MS44OSwzMy44NC02Ni42MS0uNzktNC43Mi0xNC4zNyw1LjQ3LTI3LjY0LDI3LjQ3LTEzLjI3LDIyLTI0LjI1LDI5LjkyLTI4LjE1LDMxLjY2LTMuOSwxLjc0LTEyLjkzLDMuNzktMTUuMDksMTYuMDktMi4xNywxMi4zLTEyLjU5LDI1LjE1LTE4LjI5LDMwLjU1LTUuNyw1LjM5LTExLjE4LDEuMDItMTkuODQsMTAuNjYtOC42NSw5LjY0LTEyLjExLDE0Ljc0LTkuMTUsMzYuNzIsMi45NiwyMS45OC00LjEzLDMxLjUtMTAuNjgsMjYuMzktNi41NC01LjExLTM1LjA2LTIzLjkzLTU2LjE0LTQuNjhDMjMuNSwxOTUuMjQtMy4yLDIzMS45LjMxLDI1OC44YzUuMjcsNDAuMzYsMzQuMzgsMzguNjksMzUuNTQsMzkuNzQsMi4yNywyLjA3LDEyLjMyLDE1LjA2LDcuMzksMTguOTUtNC45MywzLjg5LTEwLjU2LTkuMjMtMTkuMzYtNC4wNS02LjA1LDMuNTYtMzEuNjUsMjUuNDItMTEuMjIsNDYuNTIsOC4zOCw4LjY2LTEyLjA4LDI0LjczLTIuNDIsNDUuMDYsMjkuMzUsNjEuOCw2OC43MSwzNS4zNSw2OC43MSwzNS4zNSwwLDAsMS4yOSw3LjIsNC44LDcuODgsMy41MS42OC44OC4wNiwxLjY0LDExLjg5Ljc2LDExLjgzLDI0LjUxLDY0Ljc4LDY4LjI1LDE5LjUxLDQuNjQsMjMuNDMsMTcuNzgtMTYuMzYsMjUuMi0xLjE5LDcuNDIsMTUuMTcsMjkuNjYsMjEuNTYsNTIuMjItMy4xNCw4LjA2LDI4Ljc3LDQ5LjM4LTI2Ljg5LDcxLjM0LTYuNTEsMTEuNDgsMTAuNjUtNC4wMiwxMi43LTYuMzEsMjcuNTgtMS4xOSw3LjcsOC43OCwxNC44Miw5LjQsMTUuNTMuNjIuNzEtLjYyLS43MS0uNjItLjcxLDAsMC0zNi4yNyw1LTQ0Ljg1LDM1LjQyLTExLjk5LDQyLjUzLDIwLjg3LDQ5LjY0LDIwLjg3LDQ5LjY0Wk03MC4wNiw1MTIuNjhjLTguMTYtMTAuNzgsMS4yMS0zNC4zNy00LjM2LTM3LjQxLTIuNjktMS40Ny03LjM1LDcuOTctOC4xMywxOC4zNC0uODMsMTEuMTMsMi4zMiwyMy4zNSwyLjEzLDI0LjM3LS4zNiwxLjk4LDMuNzEsNC4yNSw5LjE0LDkuNTEsNS40Miw1LjI2LTkuNTcsMTMuMzYsNC4xNCwyNC4yOCwxMy43MSwxMC45MywzMS45OS02LjI4LDQ1LjM4LTEwLjQ5LDEzLjQtNC4yMSwxNy4yMi0xNy45NSwzNi4yNi0zMCwxOS4wNC0xMi4wNS41Ni03LjQ3LTEwLjQxLS40OC0xMC45Nyw2Ljk4LTIzLjYyLDE3LjMtMzEuNzYsMTIuNzQtOC4xNC00LjU1LTE1LjM0LTYuNTktMjUuMzEtLjM4LTMuOTQtMTAuNzEtOC45MS4yOS0xNy4wNy0xMC40OVoiLz48L2c+PC9zdmc+');
    -webkit-mask-size: 21.22vw 35.18vw;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 52% 23%;
    mask-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJf44Os44Kk44Ok44O8XzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjQwNy40OCIgaGVpZ2h0PSI2NzUuNTMiIHZpZXdCb3g9IjAgMCA0MDcuNDggNjc1LjUzIj48ZyBpZD0iZGVzaWduIj48cGF0aCBkPSJNMzk4LjM0LDQxOS43OXMuMDktNy44NS00LjI2LTkuMzNjLTQuMzUtMS40OC04Ljk0LTUuNzktNi45NS0xMS4xNCwxLjk5LTUuMzUsMy4xOC0xNC4xNiw1LjY2LTExLjMyLDIuNDgsMi44MywxNC4xLS4wNiwxMC41Niw4LjI4LTMuNTQsOC4zNCwyLjI5LDIyLjk2LTUuMDEsMjMuNTFaTTI4MC44OSw1OTYuMjhzLTUuNzMsNS44NC43NiwxMS44M2M2LjQ4LDYsNS4xMS00LjA1LDkuMDgsNC45OCwzLjk3LDkuMDIsMTIuNDgtLjE3LDcuMjksMjQuMi01LjE5LDI0LjM3LDUuMjcsMzguMjUsNS4yNywzOC4yNSwwLDAtLjk5LTI3LjIyLDYuNDMtMzcuNTcsNy40Mi0xMC4zNiwxMC4yNi0zLjM1LDE3LjM3LTkuODMsNy4xMS02LjQ4LDI0LjM0LTQxLjY4LDI2Ljg3LTM3LjUsMi41Myw0LjE3LTIuMzksMTUuNjktMi45NywyMi4wMy0uNTgsNi4zMyw0LjE1LDIuMjEsOS4zNy03LjA3LDUuMjItOS4yOCwxNi42NC0yMC4zNiwyMy42Ny0zMi4zMywwLDAsNTIuMDEtNjEuODQsMS4xMi02Mi42LTguNDQtLjEzLS45MS05LjYyLS45MS05LjYyLDAsMCw3LjExLTMuMyw3LjA5LTYuMTktLjAzLTIuODksMTkuNTgtMTYuNjgsMTQuMjItMjkuNDlzLTE1LjU1LTMzLjA2LTMwLjMxLTIxLjgzYy0yLjY0LTEzLjUxLTE3LjExLS4wNS0xNy4xMS0uMDUsMCwwLTMuMTItOS43NywzLjgzLTIzLjc1LDYuOTUtMTMuOTgtMS4wNi0zMy45OC0xNi45LTM2LjA0LTIuOTEtLjM4LDExLjAxLTUuMDMtMi4xNS03LjctMTMuMTYtMi42NywxMS4wMS00MS4yNi0xOC4xNS01My42OC0yOS4xNy0xMi40Mi01My40OC00LjUxLTU5LjEsNDIuNDYtNS44Ny02LjQ0LTcuOTEsMS45MS03LjkxLDEuOTEsMCwwLTQuOTUtMi4zNC03LjY4LDUuMDQtMS4xOCwzLjItMi4xNywxNC42LTcuNjMsMTcuNDktNy4xMywzLjc3LTE5Ljk2LTMuMTQtMTUuMTgtMTguODEsNC40Ny0xNC42NSwxNy4yNi0yOC4zOSw1Ljk1LTI1LjYtMTQuMTIsMy40OS04LjczLTIuMzctLjk2LTE4Ljc0LDcuNzctMTYuMzcsMzIuNjItOTIuNTItNDAuNDQtNjkuMTktMTMuOTEsNC40NC00LjA5LTE1LjE3LDkuOTctMzIuNDQsMTQuMDYtMTcuMjgsMy45NC01MS43NCwzLjk0LTUxLjc0LDAsMCwxNS43NC0xNS44Myw4LjIzLTMzLjAxLTcuNTEtMTcuMTgsNy4yMi0yNy45Niw4LjIxLTM1LjkuOTgtNy45NC01LTIxLjQ1LTcuODQtOC45OC0yLjg0LDEyLjQ4LTIwLjQsNDguNjMtMjEuODUsNTAuMzEtMS40NSwxLjY4LjE2LTExLjEtNC41NC0uNzUtNC43LDEwLjM1LTI1Ljg3LDI3LjU5LTMwLjE2LDEyLjE5LTQuMjktMTUuNCw3LjYtMjAuMzgsOS4yOS0yOC45MywxLjY5LTguNTUtNi43OC02LjAyLDYuOTgtMjIuMiwxMy43Ni0xNi4xOCwyMS40Mi0yNy40NSwyMS42Ni0zNy42NS4yNS0xMC4yMSwzNC42NC02MS44OSwzMy44NC02Ni42MS0uNzktNC43Mi0xNC4zNyw1LjQ3LTI3LjY0LDI3LjQ3LTEzLjI3LDIyLTI0LjI1LDI5LjkyLTI4LjE1LDMxLjY2LTMuOSwxLjc0LTEyLjkzLDMuNzktMTUuMDksMTYuMDktMi4xNywxMi4zLTEyLjU5LDI1LjE1LTE4LjI5LDMwLjU1LTUuNyw1LjM5LTExLjE4LDEuMDItMTkuODQsMTAuNjYtOC42NSw5LjY0LTEyLjExLDE0Ljc0LTkuMTUsMzYuNzIsMi45NiwyMS45OC00LjEzLDMxLjUtMTAuNjgsMjYuMzktNi41NC01LjExLTM1LjA2LTIzLjkzLTU2LjE0LTQuNjhDMjMuNSwxOTUuMjQtMy4yLDIzMS45LjMxLDI1OC44YzUuMjcsNDAuMzYsMzQuMzgsMzguNjksMzUuNTQsMzkuNzQsMi4yNywyLjA3LDEyLjMyLDE1LjA2LDcuMzksMTguOTUtNC45MywzLjg5LTEwLjU2LTkuMjMtMTkuMzYtNC4wNS02LjA1LDMuNTYtMzEuNjUsMjUuNDItMTEuMjIsNDYuNTIsOC4zOCw4LjY2LTEyLjA4LDI0LjczLTIuNDIsNDUuMDYsMjkuMzUsNjEuOCw2OC43MSwzNS4zNSw2OC43MSwzNS4zNSwwLDAsMS4yOSw3LjIsNC44LDcuODgsMy41MS42OC44OC4wNiwxLjY0LDExLjg5Ljc2LDExLjgzLDI0LjUxLDY0Ljc4LDY4LjI1LDE5LjUxLDQuNjQsMjMuNDMsMTcuNzgtMTYuMzYsMjUuMi0xLjE5LDcuNDIsMTUuMTcsMjkuNjYsMjEuNTYsNTIuMjItMy4xNCw4LjA2LDI4Ljc3LDQ5LjM4LTI2Ljg5LDcxLjM0LTYuNTEsMTEuNDgsMTAuNjUtNC4wMiwxMi43LTYuMzEsMjcuNTgtMS4xOSw3LjcsOC43OCwxNC44Miw5LjQsMTUuNTMuNjIuNzEtLjYyLS43MS0uNjItLjcxLDAsMC0zNi4yNyw1LTQ0Ljg1LDM1LjQyLTExLjk5LDQyLjUzLDIwLjg3LDQ5LjY0LDIwLjg3LDQ5LjY0Wk03MC4wNiw1MTIuNjhjLTguMTYtMTAuNzgsMS4yMS0zNC4zNy00LjM2LTM3LjQxLTIuNjktMS40Ny03LjM1LDcuOTctOC4xMywxOC4zNC0uODMsMTEuMTMsMi4zMiwyMy4zNSwyLjEzLDI0LjM3LS4zNiwxLjk4LDMuNzEsNC4yNSw5LjE0LDkuNTEsNS40Miw1LjI2LTkuNTcsMTMuMzYsNC4xNCwyNC4yOCwxMy43MSwxMC45MywzMS45OS02LjI4LDQ1LjM4LTEwLjQ5LDEzLjQtNC4yMSwxNy4yMi0xNy45NSwzNi4yNi0zMCwxOS4wNC0xMi4wNS41Ni03LjQ3LTEwLjQxLS40OC0xMC45Nyw2Ljk4LTIzLjYyLDE3LjMtMzEuNzYsMTIuNzQtOC4xNC00LjU1LTE1LjM0LTYuNTktMjUuMzEtLjM4LTMuOTQtMTAuNzEtOC45MS4yOS0xNy4wNy0xMC40OVoiLz48L2c+PC9zdmc+');
    mask-size: 21.22vw 35.18vw;
    mask-repeat: no-repeat;
    mask-position: 52% 23%;
    animation: fadeInObj .8s ease 1s forwards;
    /* animation:
      fadeInObj .8s ease 1s forwards,
      float04 4.5s ease-in-out 1.8s infinite alternate; */
  }
  .bg-obj.obj05 {
    --w: 37.1vw;
    --h: 50.57vw;
    top: -12.55vw;
    left: 50.08vw;
    background-image: url('./../image/bg-obj_05.svg');
    animation:
      fadeInObj .8s ease 1.3s forwards,
      float05 9s ease-in-out 2.1s infinite alternate;
  }
  .bg-obj.obj06 {
    --w: 56.02vw;
    --h: 52.70vw;
    top: -26vw;
    left: 48.18vw;
    background-image: url('./../image/bg-obj_06.svg');
    animation:
      fadeInObj .8s ease 1.6s forwards,
      float06 6s ease-in-out 2.4s infinite alternate;
  }
  .bg-obj.obj07 {
    --w: 58.44vw;
    --h: 76.65vw;
    top: -15.8vw;
    left: 45.69vw;
    background-image: url('./../image/bg-obj_07.svg');
    animation:
      fadeInObj .8s ease 1.9s forwards,
      float07 12s ease-in-out 2.7s infinite alternate;
  }


/* hero
-------------------------------------------------- */
  .hero {
    background-color: var(--color-pink);
    overflow: hidden;
    position: relative;
    width: 100%;
    min-height: 100vh;
    z-index: 3;
    display: flex;
    align-items: center;
  }
  .hero-cont {
    z-index: 4;
    width: 100%;
    position: relative;
  }
  .hero-ttlbox {
    margin: auto;
    padding: 5.21vw 0 2.6vw;
    width: clamp(81.25vw, 81.25vw, 1560px);
    color: var(--color-white);
    position: relative;
  }
  .hero-ttlbox .lead {
    position: absolute;
    top: 7.29vw;
    right: -1.83vw;
    font-size: 1.83vw;
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-md);
    writing-mode: vertical-rl;
  }
  .hero-ttlbox .lead2 {
    font-size: 1.77vw;
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-sm);
    text-align: center;
  }
  .hero-ttlbox .ttl {
    font-size: 6.77vw;
    line-height: 0.9;
  }
  .hero-ttlbox .subttl {
    font-size: 1.15vw;
    line-height: 1.3;
    margin: 0.52vw 0 2.08vw;
  }
  .hero-ttlbox .collegename {
    font-size: 1.88vw;
    line-height: 1.5;
    letter-spacing: var(--letter-spacing-lg);
  }
  .hero-ttlbox .collegename > span {
    font-size: 2.34vw;
    display: inline-block;
    margin-top: 0.52vw;
  }
  .hero-cont .major {
    font-size: 0.78vw;
    margin: 3.13vw 0 4.17vw;
    line-height: 1.5;
  }


/* bg-img
-------------------------------------------------- */
  .bg-img {
    opacity: 0;
    position: absolute;
    display: block;
    width: var(--w);
    height: var(--h);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    transform: scale(0.3);
  }
  .bg-images.is-show .bg-img {
    animation: pinchOut .8s cubic-bezier(.17,.89,.32,1.28) forwards;
  }

  .bg-images.is-show .bg-img:nth-child(1) { animation-delay: 0s; }
  .bg-images.is-show .bg-img:nth-child(2) { animation-delay: 0.15s; }
  .bg-images.is-show .bg-img:nth-child(3) { animation-delay: 0.30s; }
  .bg-images.is-show .bg-img:nth-child(4) { animation-delay: 0.45s; }
  .bg-images.is-show .bg-img:nth-child(5) { animation-delay: 0.60s; }
  .bg-images.is-show .bg-img:nth-child(6) { animation-delay: 0.75s; }
  .bg-images.is-show .bg-img:nth-child(7) { animation-delay: 0.90s; }
  .bg-images.is-show .bg-img:nth-child(8) { animation-delay: 1.05s; }
  .bg-images.is-show .bg-img:nth-child(9) { animation-delay: 1.20s; }
  .bg-images.is-show .bg-img:nth-child(10) { animation-delay: 1.35s; }

  @keyframes pinchOut {
    0% {
      opacity: 0;
      transform: scale(0.3);
    }
    70% {
      opacity: 1;
      transform: scale(1.08);
    }
    100% {
      opacity: 1;
      transform: scale(1);
    }
  }

  .img01 {
    --w: 40.1vw;
    --h: 30.57vw;
    top: -4.22vw;
    left: 63.65vw;
    background-image: url('./../image/bg-img_01.png');
  }
  .img02 {
    --w: 29.58vw;
    --h: 23.72vw;
    top: -3.18vw;
    left: 53.59vw;
    background-image: url('./../image/bg-img_02.png');
  }
  .img03 {
    --w: 42.76vw;
    --h: 45.52vw;
    top: -20.94vw;
    left: 11.04vw;
    background-image: url('./../image/bg-img_03.png');
  }
  .img04 {
    --w: 33.75vw;
    --h: 27.27vw;
    top: 5.68vw;
    left: -5.68vw;
    background-image: url('./../image/bg-img_04.png');
  }
  .img05 {
    --w: 27.42vw;
    --h: 39.61vw;
    top: 18.07vw;
    right: -4.69vw;
    background-image: url('./../image/bg-img_05.png');
  }
  .img06 {
    --w: 28.28vw;
    --h: 23.75vw;
    top: 29.11vw;
    left: -1.98vw;
    background-image: url('./../image/bg-img_06.png');
  }
  .img07 {
    --w: 41.72vw;
    --h: 28.36vw;
    bottom: -3.91vw;
    left: -8.07vw;
    background-image: url('./../image/bg-img_07.png');
  }
  .img08 {
    --w: 25.26vw;
    --h: 25.86vw;
    bottom: -5.63vw;
    left: 26.61vw;
    background-image: url('./../image/bg-img_08.png');
  }
  .img09 {
    --w: 31.17vw;
    --h: 22.06vw;
    bottom: -2.92vw;
    left: 52.29vw;
    background-image: url('./../image/bg-img_09.png');
  }
  .img10 {
    --w: 34.61vw;
    --h: 26.74vw;
    bottom: -0.68vw;
    left: 74.95vw;
    background-image: url('./../image/bg-img_10.png');
  }


/* possibility
-------------------------------------------------- */
  .possibility {
    background: var(--color-pink) url('./../image/bg-acoustic_pc.png') no-repeat center;
    background-size: cover;
    color: var(--color-white);
    padding: 13.02vw 0;
    position: relative;
    overflow: hidden;
  }
  .possibility-cont {
    background: rgba(255,85,121,.86);
    max-width: 81.25vw;
    margin: auto;
    padding: 4.17vw 2.08vw;
  }

  /* Game Creation × CG Illustration Animation */
  .possibility-catch {
    max-width: var(--cont-width-lg);
    margin: auto;
    margin-bottom: var(--spacing-lg);
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .possibility-cross {
    width: 20%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .possibility-cross img {
    width: 61.26%;
    max-width: 196px;
  }
  .possibility-course {
    width: calc((100% - 20%) / 2);
    font-size: clamp(24px, 5.21vw, 100px);
    line-height: 0.9;
  }
  .possibility-course:first-child {
    font-size: clamp(30px, 5.73vw, 110px);
    text-align: right;
  }
  .possibility-course .txt {
    font-size: clamp(10px, 0.83vw, 16px);
    letter-spacing: var(--letter-spacing-md);
    margin-top: clamp(10px, 1.04vw, 20px);
  }

  .possibility-cont .inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .possibility-ttl {
    letter-spacing: var(--letter-spacing-wide);
    text-indent: 1em;
    margin-bottom: var(--spacing-sm);
  }
  .possibility-txt {
    font-size: var(--font-size-lg);
    text-align: center;
  }


/* gamecourse, illustcourse
-------------------------------------------------- */
  .fields3-cont {
    margin-top: var(--spacing-xl);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }
  .fields3-cont .img {
    width: clamp(300px, 17.34vw, 333px);
  }
  .fields3-cont .ttl {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    padding-left: var(--spacing-md);
  }
  .fields3-cont .ttl > span {
    display: block;
    margin: var(--spacing-xs) 0;
  }
  .fields3-cont .sec-txt {
    width: 100%;
    margin-top: var(--spacing-xl);
  }
  .fields3-cont .sec-txt h3 {
    text-align: center;
    font-size: var(--font-size-ttl-sm);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-lg);
    letter-spacing: var(--letter-spacing-md);
    margin-bottom: var(--spacing-xs);
  }

  /* コース */
  .course-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .course-item {
    flex-basis: calc((100% - var(--spacing-md)) / 2);
    background: var(--color-white);
    border-radius: var(--spacing-sm);
    padding: var(--spacing-sm);
    margin-top: var(--spacing-lg);
  }
  .gamecourse .course-item {
    color: var(--color-green);
  }
  .illustcourse .course-item {
    color: var(--color-blue);
  }
  .course-item:last-child {
    flex-basis: 100%;
  }
  .course-item h4 {
    text-align: center;
    font-size: var(--font-size-ttl-sm);
    margin-bottom: var(--spacing-sm);
    padding-bottom: var(--spacing-xs);
    position: relative;
  }
  .course-item h4::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    display: block;
    width: 100%;
    height: 10px;
  }
  .gamecourse .course-item h4::after {
    background: url(./../image/line-giza-sm-green.svg) no-repeat top center;
    background-size: 100%;
  }
  .illustcourse .course-item h4::after {
    background: url(./../image/line-giza-sm-blue.svg) no-repeat top center;
    background-size: 100%;
  }
  .gamecourse .course-item:last-child h4::after {
    background: url(./../image/line-giza-lg-green.svg) no-repeat top center;
    background-size: 100%;
  }
  .illustcourse .course-item:last-child h4::after {
    background: url(./../image/line-giza-lg-blue.svg) no-repeat top center;
    background-size: 100%;
  }

  /* 画像部分 */
  .img-list {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
  }
  .img-list .img {
    margin-top: var(--spacing-sm);
    max-width: 432px;
  }
  .img-list .img-wide_pc {
    max-width: 100%;
  }
  .img-list .img-wide_sp {
    display: none;
  }

  /* 新カリキュラム */
  .new-curriculum {
    margin-top: var(--spacing-xl);
    text-align: center;
  }
  .curriculum-ttl {
    --padding: 100px;
    padding-left: var(--padding);
    position: relative;
    display: inline-block;
  }
  .curriculum-ttl::after {
    width: 90px;
    height: 84px;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background: url('./../image/icon_new_1.svg') no-repeat center;
    background-size: contain;
  }
  .curriculum-ttl .txt {
    font-size: var(--font-size-lg);
    letter-spacing: var(--letter-spacing-md);
  }
  .curriculum-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: var(--spacing-md);
  }
  .curriculum-list li {
    width: calc((100% - var(--spacing-xs) * 3) / 4);
    border-radius: var(--spacing-xs);
    border: var(--color-white) 1px solid;
    padding: var(--spacing-sm) 0;
    font-size: var(--font-size-lg);
    line-height: var(--line-height-md);
  }
  .curriculum-list li span {
    font-size: var(--font-size-sm);
    letter-spacing: var(--letter-spacing-sm);
  }


/* crossover
-------------------------------------------------- */
  .crossover .sec-ttl {
    margin-top: var(--spacing-md);
    margin-bottom: var(--spacing-sm);
  }
  .copoint-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .copoint-item {
    flex-basis: calc(100% / 3 - var(--spacing-xs) * 2);
    margin-top: var(--spacing-md);
    padding: var(--spacing-md) var(--spacing-xl);
    background: var(--color-white);
    border-radius: var(--spacing-md);
    color: var(--color-pink);
  }
  .copoint-item .ttl {
    display: flex;
    justify-content: center;
  }
  .copoint-item .ttl > img {
    width: 50%;
    max-width: 120px;
  }
  .copoint-item .img {
    margin: var(--spacing-sm) auto;
    display: flex;
    justify-content: center;
  }
  .copoint-item .img > img {
    width: 100%;
    max-width: 300px;
  }
  .copoint-item .lead {
    font-size: var(--font-size-ttl-md);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-sm);
    text-align: center;
  }
  .copoint-item .txt {
    line-height: var(--line-height-lg);
    margin-top: var(--spacing-xs);
  }

  .cofigure {
    margin-top: var(--spacing-md);
    padding: var(--spacing-xl);
    padding-top: var(--spacing-md);
    background: var(--color-white);
    border-radius: var(--spacing-md);
    color: var(--color-pink);
  }
  .cofigure .ttl {
    font-size: var(--font-size-ttl-lg);
    font-weight: var(--font-weight-bold);
    text-align: center;
    letter-spacing: var(--letter-spacing-sm);
    margin-bottom: var(--spacing-lg);
  }

  .cocourse-grid {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .cocourse-card {
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
    flex-basis: calc((100% - var(--spacing-md)) / 2);
    margin-top: var(--spacing-md);
    padding: var(--spacing-md);
    padding-top: var(--spacing-sm);
    padding-bottom: var(--spacing-lg);
    background: var(--color-white);
    border-radius: var(--spacing-md);
    color: var(--color-black);
  }
  .cocourse-card .ttl {
    font-size: var(--font-size-ttl-md);
    font-weight: var(--font-weight-bold);
    text-align: center;
    letter-spacing: var(--letter-spacing-ttl);
  }
  .cocourse-card.acoustic .ttl {
    color: var(--color-major-purple);
    border-bottom: var(--color-major-purple) 2px solid;
  }
  .cocourse-card.cg .ttl {
    color: var(--color-major-blue);
    border-bottom: var(--color-major-blue) 2px solid;
  }
  .cocourse-card.art .ttl {
    color: var(--color-major-green);
    border-bottom: var(--color-major-green) 2px solid;
  }
  .cocourse-card.game .ttl {
    color: var(--color-major-cyan);
    border-bottom: var(--color-major-cyan) 2px solid;
  }
  .cocourse-card.app .ttl {
    color: var(--color-major-pink);
    border-bottom: var(--color-major-pink) 2px solid;
  }
  .cocourse-card.sns .ttl {
    color: var(--color-major-orange);
    border-bottom: var(--color-major-orange) 2px solid;
  }

  .cocourse-card .subttl {
    display: block;
    text-align: center;
    letter-spacing: var(--letter-spacing-sm);
    margin-bottom: var(--spacing-xs);
  }
  .cocourse-card.acoustic .subttl {
    color: var(--color-major-purple);
  }
  .cocourse-card.cg .subttl {
    color: var(--color-major-blue);
  }
  .cocourse-card.art .subttl {
    color: var(--color-major-green);
  }
  .cocourse-card.game .subttl {
    color: var(--color-major-cyan);
  }
  .cocourse-card.app .subttl {
    color: var(--color-major-pink);
  }
  .cocourse-card.sns .subttl {
    color: var(--color-major-orange);
  }

  .cocourse-card .txt {
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-lg);
  }
  .cocourse-card .img-area {
    margin-top: var(--spacing-sm);
  }

  .cocourse-card.new {
    position: relative;
  }
  .cocourse-card.new::after {
    width: 80px;
    height: 75px;
    content: '';
    position: absolute;
    top: -10px;
    right: 10px;
    display: block;
    background: url('./../image/icon_new_2.svg') no-repeat center;
    background-size: contain;
  }


/* equipment
-------------------------------------------------- */
  .equipment {
    background: var(--color-yellow);
    color: var(--color-pink);
    position: relative;
    padding-top: calc(var(--spacing-xl) * 2);
    padding-bottom: calc(var(--spacing-xl) * 3);
  }
  .equipment::before {
    content: '';
    display: block;
    width: 100%;
    height: 2.6vw;
    position: absolute;
    left: 0;
    top: -2.59vw;
    background: url('./../image/line-wave.svg') no-repeat center;
    background-size: cover;
  }
  .equipment .sec-ttl {
    color: var(--color-pink);
    margin: 0;
  }
  .equipment .sec-txt {
    text-align: center;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-medium);
    margin-top: var(--spacing-sm);
  }

  .equipment-list {
    margin-top: var(--spacing-xl);
  }
  .equipment-list h3 {
    text-align: center;
    font-size: var(--font-size-ttl-sm);
    font-weight: var(--font-weight-bold);
  }
  .equipment-list .list1 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .equipment-list .list1 li {
    width: calc(100% / 6);
  }
  .equipment-list .list1 li.icon {
    position: relative;
  }
  .equipment-list .list1 li.icon::after {
    width: 80px;
    height: 73px;
    content: '';
    position: absolute;
    bottom: -20px;
    left: -10px;
    display: block;
    background: url('./../image/icon_txt.svg') no-repeat center;
    background-size: contain;
  }
  .equipment-list .list2 {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .equipment-list .list2 li {
    width: calc(100% / 4);
    margin: var(--spacing-md) var(--spacing-sm) 0;
  }


/* photogallery
-------------------------------------------------- */
  .photogallery {
    position: relative;
    background: url('./../image/photogallery_pc.jpg') repeat-x center;
    background-size: contain;
    height: 68.23vw;
    max-height: 1310px;
  }
  .photogallery::before {
    content: '';
    display: block;
    width: 72.6vw;
    max-width: 1000px;
    height: 4.95vw;
    max-height: 68px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -30px;
    background: url('./../image/gallery-txt_pc.svg') no-repeat center;
    background-size: cover;
  }


/* footer
-------------------------------------------------- */
  .footer.sec {
    padding-top: var(--spacing-md);
    padding-bottom: var(--spacing-xs);
    background-color: #fff;
  }
  .footer .inner {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .footer .btn-list {
    display: flex;
  }
  .footer .btn-list a {
    display: block;
    width: clamp(280px, 22.136vw, 350px);
    color: var(--color-white);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    line-height: 1;
    text-decoration: none;
    border: var(--color-white) 2px solid;
    border-radius: 100px;
    padding: var(--font-size-base);
    margin: 0 var(--font-size-base);
    box-shadow: 4px 4px 4px rgb(0 0 0 / 0.1);
  }
  .footer .btn-list a.blue {
    background: var(--color-blue);
  }
  .footer .btn-list a.pink {
    background: var(--color-pink);
  }
  .footer .link-list {
    display: flex;
    margin: var(--spacing-sm) 0 var(--spacing-lg);
  }
  .footer .link-list a {
    margin: 0 var(--spacing-xs);
    text-decoration: underline;
  }
  .footer .link-list a:hover {
    text-decoration: none;
  }
  .footer .copyright {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-regular);
  }


/* for SP
-------------------------------------------------- */
@media screen and (max-width: 959px) {
/* 変数
-------------------------------------------------- */
  :root {
    /* Font Size */
    --font-size-ttl-sm: 18px;
    --font-size-ttl-md: 18px;
    --font-size-ttl-lg: 20px;
    --font-size-ttl-xl: 20px;
    --font-size-en-sm: clamp(30px, 12.8vw, 48px);
    --font-size-en-md: clamp(30px, 12.8vw, 48px);

    /* Spacing */
    --spacing-sec: 100px;
  }


/* sec, inner
-------------------------------------------------- */
  .sec {
    padding: var(--spacing-sec) var(--spacing-sm);
  }
  .sec-txt {
    font-size: var(--font-size-md);
  }


/* background
-------------------------------------------------- */
  .crossover {
    background: var(--color-pink) url('./../image/bg-crossover_sp.svg');
    padding-bottom: calc(var(--spacing-xl) * 2);
  }


/* bg-obj
-------------------------------------------------- */
  /* 浮遊アニメーション */
  @keyframes float01 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(7.99vw, -5.33vw);
    }
  }
  @keyframes float02 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(-6.4vw, 7.99vw);
    }
  }
  @keyframes float03 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(5.33vw, 6.4vw);
    }
  }
  @keyframes float05 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(4.82vw, -7.99vw);
    }
  }
  @keyframes float06 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(-5.33vw, 5.33vw);
    }
  }
  @keyframes float07 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(9.63vw, 4.82vw);
    }
  }
  @keyframes float08 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(7.99vw, -5.33vw);
    }
  }
  @keyframes float09 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(5.33vw, 6.4vw);
    }
  }
  @keyframes float10 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(-6.4vw, 7.99vw);
    }
  }
  @keyframes float11 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(4.82vw, -7.99vw);
    }
  }
  @keyframes float12 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(-5.33vw, 5.33vw);
    }
  }

  .bg-obj.obj01 {
    --w: 63.08vw;
    --h: 51.11vw;
    top: 8.22vw;
    left: 62.39vw;
  }
  .bg-obj.obj02 {
    --w: 47.5vw;
    --h: 59.87vw;
    top: -10.69vw;
    left: 46.08vw;
  }
  .bg-obj.obj03 {
    --w: 60.5vw;
    --h: 38.94vw;
    top: 36.26vw;
    left: 76.31vw;
  }
  .bg-obj.obj04 {
    --w: 87.2vw;
    --h: 123.2vw;
    top: -16.81vw;
    left: 38.57vw;
    -webkit-mask-size: 40vw 66.32vw;
    -webkit-mask-position: 52% 23%;
    mask-size: 40vw 66.32vw;
    mask-position: 52% 23%;
  }
  .bg-obj.obj05 {
    --w: 69.93vw;
    --h: 95.31vw;
    top: -46.55vw;
    left: 42.08vw;
  }
  .bg-obj.obj06 {
    --w: 105.58vw;
    --h: 99.33vw;
    top: -74vw;
    left: 40.18vw;
  }
  .bg-obj.obj07 {
    --w: 110.14vw;
    --h: 144.47vw;
    top: -54.8vw;
    left: 32.69vw;
  }
  .bg-obj.obj08 {
    --w: 60.5vw;
    --h: 35.97vw;
    bottom: 18.8vw;
    left: -31.69vw;
    background-image: url('./../image/bg-obj_08.svg');
    animation:
      fadeInObj .8s ease .1s forwards,
      float08 8s ease-in-out .9s infinite alternate;
  }
  .bg-obj.obj09 {
    --w: 63.2vw;
    --h: 61.81vw;
    bottom: -17.8vw;
    left: -24.69vw;
    background-image: url('./../image/bg-obj_09.svg');
    animation:
      fadeInObj .8s ease .4s forwards,
      float09 10s ease-in-out 1.2s infinite alternate;
  }
  .bg-obj.obj10 {
    --w: 12.2vw;
    --h: 6.11vw;
    bottom: 18.8vw;
    left: 9.69vw;
    background-image: url('./../image/bg-obj_10.svg');
    animation:
      fadeInObj .8s ease .7s forwards,
      float10 7s ease-in-out 1.5s infinite alternate;
  }
  .bg-obj.obj11 {
    --w: 32.01vw;
    --h: 78.52vw;
    bottom: -15.8vw;
    left: -13.69vw;
    background-image: url('./../image/bg-obj_11.svg');
    animation:
      fadeInObj .8s ease 1s forwards,
      float11 11s ease-in-out 1.8s infinite alternate;
  }
  .bg-obj.obj12 {
    --w: 48.69vw;
    --h: 67.42vw;
    bottom: 2.8vw;
    left: -14.69vw;
    background-image: url('./../image/bg-obj_12.svg');
    animation:
      fadeInObj .8s ease 1.3s forwards,
      float12 9s ease-in-out 2.1s infinite alternate;
  }


/* hero
-------------------------------------------------- */
  .hero-ttlbox {
    width: 100%;
    padding: 10.67vw 5.33vw 8vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .hero-ttlbox .lead {
    font-size: 4.27vw;
    position: static;
    writing-mode: horizontal-tb;
    background: var(--color-pink);
    margin-bottom: 16vw;
  }
  .hero-ttlbox .lead2 {
    font-size: 3.73vw;
  }
  .hero-ttlbox .ttl {
    font-size: 12.8vw;
    text-align: center;
  }
  .hero-ttlbox .subttl {
    font-size: 2.93vw;
    margin: 2.67vw 0 8vw;
    text-align: center;
  }
  .hero-ttlbox .collegename {
    font-size: 6.4vw;
    text-align: center;
  }
  .hero-ttlbox .collegename > span {
    font-size: 7.73vw;
  }
  .hero-cont .major {
    font-size: 2.66vw;
    text-align: center;
    margin-top: 6.4vw;
  }


/* bg-img
-------------------------------------------------- */
  .bg-top {
    position: absolute;
    display: block;
    width: 100vw;
    height: 41.07vw;
    top: 0;
    left: 0;
    background-image: url('./../image/bg-acoustic_sp_top.png');
    background-position: top center;
    background-repeat: no-repeat;
    background-size: contain;
  }
 .bg-btm {
    position: absolute;
    display: block;
    width: 100vw;
    height: 31.73vw;
    bottom: 0;
    left: 0;
    background-image: url('./../image/bg-acoustic_sp_btm.png');
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .img05 {
    display: none;
  }
  .img06 {
    display: none;
  }


/* possibility
----------------------------------------------------------------- */
  .possibility {
    background: var(--color-pink);
    background-size: 100%;
    padding: 32vw 5.33vw;
  }
  .possibility-cont {
    background: none;
    max-width: 100%;
    padding: 0;
  }
  .possibility-course {
    font-size: clamp(20px, 6.4vw, 100px);
  }
  .possibility-course:first-child {
    font-size: clamp(20px, 7.47vw, 100px);
  }
  .possibility-course .txt {
    font-size: clamp(8px, 2.13vw, 12px);
    letter-spacing: var(--letter-spacing-sm);
    margin-top: clamp(10px, 2.67vw, 12px);
  }
  .possibility-txt {
    font-size: 14px;
  }


/* gamecourse, illustcourse
-------------------------------------------------- */
  .fields3-cont {
    margin-top: var(--spacing-md);
  }
  .fields3-cont .img {
    width: clamp(150px, 40vw, 300px);
  }
  .fields3-cont .ttl {
    font-size: var(--font-size-md);
    padding-left: var(--spacing-xs);
  }
  .fields3-cont .sec-txt {
    margin-top: var(--spacing-md);
  }
  .course-list {
    display: block;
  }
  .course-item {
    width: 100%;
    margin-top: var(--spacing-md);
  }
  .course-item h4 {
    margin-bottom: var(--spacing-sm);
    padding-bottom: var(--spacing-xs);
  }
  .course-item h4::after {
    bottom: -5px;
    height: clamp(5px, 1.33vw, 8px);
  }
  .gamecourse .course-item h4::after {
    background: url(./../image/line-giza-lg-green.svg) no-repeat top center;
    background-size: cover;
  }
  .illustcourse .course-item h4::after {
    background: url(./../image/line-giza-lg-blue.svg) no-repeat top center;
    background-size: cover;
  }
  .gamecourse .course-item:last-child h4::after {
    background: url(./../image/line-giza-lg-green.svg) no-repeat top center;
    background-size: cover;
  }
  .illustcourse .course-item:last-child h4::after {
    background: url(./../image/line-giza-lg-blue.svg) no-repeat top center;
    background-size: cover;
  }
  .img-list .img-wide_pc {
    display: none;
  }
  .img-list .img-wide_sp {
    display: block;
    max-width: 432px;
    margin-top: var(--spacing-sm);
  }
  .new-curriculum {
    margin-top: var(--spacing-lg);
  }
  .curriculum-ttl {
    padding-left: 0;
  }
  .curriculum-ttl::after {
    width: 75px;
    height: 70px;
    left: -85px;
  }
  .curriculum-ttl .txt {
    font-size: var(--font-size-md);
    letter-spacing: var(--letter-spacing-sm);
  }
  .curriculum-list {
    margin-top: var(--spacing-xs);
  }
  .curriculum-list li {
    width: calc((100% - var(--spacing-xs)) / 2);
    font-size: var(--font-size-md);
    padding: var(--spacing-xs) 0;
    margin-top: var(--spacing-xs);
  }
  .curriculum-list li span {
    font-size: var(--font-size-xs);
  }


/* crossover
-------------------------------------------------- */
  .crossover .sec-txt {
    text-align: justify;
  }
  .copoint-list {
    display: block;
  }
  .copoint-item {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .copoint-item .ttl {
    width: 100%;
  }
  .copoint-item .ttl > img {
    width: clamp(100px, 26.67vw, 120px);
  }
  .copoint-item .img {
    width: 40%;
    max-width: 300px;
  }
  .copoint-item .txt-area {
    width: 60%;
    padding-left: var(--spacing-sm);
  }
  .copoint-item .txt {
    margin-top: var(--spacing-sm);
  }
  .cofigure {
    padding: var(--spacing-sm);
    padding-top: var(--spacing-sm);
    padding-bottom: var(--spacing-md);
  }
  .cofigure .ttl {
    font-size: var(--font-size-ttl-lg);
    line-height: var(--line-height-lg);
  }


/* equipment
-------------------------------------------------- */
  .equipment {
    padding-top: calc(var(--spacing-md) * 2);
    padding-bottom: calc(var(--spacing-xl) * 4);
  }
  .equipment::before {
    height: 4vw;
    top: -3.58vw;
  }
  .equipment .sec-txt {
    text-align: justify;
  }
  .equipment-list {
    margin-top: var(--spacing-lg);
  }
  .equipment-list .list1 li {
    width: calc(100% / 3);
    max-width: 250px;
    margin-bottom: var(--spacing-sm);
  }
  .equipment-list .list2 li {
    width: 100%;
    max-width: 360px;
    margin: var(--spacing-md) 0 0;
    padding: 0 var(--spacing-sm);
  }


/* photogallery
-------------------------------------------------- */
  .photogallery {
    background: url('./../image/photogallery_sp.jpg') repeat-x center;
    background-size: cover;
    height: 263.73vw;
    max-height: auto ;
  }
  .photogallery::before {
    width: 92.53vw;
    max-width: 694px;
    height: 19.73vw;
    max-height: 148px;
    top: max(-9.87vw, -74px);
    background: url('./../image/gallery-txt_sp.svg') no-repeat center;
    background-size: contain;
  }


/* footer
-------------------------------------------------- */
  .footer .btn-list {
    flex-wrap: wrap;
    justify-content: center;
  }
  .footer .btn-list a {
    margin: 0 var(--font-size-base) var(--spacing-xs);
  }
  .footer .link-list {
    flex-wrap: wrap;
    justify-content: center;
    margin: var(--spacing-xs) 0 var(--spacing-md);
  }
  .footer .link-list a {
    margin: 0 var(--spacing-xs) var(--spacing-xs);
  }
}

/* 調整
-------------------------------------------------- */
@media screen and (max-width: 768px) {
  .copoint-item {
    display: block;
  }
  .copoint-item .img {
    width: 100%;
    max-width: 300px;
  }
  .copoint-item .txt-area {
    width: 100%;
    padding-left: 0;
  }
  .cocourse-grid {
    display: block;
  }
  .cocourse-card.new::after {
    width: 18.67vw;
    height: 17.33vw;
    top: -2.67vw;
    right: -2.67vw;
  }
  .equipment {
    padding-bottom: 26.67vw;
  }
}
@media screen and (max-width: 500px) {
  .possibility-txt {
    font-size: 2.8vw;
  }
  .curriculum-ttl span {
    display: block;
  }
  .curriculum-ttl::after {
    left: -20px;
  }
  .equipment-list .list1 li {
    width: calc(100% / 2);
  }
  .equipment-list .list1 li.icon::after {
    width: 80px;
    height: 73px;
    bottom: -20px;
    left: -10px;
  }
}