@charset "UTF-8";

/* ▼ 再CAPTCHAごと全体を完全に隠す（横スクロール＆影対策） */
div[id^="rc-anchor-container"],
div[class*="rc-anchor"],
iframe[src*="recaptcha"],
.grecaptcha-badge,
.g-recaptcha,
body > div[style*="z-index"][style*="bottom"],
body > div[style*="right"][style*="fixed"] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
}

/* アニメページ専用フォントサイズ設定（スコープ：.page-anime-v3） */
/* html.page-anime-v3 {
  font-size: 100%;
}

@media (max-width: 390px) {
  html.page-anime-v3 {
    font-size: 4.1025641026vw;
  }
}

@media screen and (min-width: 768px) {
  html.page-anime-v3 {
    font-size: 1.28vw;
  }
}

@media (min-width: 1250px) {
  html.page-anime-v3 {
    font-size: 100%;
  }
} */

html.page-anime-v3 {
  font-size: 100%;
}

@media (max-width: 390px) {
  html.page-anime-v3 {
    font-size: 4.1025641026vw;
  }
}

@media screen and (min-width: 768px) {
  html.page-anime-v3 {
    font-size: 1.28vw;
  }
}

@media (min-width: 1250px) {
  html.page-anime-v3 {
    font-size: 100%;
  }
}

.main.main--anime-v3 {
  padding-top: 6.75rem;
}





/* .page-anime-v3 {
  font-size: 100%;
}

@media (max-width: 390px) {
  .page-anime-v3 {
    font-size: 4.1025641026vw;
  }
}

@media screen and (min-width: 768px) {
  .page-anime-v3 {
    font-size: 1.28vw;
  }
}

@media (min-width: 1250px) {
  .page-anime-v3 {
    font-size: 100%;
  }
} */


html {
  font-size: 100%;
}
@media (max-width: 390px) {
  html {
    font-size: 4.1025641026vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.28vw;
  }
}
@media (min-width: 1250px) {
  html {
    font-size: 100%;
  }
}





body {
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
}

@media screen and (min-width: 768px) {
  a,
  button {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  a:hover,
  button:hover {
    cursor: pointer;
  }
}

/*****************************
* A Modern CSS Reset (https://github.com/hankchizljaw/modern-css-reset)
* 上記に、ul要素,ol要素,a要素への記述追加
*****************************/
/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
li {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  padding: 0;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
  color: inherit;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

button {
  border: none;
  padding: 0;
  background-color: transparent;
  background-color: initial;
}



/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.l-inner {
  width: 100%;
  max-width: 500px;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .l-inner {
    max-width: 1250px;
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}

.c-btn1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  background-color: #fff;
  padding-top: 1.875rem;
  padding-right: 1.5rem;
  padding-bottom: 2.1875rem;
  padding-left: 1.25rem;
}
@media screen and (min-width: 768px) {
  .c-btn1 {
    width: 68.75rem;
    padding-top: 3.125rem;
    padding-bottom: 3.125rem;
    padding-left: 3.125rem;
    -webkit-box-pack: normal;
        -ms-flex-pack: normal;
            justify-content: normal;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .c-btn1:hover .c-btn1__icon {
    -webkit-transform: translateX(1.875rem);
            transform: translateX(1.875rem);
  }
}

.c-btn1__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.c-btn1__ja {
  font-size: clamp(1.25rem, 0.879rem + 1.52vw, 2.25rem);
  font-weight: 700;
  line-height: 1.3888888889;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .c-btn1__ja {
    line-height: 1.4;
  }
}

.c-btn1__en {
  font-family: "Jost", sans-serif;
  text-transform: capitalize;
  color: #019AA0;
  font-size: clamp(0.75rem, 0.611rem + 0.57vw, 1.125rem);
  font-weight: 400;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .c-btn1__en {
    line-height: 1.6666666667;
  }
}

.c-btn1 svg {
  display: block;
  height: auto;
  -webkit-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
  width: 2.6875rem;
  height: 1.25rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: 1.25rem;
  color: #019AA0;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .c-btn1 svg {
    margin-left: 2.5rem;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .c-btn1 svg:hover {
    stroke: #fff;
  }
}

.c-btn2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.375rem 1.25rem;
  width: 100%;
  height: 100%;                   
  border: 3px solid #019AA0;
  background-color: #fff;
  color: #019AA0;
  text-decoration: none;
  font-size: clamp(1.25rem, 1.157rem + 0.38vw, 1.5rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: left;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
}


.c-btn2__text {
  flex: 1;
}


.c-btn2__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.c-btn2__icon svg {
  display: block;
  width: 4.0625rem;
  height: 1.875rem;
}


@media screen and (min-width: 768px) {
  .c-btn2 {
    min-height: 10rem;
    line-height: 1.375;
  }
}


@media screen and (min-width: 768px) and (any-hover: hover) {
  .c-btn2:hover {
    color: #fff;
    background-color: #019AA0;
  }

  .c-btn2:hover .c-btn2__icon svg {
    stroke: #fff;
  }
}





/* .c-btn2 {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.375rem 1.25rem;
  color: #019AA0;
  border: 3px solid #019AA0;
  font-size: clamp(1.25rem, 1.157rem + 0.38vw, 1.5rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-decoration: none;
  width: 100%;
  text-align: left;

  white-space: normal;
  word-break: keep-all;  
  overflow-wrap: break-word;

  svg {
    flex-shrink: 0;
    width: 4.0625rem;
    height: 1.875rem;
    display: block;
    transition: color 0.3s ease-in-out;
  }

  @media screen and (min-width: 768px) {
    min-width: 24.1875rem;
    min-height: 10rem;
    line-height: 1.375;
  }

  @media screen and (min-width: 768px) and (any-hover: hover) {
    &:hover {
      color: #fff;
      background-color: #019AA0;
    }

    svg:hover {
      stroke: #fff;
    }
  }
} */









.c-btn3 {
  min-width: 15rem;
  color: #019AA0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2222222222;
  letter-spacing: 0;
  border: 3px solid #019AA0;
  padding: 1.125rem 1.25rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;

          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-align: left;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .c-btn3 {
    min-width: 15rem;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .c-btn3:hover {
    color: #fff;
    background-color: #019AA0;
  }
}
.c-btn3 svg {
  display: block;
  height: auto;
  -webkit-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
  width: 2rem;
  height: 0.9375rem;
  margin-left: 1.25rem;
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .c-btn3 svg:hover {
    stroke: #fff;
  }
}

.c-btn3 .c-btn3--w100 {
  width: 100%;
}

.c-btn4 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 37.5rem;
  background-color: #019AA0;
  color: #fff;
  border-radius: 100vmax;
  border: 3px solid #019AA0;
  padding: 1.75rem 1.25rem 1.25rem 1.25rem;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .c-btn4 {
    min-width: 50rem;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .c-btn4:hover {
    color: #019AA0;
    background-color: #fff;
    border: 3px solid #019AA0;
  }
}

.c-btn4__ja {
  font-size: clamp(1.5rem, 1.361rem + 0.57vw, 1.875rem);
  font-weight: 700;
  line-height: 1.4166666667;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .c-btn4__ja {
    line-height: 1.4;
  }
}

.c-btn4__en {
  font-family: "Jost", sans-serif;
  font-size: clamp(1rem, 0.954rem + 0.19vw, 1.125rem);
  font-weight: 400;
  line-height: 1.375;
  letter-spacing: 0.1em;
  text-transform: capitalize;
}
@media screen and (min-width: 768px) {
  .c-btn4__en {
    line-height: 1.6666666667;
  }
}

.c-heading02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.c-heading02__en {
  font-family: "Jost", sans-serif;
  color: #019AA0;
  font-size: clamp(3.438rem, 1.696rem + 7.14vw, 8.125rem);
  font-weight: 200;
  line-height: 1.4181818182;
  letter-spacing: 0;
  text-transform: capitalize;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .c-heading02__en {
    line-height: 0.7692307692;
  }
}

.c-heading02__ja {
  font-size: clamp(1.25rem, 1.204rem + 0.19vw, 1.375rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .c-heading02__ja {
    line-height: 1.5;
    margin-top: 1.25rem;
  }
}

.c-heading02__en.c-heading02__en--orange {
  color: #EA5506;
}

.c-page-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
}
@media screen and (min-width: 768px) {
  .c-page-title {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-top: 1.6875rem;
    padding-bottom: 1.6875rem;
  }
}

.c-page-title__main {
  font-size: clamp(2.188rem, 1.723rem + 1.9vw, 3.438rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .c-page-title__main {
    line-height: 1.2;
  }
}

.c-page-title__sub {
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.1875;
  letter-spacing: 0;
  margin-top: 1.25rem;
}

.p-academy {
  border: 4px solid #EA5506;
  padding: 1.875rem 0.9375rem 1.25rem 0.9375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-academy {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 3.125rem;
  }
}

.p-academy__img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-academy__img {
    width: 25rem;
  }
}

.p-academy__img img {
  aspect-ratio: 320/86;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-academy__img img {
    aspect-ratio: 400/108;
  }
}

.p-academy__text {
  font-size: clamp(1rem, 0.954rem + 0.19vw, 1.125rem);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-academy__text {
    width: 41.25rem;
    line-height: 2;
    margin-top: 0;
  }
}

.p-academy__text span {
  font-weight: 700;
}

.p-accessCta {
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .p-accessCta {
    padding-top: 6.25rem;
    padding-bottom: 10rem;
  }
}

.p-accessCta__inner {
  text-align: center;
}

.p-campus {
  padding-top: 3.125rem;
  padding-bottom: 6.25rem;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .p-campus {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}

.p-campus__inner {
  max-width: 33.75rem;
}
@media screen and (min-width: 768px) {
  .p-campus__inner {
    max-width: 78.125rem;
  }
}

.p-campus__video {
  margin-top: 1.25rem;
  aspect-ratio: 350/197;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-campus__video {
    width: 50rem;
    aspect-ratio: 800/450;
    margin-top: 2.5rem;
  }
}

.p-campus__video iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.p-campus__btn {
  margin-top: 1.875rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-campus__btn {
    margin-top: 3.75rem;
  }
}

.p-campusLife {
  padding-block: 3.125rem;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .p-campusLife {
    padding-block: 10rem;
  }
}

.p-campusLife__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-campusLife__container {
    margin-top: 3.75rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-campusLife__left {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-campusLife__left {
    display: block;
    width: 66.6666666667%;
  }
}

@media screen and (min-width: 768px) {
  .p-campusLife__wrap {
    min-height: 42.5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-campusLife__overlayBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    width: 100%;
    height: 100%;
    max-width: 50rem;
    min-height: 42.5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-campusLife__woman {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 31.25rem;
  }
}

.p-campusLife__woman img {
  aspect-ratio: 350/390;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-campusLife__woman img {
    aspect-ratio: 500/680;
  }
}

@media screen and (min-width: 768px) {
  .p-campusLife__box {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    width: 28.75rem;
  }
}

.p-campusLife__body {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-campusLife__body {
    margin-top: 0;
  }
}

.p-campusLife__smBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  white-space: nowrap;
  flex-wrap: wrap;
}

.p-campusLife__nameJa {
  font-size: clamp(1.875rem, 1.736rem + 0.57vw, 2.25rem);
  font-weight: 700;
  line-height: 3.125rem;
  letter-spacing: 0.06em;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .p-campusLife__nameJa {
    letter-spacing: 0.1em;
  }
}

.p-campusLife__nameEn {
  color: #019AA0;
  font-family: "Jost", sans-serif;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.4375rem;
  letter-spacing: 0.1em;
  display: inline-block;
  margin-top: 5px;
  margin-left: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-campusLife__nameEn {
    font-size: 1rem;
    margin-left: 1.25rem;
  }
}

.p-campusLife__from {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  display: inline-block;
  margin-top: 5px;
}
@media screen and (min-width: 768px) {
  .p-campusLife__from {
    font-size: 1.125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-campusLife__faculty {
    margin-top: 0.625rem;
  }
}

.p-campusLife__faculty span {
  color: #fff;
  background: #019AA0;
  padding: 1px 0.625rem;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5555555556;
  letter-spacing: 0;
  display: inline-block;
  border: solid 1px #fff;
}
@media screen and (min-width: 768px) {
  .p-campusLife__faculty span {
    font-size: 1.25rem;
    line-height: 1.4;
    padding-inline: 0.625rem;
  }
}

.p-campusLife__text {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
  text-align: justify;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-campusLife__text {
    margin-top: 2.5rem;
    font-size: 1.125rem;
    line-height: 2.2222222222;
  }
}

.p-campusLife__portfolio {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  margin-top: 1.25rem;
  aspect-ratio: 350/270;
}
.p-campusLife__portfolio img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 768px) {
  .p-campusLife__portfolio {
    margin-top: 3.125rem;
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    aspect-ratio: 830/330;
  }
}

.p-campusLife__right {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-campusLife__right {
    width: 30%;
    display: block;
  }
}

.p-campusLife__image {
  aspect-ratio: 360/730;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-top: 1.25rem;
}
.p-campusLife__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 768px) {
  .p-campusLife__image {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    margin-top: 0;
  }
}

.p-campusLife__photo {
  aspect-ratio: 1/1;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  margin-top: 1.25rem;
}
.p-campusLife__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 768px) {
  .p-campusLife__photo {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
    margin-top: 0.625rem;
  }
}

.p-campusLife__btns {
  margin-top: 1.875rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.25rem;
  align-items: stretch;
}
@media screen and (min-width: 768px) {
  .p-campusLife__btns {
    margin-top: 1.25rem;
    grid-template-columns: repeat(3, 1fr);
  }
}

.p-campusLife__btn {
  width: 100%;
  height: 100%;
  
}

.p-card1 {
  background: #F7F7F7;
  padding: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-card1 {
    padding: 1.25rem;
  }
}

.p-card1__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: -1.25rem;
  margin-left: -1.25rem;
}
@media screen and (min-width: 768px) {
  .p-card1__title {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: -1.875rem;
    margin-left: -1.875rem;
  }
}

.p-card1__titleBox {
  background-color: #019AA0;
  color: #fff;
  padding: 0.75rem 1.1875rem;
  font-family: "Jost", sans-serif;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-transform: capitalize;
  font-weight: 400;
  letter-spacing: 0;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-card1__titleBox {
    padding: 1.375rem 1.75rem;
  }
}

.p-card1__point {
  font-size: 1.25rem;
  line-height: 1.3;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .p-card1__point {
    font-size: 1.875rem;
    line-height: 1.3333333333;
  }
}

.p-card1__number {
  counter-increment: num;
}
.p-card1__number::before {
  content: counter(num, decimal-leading-zero);
  font-size: 1.875rem;
  line-height: 1;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .p-card1__number::before {
    font-size: 2.5rem;
  }
}

.p-card1__img {
  margin-top: 0.625rem;
  margin-inline: auto;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-card1__img {
    width: 32.5rem;
  }
}

.p-card1__img img {
  aspect-ratio: 330 / 140;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-card1__img img {
    aspect-ratio: 520/220;
  }
}

.p-card1__heading {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3888888889;
  letter-spacing: 0;
  padding-top: 1.5625rem;
  margin-left: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-card1__heading {
    padding-top: 0;
    font-size: 1.5rem;
    line-height: 1.5833333333;
    margin-left: 1.25rem;
  }
}

.p-card2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  background-color: #fff;
  padding-top: 1.875rem;
  padding-right: 1.25rem;
  padding-bottom: 1.25rem;
  padding-left: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-card2 {
    padding: 3.125rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-card2__body {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-card2__body {
    width: 31.25rem;
  }
}

.p-card2__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-card2__headingJa {
  font-size: clamp(1.25rem, 0.879rem + 1.52vw, 2.25rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-card2__headingJa {
    line-height: 1.3888888889;
  }
}

.p-card2__headingEn {
  font-family: "Jost", sans-serif;
  color: #EA5506;
  font-size: clamp(0.75rem, 0.611rem + 0.57vw, 1.125rem);
  font-weight: 400;
  line-height: 1.3333333333;
  letter-spacing: 0.1em;
  text-transform: capitalize;
}
@media screen and (min-width: 768px) {
  .p-card2__headingEn {
    line-height: 1.6666666667;
  }
}

.p-card2__text {
  margin-top: 1.25rem;
  font-size: clamp(1rem, 0.954rem + 0.19vw, 1.125rem);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-card2__text {
    margin-top: 1.875rem;
    line-height: 2;
  }
}

.p-card2__btn {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-card2__btn {
    margin-top: 4.8125rem;
  }
}

.p-card2__img {
  width: 100%;
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-card2__img {
    width: 28.75rem;
    margin-top: 0;
  }
}

.p-card2__img img {
  aspect-ratio: 460/320;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-card3__img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-card3__img {
    width: 15.375rem;
  }
}

.p-card3__img img {
  border-radius: 0.625rem;
  aspect-ratio: 246/164;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-card3__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 5px;
}

.p-card3__tag {
  color: #019AA0;
  background-color: #fff;
  border-radius: 100vmax;
  padding: 4px 0.625rem;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

.p-card3__time {
  font-family: "Jost", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.1428571429;
  letter-spacing: 0;
}

.p-card3__title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.375;
  letter-spacing: 0;
  margin-top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-card3__title {
    margin-top: 0.9375rem;
  }
}

.p-cards3 {
  display: grid;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-cards3 {
    grid-template-columns: repeat(3, 1fr);
    width: 64.8333333333%;
  }
}

.p-course {
  background-color: #F7F7F7;
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
}
@media screen and (min-width: 768px) {
  .p-course {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}

.p-course__heading02 {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-course__heading02 {
    text-align: left;
  }
}

.p-course__list {
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .p-course__list {
    margin-top: 2.25rem;
  }
}

.p-course__item {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-course__item {
    width: 68.75rem;
  }
}

.p-course__item:nth-child(n+2) {
  margin-top: 1.25rem;
}

@media screen and (min-width: 768px) {
  .p-course__item:nth-child(even) .p-card2 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.p-course__more {
  margin-top: 1.25rem;
}

.p-course__moreList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-course__moreItem {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-course__moreItem {
    width: 68.75rem;
  }
}

.p-course__moreItem:nth-child(n+2) {
  margin-top: 1.25rem;
}

.p-cta {
  width: 100%;
  min-height: 12.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 2.8125rem;
}
@media screen and (min-width: 768px) {
  .p-cta {
    min-height: 13.75rem;
    margin-inline: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-top: 1.25rem;
  }
}

.p-cta__leftLink {
  display: block;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-cta__leftLink {
    width: 66.6666666667%;
  }
}

.p-cta__rightLink {
  display: block;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-cta__rightLink {
    width: 33.3333333333%;
  }
}

.p-cta__left,
.p-cta__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  min-height: 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-cta__left,
  .p-cta__right {
    min-height: 13.75rem;
  }
}

.p-cta__left {
  background: url(../images/anime-v3/img_cta_bg_rhombus_sp.webp) no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  .p-cta__left {
    background: url(../images/anime-v3/img_cta_bg_rhombus.webp) no-repeat center/cover;
  }
}
.p-cta__left::after {
  position: absolute;
  content: "OpenCampus";
  width: 21.4375rem;
  height: 5.25rem;
  bottom: -1.75rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-family: "Jost", sans-serif;
  color: transparent;
  -webkit-text-stroke: 1px #fff;
  font-size: 3.75rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .p-cta__left::after {
    font-size: 7.5rem;
    width: 42.875rem;
    height: 6.25rem;
    bottom: 0.4375rem;
  }
}

.p-cta__right {
  padding-left: 2.8125rem;
  padding-right: 2.8125rem;
  background: -webkit-gradient(linear, left top, right top, from(#FCA16E), to(#F55161));
  background: linear-gradient(to right, #FCA16E 0%, #F55161 100%);
}

.p-cta__campusLink {
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3888888889;
  letter-spacing: 0.1em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-cta__campusLink {
    font-size: 1.75rem;
    line-height: 1.8571428571;
    margin-top: 0;
  }
}

.p-cta__campusLink--mt38 {
  margin-top: -2.375rem;
}
@media screen and (min-width: 768px) {
  .p-cta__campusLink--mt38 {
    margin-top: 0;
  }
}

.p-cta__campusLink svg {
  display: block;
  height: auto;
  width: 2rem;
  height: 0.9375rem;
  margin-left: 0.625rem;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .p-cta__campusLink svg {
    width: 4.0625rem;
    height: 1.875rem;
    margin-left: 1.875rem;
  }
}

@media screen and (min-width: 768px) {
  .p-cta__leftLink:hover .p-cta__icon,
  .p-cta__rightLink:hover .p-cta__icon {
    -webkit-transform: translateX(1.875rem);
            transform: translateX(1.875rem);
  }
}

.p-curriculum {
  background-color: #F7F7F7;
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
}
@media screen and (min-width: 768px) {
  .p-curriculum {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}

.p-curriculum__img {
  margin-top: 1.25rem;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
}
@media screen and (min-width: 768px) {
  .p-curriculum__img {
    width: 100%;
    margin-top: 1.875rem;
    margin-left: 0;
    margin-left: initial;
    margin-right: 0;
    margin-right: initial;
  }
}

.p-curriculum__img img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-curriculum__text {
  font-size: clamp(1rem, 0.954rem + 0.19vw, 1.125rem);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0;
  text-align: justify;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-curriculum__text {
    line-height: 2;
    max-width: 68.75rem;
    margin-inline: auto;
    margin-top: 2.5rem;
  }
}

.p-curriculum__btn {
  margin-top: 1.875rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-curriculum__btn {
    margin-top: 3.75rem;
  }
}

.p-future {
  padding-top: 6.25rem;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .p-future {
    padding-top: 10rem;
  }
}

.p-future__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-future__flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-future__heading02 {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-future__heading02 {
    width: 26.3333333333%;
  }
}

.p-future__headingText {
  font-size: clamp(1rem, 0.954rem + 0.19vw, 1.125rem);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0;
  width: 100%;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-future__headingText {
    line-height: 2;
    width: 58.3333333333%;
    margin-top: 0;
  }
}

.p-future__container {
  border: 3px solid #EA5506;
  padding: 1.875rem 1.25rem 0.9375rem 1.25rem;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-future__container {
    padding: 3.125rem;
    margin-top: 3.75rem;
  }
}

.p-future__heading03 {
  color: #EA5506;
  font-size: clamp(1.5rem, 1.221rem + 1.14vw, 2.25rem);
  font-weight: 700;
  line-height: 1.4166666667;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-future__heading03 {
    line-height: 1.3888888889;
  }
}

.p-future__wrap {
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-future__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-future__companyList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .p-future__companyList:nth-child(n+2) {
    margin-left: 2.5rem;
  }
}

.p-future__companyItem {
  font-size: clamp(1rem, 0.954rem + 0.19vw, 1.125rem);
  font-weight: 400;
  line-height: 2.25;
  letter-spacing: 0;
  position: relative;
  padding-left: 1.25rem;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-future__companyItem {
    line-height: 2;
  }
}

.p-future__companyItem::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 0.625rem;
  height: 0.625rem;
  background-color: #EA5506;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

.p-future__etc {
  margin-top: 0.625rem;
  margin-left: auto;
	font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .p-future__etc {
    margin-top: auto;
		font-size: 1.125rem;
  }
}

/* =======================================
* About Section
/* =======================================*/
.p-future__about {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-future__about {
    margin-top: 3.75rem;
  }
}

.p-future__aboutContainer {
  background-color: #F7F7F7;
  padding: 1.875rem 1.25rem 1.25rem 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-future__aboutContainer {
    padding: 3.125rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-future__aboutBody {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-future__aboutBody {
    width: 50%;
  }
}

.p-future__aboutCompany {
  color: #EA5506;
  font-size: clamp(1.25rem, 1.157rem + 0.38vw, 1.5rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-future__aboutCompany {
    line-height: 1.4166666667;
  }
}

.p-future__aboutKinds {
  color: #fff;
  background-color: #EA5506;
  font-size: clamp(1.125rem, 1.079rem + 0.19vw, 1.25rem);
  font-weight: 400;
  line-height: 1.5555555556;
  letter-spacing: 0;
  width: 100%;
  margin-top: 0.625rem;
  padding-left: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-future__aboutKinds {
    line-height: 1.4;
    width: 90%;
  }
}

.p-future__aboutName {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 0.625rem;
}

.p-future__aboutNameJa {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.p-future__aboutNameEn {
  color: #EA5506;
  font-family: "Jost", sans-serif;
  font-size: clamp(0.875rem, 0.829rem + 0.19vw, 1rem);
  font-weight: 300;
  line-height: 1.5714285714;
  letter-spacing: 0.1em;
  margin-left: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-future__aboutNameEn {
    line-height: 1.375;
  }
}

.p-future__aboutText {
  font-size: clamp(1rem, 0.954rem + 0.19vw, 1.125rem);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0;
  text-align: justify;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-future__aboutText {
    margin-top: 2.5rem;
    line-height: 2;
  }
}

.p-future__aboutImg {
  width: 100%;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-future__aboutImg {
    width: 28.75rem;
    margin-top: 0;
  }
}

.p-future__aboutImg img {
  aspect-ratio: 460/460;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-future__aboutBtn {
  margin-top: 1.875rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-future__aboutBtn {
    margin-top: 3.75rem;
  }
}

/* .p-fv {
  padding-top: 1.25rem;
  padding-bottom: 2.8125rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-fv {
    padding-bottom: 1.25rem;
  }
} */

/* .p-fv__swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.p-fv__swiper-slide {
  aspect-ratio: 981/320;
  width: 61.3125rem;
}
.p-fv__swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-fv__swiper-slide {
    aspect-ratio: 1840/600;
    width: 115rem;
  }
} */

/* .p-fv__wrapper {
  position: absolute;
  bottom: 4.6875rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 2;
  width: 100%;
}
.p-fv__wrapper .l-inner {
  max-width: none;
  padding-inline: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-fv__wrapper {
    bottom: -2.5rem;
    right: 0;
    transform: initial;
    left: initial;
  }
  .p-fv__wrapper .l-inner {
    padding-inline: 1.5625rem;
    max-width: 1250px;
  }
} */

.p-fv__box {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}

.p-fv__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  top: -48px;
  right: 0;
}
@media screen and (min-width: 768px) {
  .p-fv__list {
    top: 15px;
  }
}

.p-fv__item {
  -webkit-writing-mode: sideways-lr;
      -ms-writing-mode: sideways-lr;
          writing-mode: sideways-lr;
  text-orientation: sideways;
  color: #019AA0;
  font-family: "Jost", sans-serif;
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-fv__item {
    font-size: 1.875rem;
    line-height: 1.5;
  }
}

.p-fv__title {
  padding: 0.5625rem 0.625rem 0.5rem;
  background: -webkit-gradient(linear, left top, right top, from(#FCA06E), to(#DB6AA4));
  background: linear-gradient(to right, #FCA06E, #DB6AA4);
  display: block;
  aspect-ratio: 370/50;
  width: 23.125rem;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
}
.p-fv__title img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-fv__title {
    padding: 0.875rem 1.875rem 0.8125rem;
    width: 45.625rem;
    aspect-ratio: 730/90;
    margin-top: 3rem;
    margin-inline: 0;
    margin-left: auto;
    position: static;
    transform: initial;
  }
}

.p-job {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border: 4px solid #019AA0;
}
@media screen and (min-width: 768px) {
  .p-job {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-job__title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  width: 100%;
  text-align: center;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .p-job__title {
    width: 20%;
    padding: 0;
  }
}

.p-job__text {
  color: #fff;
  background-color: #019AA0;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
  text-align: justify;
  padding: 0.625rem 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-job__text {
    width: 80%;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

.p-page-title {
  background: -webkit-gradient(linear, left top, right top, from(#DB6AA4), to(#FCA06E));
  background: linear-gradient(to right, #DB6AA4 0%, #FCA06E 100%);
  width: 100%;
}

.p-scrollNav {
  width: 100%;
  background-color: #fff;
  overflow-x: auto;
  border-bottom: 4px solid #E5E5E5;
  padding-top: 1.375rem;
  padding-bottom: 1.125rem;
}

.p-scrollNav__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-scrollNav__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-scrollNav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-scrollNav__list {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-scrollNav__list:nth-child(n+2) {
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-scrollNav__list:nth-child(n+2) {
    margin-top: 0;
  }
}

.p-scrollNav__item {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-scrollNav__item::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1px;
  height: 2.5rem;
  background-color: #E5E5E5;
}
.p-scrollNav__item--notLine::after {
  content: none;
}

.p-scrollNav__link {
  display: block;
  padding: 0.5625rem 1.25rem 0.5rem 1.25rem;
  color: #019AA0;
  font-size: clamp(1rem, 0.954rem + 0.19vw, 1.125rem);
  font-weight: 700;
  line-height: 1.375;
  letter-spacing: 0.02em;
  text-align: center;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (min-width: 768px) {
  .p-scrollNav__link {
    line-height: 1.3888888889;
    padding: 0.4375rem 1.875rem;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .p-scrollNav__link:hover {
    color: #EA5506;
  }
}

.p-sns {
  border: 3px solid #019AA0;
  width: 100%;
  border-radius: 1.5625rem;
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-sns {
    border: 3px solid #019AA0;
    border-radius: 100vmax;
    padding-bottom: 0;
  }
}

.p-sns__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-sns__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-sns__text {
  color: #fff;
  background-color: #019AA0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3888888889;
  letter-spacing: 0.05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1.375rem 1.25rem;
  width: 101%;
  border-top-left-radius: 1.5625rem;
  border-top-right-radius: 1.5625rem;
  text-align: center;
  word-break: keep-all; /* ← 単語途中では改行しない */
  overflow-wrap: break-word; /* ← 長すぎたら改行はOK */
}
@media screen and (min-width: 768px) {
  .p-sns__text {
    width: 45%;
    padding: 1.875rem 3.125rem;
    text-align: left;
    border-top-left-radius: 100vmax;
    border-bottom-left-radius: 100vmax;
  }
}

.p-sns__account {
  color: #019AA0;
  font-size: clamp(1.375rem, 1.329rem + 0.19vw, 1.5rem);
  font-weight: 700;
  line-height: 1.3636363636;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 1.25rem;
  position: relative;
  width: 82.8571428571%;
}
@media screen and (min-width: 768px) {
  .p-sns__account {
    width: 19.3333333333%;
    line-height: 1.1666666667;
    margin-top: 0;
  }
}

.p-sns__account::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 3px;
  bottom: -0.5rem;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #019AA0;
}
@media screen and (min-width: 768px) {
  .p-sns__account::after {
    content: none;
    position: static;
    width: auto;
    height: auto;
    top: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
    background-color: transparent;
  }
}

.p-sns__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.125rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 2.375rem;
}
@media screen and (min-width: 768px) {
  .p-sns__list {
    position: relative;
    width: 35.6666666667%;
    margin-top: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-sns__list::before {
    position: absolute;
    content: "";
    background-color: #019AA0;
    width: 3px;
    height: 4.375rem;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

.p-sns__item {
  width: 3.125rem;
}

.p-sns__item img {
  aspect-ratio: 1/1;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-study {
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
  overflow-x: clip;
  background-color: #fff;
  position: relative;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-study {
    padding-top: 6.25rem;
    padding-bottom: 4.375rem;
  }
}

@media screen and (min-width: 768px) {
  .p-study__top {
    max-width: 1400px;
    margin-inline: auto;
    padding-left: 1.25rem;
    position: relative;
    padding-bottom: 8.625rem;
  }
}

.p-study__top::after {
  content: "";
  aspect-ratio: 1/1;
  background: url("../images/anime-v3/img_study_woman.webp") no-repeat center/contain;
  display: block;
  margin-top: 2.5rem;
  margin-inline: auto;
  width: 89.7435897436%;
  max-width: 500px;
}
@media screen and (min-width: 768px) {
  .p-study__top::after {
    width: 38.125rem;
    max-width: none;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    margin-top: 0;
    margin-inline: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-study_wrap {
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .p-study__inner {
    padding-top: 3.125rem;
  }
}

.p-study__heading02 {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.6071428571;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-study__heading02 {
    font-size: 2.625rem;
    letter-spacing: 0.1em;
    line-height: 1.5952380952;
    width: calc(800 / 1200 * 100%);
    position: relative;
    z-index: 2;
  }
}

.p-study__list {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-study__list {
    margin-top: 2.5rem;
    margin-left: 3.75rem;
    position: relative;
    z-index: 2;
  }
}

.p-study__item {
  font-size: 1.25rem;
  line-height: 1.4;
  font-weight: 400;
  padding-left: 2.1875rem;
  letter-spacing: 0;
  position: relative;
  margin-right: -0.3125rem;
}
@media screen and (min-width: 768px) {
  .p-study__item {
    font-size: 1.75rem;
    line-height: 1.2142857143;
    padding-left: 4.375rem;
    margin-right: 0;
  }
}

.p-study__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.875rem;
  aspect-ratio: 1/1;
  background: url("../images/anime-v3/icon_check.webp") no-repeat center/contain;
  max-width: 500px;
}
@media screen and (min-width: 768px) {
  .p-study__item::before {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 3.75rem;
  }
}

.p-study__label {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .p-study__label {
    position: relative;
    z-index: 0;
    background-color: #fff;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
  }
}

.p-study__label span {
  color: #019AA0;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .p-study__item:nth-child(1) {
    margin-left: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-study__item:nth-child(2) {
    margin-left: 4.375rem;
  }
}

@media screen and (min-width: 768px) {
  .p-study__item:nth-child(3) {
    margin-left: 8.75rem;
  }
}

@media screen and (min-width: 768px) {
  .p-study__item:nth-child(4) {
    margin-left: 13.125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-study__item:nth-child(5) {
    margin-left: 17.5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-study__item:nth-child(6) {
    margin-left: 21.875rem;
  }
}

@media screen and (min-width: 768px) {
  .p-study__item:nth-child(7) {
    margin-left: 26.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-study__item:nth-child(8) {
    margin-left: 30.625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-study__item:nth-child(9) {
    margin-left: 35rem;
  }
}

@media screen and (min-width: 768px) {
  .p-study__item:nth-child(10) {
    margin-left: 39.375rem;
  }
}

.p-study__item:nth-child(n+2) {
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-study__item:nth-child(n+2) {
    margin-top: 1.875rem;
  }
}

.p-study__image {
  aspect-ratio: 350/233;
  width: 89.7435897436%;
  max-width: 31.25rem;
  margin-inline: auto;
  margin-top: 0.875rem;
}
.p-study__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 768px) {
  .p-study__image {
    aspect-ratio: 400/253;
    width: 25rem;
    max-width: none;
    margin-inline: 0;
    margin-top: 0;
    position: absolute;
    bottom: 0;
    left: 1.25rem;
  }
}

.p-study__cardList {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  counter-reset: num;
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-study__cardList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3.125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-study__card {
    width: 35rem;
  }
}

.p-study__job {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-study__job {
    margin-top: 2.5rem;
  }
}

.p-teachers {
  background-color: #F7F7F7;
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
}
@media screen and (min-width: 768px) {
  .p-teachers {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}

.p-teachers__inner {
  max-width: 31.25rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-teachers__inner {
    max-width: 78.125rem;
  }
}

.p-teachers__heading02 {
  text-align: center;
}

.p-teachers__text {
  font-size: clamp(1rem, 0.954rem + 0.19vw, 1.125rem);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0;
  text-align: justify;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-teachers__text {
    line-height: 2;
    text-align: center;
    margin-top: 2.5rem;
  }
}

.p-teachers__btns {
  margin-top: 1.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-teachers__btns {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.5rem;
    margin-top: 3.75rem;
  }
}

/* =======================================
* 無限スライド（Swiper） 
/* =======================================*/
.p-teachers__scroll {
  overflow: hidden;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-teachers__scroll {
    margin-top: 2.5rem;
  }
}

.p-teachers__swiper-slide {
  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: 9rem;
  height: 7.5rem;
}
@media screen and (min-width: 768px) {
  .p-teachers__swiper-slide {
    width: 18rem;
    height: 15rem;
  }
}

.p-teachers__swiper-slide img {
  aspect-ratio: 144/120;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-teachers__swiper-slide img {
    aspect-ratio: 288/240;
  }
}

.p-teachers__swiper-container + .p-teachers__swiper-container {
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-teachers__swiper-container + .p-teachers__swiper-container {
    margin-top: 1.25rem;
  }
}

.p-teachers__swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.p-topics {
  background-color: #F7F7F7;
  padding-top: 2.5rem;
  padding-bottom: 3.125rem;
}
@media screen and (min-width: 768px) {
  .p-topics {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
  }
}

.p-topics__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-topics__flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.p-topics__body {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-topics__body {
    width: 27.5%;
  }
}

.p-topics__btn {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-topics__btn {
    display: block;
    margin-top: 3.75rem;
  }
}

.p-topics__btnSp {
  display: block;
  text-align: center;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-topics__btnSp {
    display: none;
  }
}

.p-topics__sns {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-topics__sns {
    margin-top: 2.1875rem;
  }
}

.p-topics__list {
  margin-top: 1.25rem;
  width: 100%;
  place-content: center;
}
@media screen and (min-width: 768px) {
  .p-topics__list {
    margin-top: 0;
    width: 65%;
  }
}

.p-topics__item {
  width: 15.375rem;
}

.u-animated__fadeIn {
  opacity: 0;
  translate: 0 40px;
  -webkit-transition: opacity 0.3s ease, translate 0.3s ease;
  transition: opacity 0.3s ease, translate 0.3s ease;
}
.u-animated__fadeIn.js-show {
  opacity: 1;
  translate: 0 0;
}

.u-desktop {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-desktop {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .u-mobile {
    display: none;
  }
}

/* SPで改行、PCで横並び */
.u-br--sp {
  display: block;
}
@media screen and (min-width: 768px) {
  .u-br--sp {
    display: inline;
  }
}

/* PCで改行、SPで横並び */
.u-br--pc {
  display: inline;
}
@media screen and (min-width: 768px) {
  .u-br--pc {
    display: block;
  }
}


@keyframes slide-left {
  0% {
    transform: translateX(0);
  }
  100% {
    /* 左に50%移動させる */
    transform: translateX(-50%);
  }
}

.p-mv {
  width: 100%;
  height: 320px;
  position: relative;
  overflow-x: clip;
}
@media screen and (min-width: 768px) {
  .p-mv {
    height: 600px;
  }
}
.p-mv__inner {
  width: 3990px;
  height: 100%;
  animation: slide-left 90s linear infinite;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-mv__inner {
    width: 7440px;
  }
}
.p-fv__container {
  position: absolute;
  top: 55px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .p-fv__container  {
    top: initial;
    bottom: 30px;
  }
}

.p-mv__list {
  display: flex;
}
.p-mv__item {
  margin-left: 20px;
}
.p-mv__item img {
  height: 320px;
}
@media screen and (min-width: 768px) {
  .p-mv__item img {
    width: 7400px;
    height: 600px;
  }
}

.contentInner{
	max-width: 65rem;
	margin-inline: auto;
}

.content_box,.content_inner{
	max-width: 65rem;
	margin: 0 auto;
	padding-inline: 1.92rem;
}

/**************************************************
 header
**************************************************/

header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 6.75rem;
	background-color: #F7F7F7;
	align-items: center;
	padding-inline: 1.5rem;
	padding-block: 0.5rem 1rem;
	z-index: 1000;
}

header::before{
	content: "";
    display: block;
	opacity: 0;
	visibility: hidden;
	width: 100%;
	height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.8);
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
	z-index: -1;
}

header.is_hover::before{
	opacity: 1;
	visibility: visible;
}

h1.h1_logo{width: 13.75rem;font-size: 1rem;align-items: end;font-weight: 400;}

.h_right{align-items: center;justify-content: flex-end;/*width: 76%;*/width:calc(100% - 15rem); height: 5.3125rem;}

.h_right > ul{
	padding-block: 0.375rem;
	padding-inline: 1rem;
	background-color: #E5E5E5;
}

.h_right > ul > li{
	margin-inline-end: 1.5rem;
  line-height: 1;
}

.h_right > ul > li:last-of-type{margin-inline-end: 0;}

.h_right > ul > li > a{
	font-size: 0.875rem;
	color: #000;
}

.h_target_menu{
	position: relative;
	margin-inline-start: 0.5rem;
}

.h_target_menu span{
	position: relative;
	background-color: var(--main-color);
	font-size: 0.875rem;
	font-weight: var(--font-bold);
	line-height: 1.5;
	padding-block: 0.5rem;
	color: #fff;
	width: 8.75rem;
	display: block;
	text-align: center;
	cursor: pointer;
	transition: .3s;
}

.h_target_menu span::before{
	content: '';
	width: 1.25rem;
	height: 1.25rem;
	background: url(../2024add/img/common/navi_target.svg)no-repeat center center;
	background-size: 100%;
	position: absolute;
	top: 50%;
	transform: translate(0,-50%);
	left: 1rem;
}

.h_target_menu span::after{
	content: '';
	width: 0.5rem;
	height: 0.3125rem;
	background: url(../2024add/img/common/navi_arrow.svg)no-repeat center center;
	background-size: 100%;
	position: absolute;
	top: 50%;
	transform: translate(0,-50%);
	right: 1rem;
}

.h_target_menu span:hover{background-color: #075053;}

.h_ta_list{position: absolute;width: 100%;display: none;}

.h_ta_list li{margin-block-start: 0.0625rem;}

.h_ta_list li a{
	font-size: 0.875rem;
	color: #fff;
	background-color: var(--main-color);
	padding-inline: 1rem;
	padding-block: 0.5rem;
	display: block;
}

.h_language span{
	position: relative;
	background-color: #000;
	font-size: 0.875rem;
	font-weight: var(--font-bold);
	line-height: 1.5;
	padding-block: 0.5rem;
	color: #fff;
	width: 11rem;
	display: block;
	padding-inline-start: 1.6rem;
}

.h_language span::before{
	content: '';
	width: 0.5rem;
	height: 0.3125rem;
	background: url(../2024add/img/common/navi_arrow.svg)no-repeat center center;
	background-size: 100%;
	position: absolute;
	top: 50%;
	transform: translate(0,-50%);
	right: 1rem;
}

#globalNavi{
	width: 100%;
	margin-block-start: 1.5rem;
}

#globalNavi > ul{
	padding: 0;
	justify-content: flex-end;
  margin-top: -1.5625rem;
}

#globalNavi > ul > li{
	margin-inline-end: clamp(0.938rem, 0.914rem + 0.1vw, 1rem);
}

#globalNavi > ul > li:last-of-type{margin-inline-end: 0;}

#globalNavi > ul > li > a{
	font-size: clamp(0.5rem, 1rem + 4vw, 1rem);

}

#globalNavi > ul > li > span{
	color: #000;
  text-decoration: none;
  outline: none;
	font-size: clamp(0.5rem, 1rem + 4vw, 1rem);
  font-weight: var(--font-bold);
  line-height: 1.5;
	cursor: pointer;
}

#globalNavi > ul > li > .navi_pulldown{
	position: absolute;
	width: 100%;
	background-color: #F7F7F7;
	left: 0;
	padding-block-end: 4rem;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
	z-index: -1;
    top: 0;
    padding-block-start: 6.75rem;
}

#globalNavi > ul > li:hover > .navi_pulldown{
	opacity: 1;
	visibility: visible;
	-webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
}

#globalNavi > ul > li > .navi_pulldown ul{
	max-width: 65rem;
	margin-inline: auto;
}

#globalNavi > ul > li > .navi_pulldown ul li{
	width: calc(100% / 3 - 5rem);
	text-align: left;
	margin-block-start: 2.5rem;
  margin-inline-end: 0;
}

#globalNavi > ul > li > .navi_pulldown ul li:not(:nth-child(1)):not(:nth-child(4)):not(:nth-child(7)) {
  /* 1,3,6以外のliに適用するスタイル */
  margin-left: 7.5rem;
}


#globalNavi > ul > li > .navi_pulldown ul li:nth-of-type(3n){margin-inline-end: 0;}

#globalNavi > ul > li > .navi_pulldown ul li a{
	font-size: 1rem;
	display: block;
	padding-block-end: 0.75rem;
	position: relative;
	border-bottom: 0.125rem solid #DBDBDB;
}

#globalNavi > ul > li > .navi_pulldown ul li a::before{
	position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 0.125rem;
  background: var(--main-color);
  bottom: -0.0625rem;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.3s;
}

#globalNavi > ul > li > .navi_pulldown ul li a:hover::before{
	transform: scale(1, 1);
    transform-origin: left top;
}

#globalNavi > ul > li > .navi_pulldown ul li a > svg{
	position: absolute;
	top: 0.25rem;
	right: 0;
}
#globalNavi > ul > li > .navi_pulldown ul li a:hover,
#globalNavi > ul > li > a:hover,
#globalNavi > ul > li > span:hover{color: var(--main-color);}

.h_target_menu_smp,
.h_access_menu_smp{display: none;}

.h_language{height: 2.3125rem;}


.h_language .translation{}

.h_language .translation,.h_language .gtranslate_wrapper{
	position: relative;
	background-color: #000;
	top: 0;
	right: 0;
	height: 100%;
	border: none;
}

.h_language .gtranslate_wrapper select{
	color: #fff;
	font-size: 0.875rem;
	font-weight: var(--font-bold);
	display: flex;
	align-items: center;
	height: 100%;
	background-color: #000;
	text-align: center;
}

/**************************************************
 footer
**************************************************/
footer{
	background-color: var(--main-color);
	padding-block: 2.5rem;
	position: relative;
}

.fot_st2{
	background-color: transparent;
	padding: 10.4vw 0 1.04vw;
}

.footerInner{
	max-width: 65rem;
	margin-inline: auto;
}

.fot_cont{justify-content: flex-start;align-items: flex-start;}

.fot_logo p{
	color: #fff;
	padding-block-start: 1rem;
  font-size: 1rem;
}

.fot_cont ul{width: 25%;margin-inline-start: 3rem;}

.fot_cont ul li{
	width: 2.5rem;
}

.fot_cont ul li a{display: block;}

.fot_cont ul li:last-of-type{width: 100%;margin-block-start: 1rem;}

.fot_cont ul li:last-of-type a{
	color: #fff;
	font-size: 0.875rem;
	display: flex;
	align-items: center;
}

.fot_cont ul li:last-of-type a img{padding-inline-end: 0.5rem;}

.banner_list{
	width: 21%;
	margin-inline-start: 2.5rem;
}

.fot_navi{
	margin-block-start: 2.5rem;
	width: 70%;
}

.fot_navi ul{padding: 0;justify-content: flex-start;}

.fot_navi ul li{
	margin-inline-end: 2.5rem;
}

.fot_navi ul li a{
	font-size: 0.875rem;
	font-weight: normal;
	color: #fff;
}

.fot_navi ul li a:hover{color: #2C3F40;}

.fot_navi ul li:nth-of-type(7),.fot_navi ul li:last-of-type{margin-block-start: 1rem;}

.copyRight{
	font-size: 0.75rem;
	color: #fff;
	position: absolute;
	right: 6.75rem;
	bottom: 2.5rem;
}


/**************************************************
 responsive
**************************************************/
@media screen and (max-width: 767px){
	/* html{
		font-size: 62.5%;
		font-size: 10px;
	} */

	h1.h1_logo{z-index: 1000;}

/**************************************************
 common
**************************************************/
	p,ol,table,ol,dl{
		/* padding: 1.6rem 0 0 0; */
		font-size: 1rem;
		font-weight: normal;
	}

  .main.main--anime-v3 {
  padding-top: 4.6875rem;
  }

	
	.pc{display: none;}
	.smp{display: block;}

	.mainInner,
	.infoInner,
	.contentInner{width: 100%;}

	.contentInner{padding-inline: 1rem;}

	h1.h1_logo{width: 9.375rem;z-index: 9999; margin-top: 6.25rem;}

	
	.re{flex-direction: column-reverse;}

/******header************/

  header{
		height: 4.6875rem;
		padding-inline: 0.5rem;
		padding-block: 1rem;
		align-content: center;
	}

  .h_right{align-items: center;justify-content: flex-end;width: 100%;}

	.h_right > ul{display: none;}

	.h_target_menu{display: none;}

  .h_language span{
	position: relative;
	background-color: #000;
	font-size: 0.875rem;
	font-weight: var(--font-bold);
	line-height: 1.5;
	padding-block: 0.5rem;
	color: #fff;
	width: 6.875rem;
	display: block;
	padding-inline-start: 1rem;
	display: none;
}

.h_language span::before{
	content: '';
	width: 0.5rem;
	height: 0.3125rem;
	/* background: url(../img/common/navi_arrow.svg)no-repeat center center; */
  background: url(../2024add/img/common/navi_arrow.svg) no-repeat center center;
	background-size: 100%;
	position: absolute;
	top: 50%;
	transform: translate(0,-50%);
	right: 1rem;
}

  #globalNavi{
		width: 100%;
		margin-block-start: 0rem;
		/* display: none; */
		width: 100%;
        height: 100vh;
        position: absolute;
        top: 0;
        left: 0;
		background-color: #fff;
		padding-inline: 1rem;
		padding-block-start: 6.25rem;
		padding-block-end: 7.5rem;
		opacity: 0;
		visibility: hidden;
		transition: .4s;
		overflow-y: scroll;
	}

  	#globalNavi.active{
		opacity: 1;
		visibility: visible;
	}

	#globalNavi > ul{
		justify-content: space-between;
		margin-block-start: 1.5rem;
	}

  #globalNavi > ul > li{
		margin-inline-end: 0rem;
		width: 100%;
		margin-block-start: 1.5rem;
	}

  #globalNavi > ul > li:first-of-type{margin-block-start: 0;}

	#globalNavi > ul > li a,
	#globalNavi > ul > li span{
		font-size: 1rem;
		padding-block-end: 1rem;
		border-bottom: 0.1rem solid #019AA0;
		display: block;
	}

  #globalNavi > ul > li span{position: relative;}

	#globalNavi > ul > li span::before{
		content: '';
		width: 1.5rem;
		height: 1.5rem;
		background:url(../2024add/img/common/arrow/navi_arrow.svg)no-repeat center center;
		background-size: 100%;
		position: absolute;
		top: 0.125rem;
		right: 0;
		transition: 0.3s;
	}

  	#globalNavi > ul > li span.show::before{
		transform: rotate(180deg);
	}


	#globalNavi > ul > li > .navi_pulldown{
		position: relative;
		width: 100%;
		background-color: #ffffff;
		padding-block-end: 2.5rem;
		opacity: 1;
		visibility: visible;
		transition: auto;
		z-index: 1;
		top: 0;
		padding-block-start: 0rem;
		display: none;
	}

  #globalNavi > ul > li:hover > .navi_pulldown{
		opacity: 1;
		visibility: visible;
		-webkit-transition: all 0.3s linear;
		transition: auto;
	}
	
	#globalNavi > ul > li > .navi_pulldown ul{justify-content: space-between;align-items: flex-end;}
	
	#globalNavi > ul > li > .navi_pulldown ul li{
		width: 47%;
		margin-block-start: 1.5rem;
		margin-inline-end: 0rem;
	}


  	#globalNavi > ul > li > .navi_pulldown ul li:nth-of-type(3n){margin-inline-end: 0;}
	
	#globalNavi > ul > li > .navi_pulldown ul li a{
		font-size: 0.875rem;
		padding-block-end: 0.5rem;
		border-bottom: 0.0625rem solid #DBDBDB;
	}

	
	#globalNavi > ul > li > .navi_pulldown ul li a::before{content: none;}
	
	#globalNavi > ul > li > .navi_pulldown ul li a > svg{
		top: 50%;
		transform: translate(0,-50%);
		right: 0;
	}

  #globalNavi > ul > li > .navi_pulldown ul li:not(:nth-child(1)):not(:nth-child(4)):not(:nth-child(7)) {
  /* 1,3,6以外のliに適用するスタイル */
  margin-left: 0;
}


	#globalNavi > ul > li a:hover{color: #000;}

	.h_target_menu_smp{
		display: block;
	}

	.h_target_menu_smp span{
		position: relative;
		background-color: var(--main-color);
		font-size: 0.875rem;
		font-weight: var(--font-bold);
		line-height: 1.5;
		padding-block: 0.75rem;
		color: #fff;
		width: 8.75rem;
		display: block;
		padding-inline-start: 3.25rem;
		cursor: pointer;
		transition: .3s;
		width: 100%;
	}

  	.h_target_menu_smp span::before{
		content: '';
		width: 1.25rem;
		height: 1.25rem;
		background: url(../2024add/img/common/navi_target.svg) no-repeat center center;
		background-size: 100%;
		position: absolute;
		top: 50%;
		transform: translate(0,-50%);
		left: 1rem;
	}


  	.h_target_menu_smp span::after{
		content: '';
		width: 0.5rem;
		height: 0.3125rem;
		background: url(../2024add/img/common/navi_arrow.svg)no-repeat center center;
		background-size: 100%;
		position: absolute;
		top: 50%;
		transform: translate(0,-50%);
		right: 1rem;
	}

	.h_target_menu_smp .ta_menu_smp_list{display: none;}

  	.h_target_menu_smp .h_ta_list{
		position: relative;
		width: 100%;
		display: flex;
		justify-content: space-between;
		background-color: #E5F4F5;
		flex-wrap: wrap;
		padding-inline: 1rem;
		padding-block: 1rem;
	}
	
	.h_target_menu_smp .h_ta_list li{
		margin-block-start: 0rem;
		width: 45%;
  }

  	.h_target_menu_smp .h_ta_list li:first-of-type,
	.h_target_menu_smp .h_ta_list li:nth-of-type(2){margin-block-start: 0;}
	
	.h_target_menu_smp .h_ta_list li a{
		font-size: 1rem;
		color: #000;
		background-color: transparent;
		padding-inline: 0rem;
		padding-block: 0 0.5rem;
		display: block;
		border-bottom: 0.0625rem solid #117176;
	}


  	.h_access_menu_smp{display: block;}

	.h_access_menu_smp ul{padding: 0;}

	.h_access_menu_smp ul li{
		margin-block-start: 0rem;
		width: 45%;
		margin-block-start: 1.5rem;
	}

  	.h_access_menu_smp ul li a{
		font-size: 1rem;
		padding-block-end: 0.5rem;
		border-bottom: 1px solid #DBDBDB;
		display: block;
	}

	.h_language.smp{
		display: block;
		margin-block-start: 1.5rem;
	}

  	.h_language .translation,.h_language .gtranslate_wrapper{
		bottom: auto;
		text-align: left;
		padding: 0;
		width: 7.5rem;
		z-index: 800;
	}

.h_language .gtranslate_wrapper select{
	width: 7.5rem;
	-webkit-appearance: none;
    border-radius: 0;
}

/******menu************/

	#menu{
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 1rem;
		right: 1rem;
		width: 2.75rem;
		height: 2.75rem;
		border-radius: 50%;
		border: 0.0625rem solid var(--main-color);
		text-align: center;
		z-index: 9998;
		background-color: #fff;
		transition: .3s;
		opacity: 1;
		visibility: visible;
		cursor: pointer;
		pointer-events: auto;
	}

  #menu.active{background-color: var(--main-color);}

	#menu.close{
		opacity: 0;
		visibility: hidden;
		transition: .4s ease-in-out;
		pointer-events: none;
	}

	.menu-btn,
	.menu-btn span {
		display: inline-block;
		transition: all .8s;
		box-sizing: border-box;
	}

	.menu-btn {
		position: relative;
		width: 1.25rem;
		height: 1.0625rem;
		background: none;
		border: none;
		appearance: none;
		cursor: pointer;
	}

  .menu-btn span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 0.125rem;
		background-color: var(--main-color);
		border-radius: 4px;
		transition: .3s;
	}

	#menu.active .menu-btn span{background-color: #fff;}

	.menu-btn span:nth-of-type(1) {top: 0;}
	.menu-btn span:nth-of-type(2) {top: 7px;}
	.menu-btn span:nth-of-type(3) {bottom: 1px;}

	.menu-btn.active span:nth-of-type(1) {transform: translateY(7px) rotate(-45deg);}
	.menu-btn.active span:nth-of-type(2) {opacity: 0;}
	.menu-btn.active span:nth-of-type(3) {transform: translateY(-7px) rotate(45deg);}

/******footer************/

	footer{
		padding-block: 2.5rem 5rem;
	}

	.fot_cont{justify-content: center;align-items: flex-start;}

	.fot_logo{text-align: center;}

	.fot_logo p{padding-block-start: 0.5rem;}

	.fot_cont ul{width: 72%;margin-inline-start: 0rem;margin-block-start: 1.5rem;}

	.fot_cont ul li{width: 2.5rem;}

	.fot_cont ul li:last-of-type{width: 100%;margin-block-start: 1rem;}

	.fot_cont ul li:last-of-type a{
		color: #fff;
		font-size: 0.875rem;
	}

	.banner_list{
		width: 70%;
		margin-inline-start: 0rem;
		margin-block-start: 1.5rem;
	}

	.fot_navi{
		margin-block-start: 3.5rem;
		width: calc(100% - 2rem);
		margin-inline: auto;
	}

	.fot_navi ul{padding: 0;}

	.fot_navi ul li{
		width: 50%;
		margin-inline-end: 0;
		margin-block-start: 1.5rem;
	}

	.fot_navi ul li:first-of-type,
	.fot_navi ul li:nth-of-type(2){margin-block-start: 0;}


	.fot_navi ul li:nth-of-type(7),.fot_navi ul li:last-of-type{margin-block-start: 1rem;width: 100%;}

	.copyRight{
		font-size: 0.75rem;
		position: relative;
		right: auto;
		bottom: auto;
		text-align: center;
		padding-block-start: 2.5rem;
	}
}


/* 教員紹介スライド */
@keyframes slide-left-teacher {
    0% {
        transform: translateX(0);
    }
    100% {
        /* 左に50%移動させる */
        transform: translateX(-50%);
    }
}

    @keyframes slide-right-teacher {
    0% {
        transform: translateX(-50%);
    }
    100% {
        /* 左に50%移動させる */
        transform: translateX(0%);
    }
}

.p-teacher-wrapper {
    width: 100%;
    overflow: hidden;
    margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .p-teacher-wrapper  {
    margin-top: 40px;
  }
}

.p-teacher-wrapper__inner {
    width: 100%;
    height: 240px; /*スマホ版は320px*/
    overflow: hidden;
}

.p-teacher-wrapper__inner--top {
    width: 4288px;
    display: flex;
    animation: slide-left-teacher 60s linear infinite;
}

.p-teacher-wrapper__inner--bottom {
    width: 4904px;
    display: flex;
    transform: translateX(-50%);
    animation: slide-right-teacher 60s linear infinite;
    margin-top: 16px;
}

.p-teacher-wrapper__inner--top img + img {
    margin-left: 16px;
}

.p-teacher-wrapper__inner--bottom img:nth-of-type(1) {
    margin-right: 16px;
}






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